21834219 update cmake to 3.3.2
authorApril Chin <april.chin@oracle.com>
Wed, 11 Nov 2015 12:06:59 -0800
changeset 5081 198d4a3e4b73
parent 5080 5593e91823f7
child 5082 6af6ba7e1697
21834219 update cmake to 3.3.2 22121918 enable system-test target for cmake
components/cmake/Makefile
components/cmake/cmake.license
components/cmake/cmake.p5m
components/cmake/files/man1/ccmake.1
components/cmake/files/man1/cmake-gui.1
components/cmake/files/man1/cmake.1
components/cmake/files/man1/cpack.1
components/cmake/files/man1/ctest.1
components/cmake/files/man7/cmake-buildsystem.7
components/cmake/files/man7/cmake-commands.7
components/cmake/files/man7/cmake-compile-features.7
components/cmake/files/man7/cmake-developer.7
components/cmake/files/man7/cmake-generator-expressions.7
components/cmake/files/man7/cmake-generators.7
components/cmake/files/man7/cmake-language.7
components/cmake/files/man7/cmake-modules.7
components/cmake/files/man7/cmake-packages.7
components/cmake/files/man7/cmake-policies.7
components/cmake/files/man7/cmake-properties.7
components/cmake/files/man7/cmake-qt.7
components/cmake/files/man7/cmake-toolchains.7
components/cmake/files/man7/cmake-variables.7
components/cmake/patches/01-usr-local.patch
components/cmake/patches/02-sunos-cmake.patch
components/cmake/patches/cmake-2.8.6.patch
components/cmake/test/results-64.master
components/gd2/test/results-all.master
--- a/components/cmake/Makefile	Wed Nov 11 12:48:27 2015 -0700
+++ b/components/cmake/Makefile	Wed Nov 11 12:06:59 2015 -0800
@@ -25,21 +25,29 @@
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		cmake
-COMPONENT_VERSION=	2.8.6
+COMPONENT_VERSION=	3.3.2
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:e6999b81ac367d85ffb0f69b6c4a0ef96f95dc154efd3592f9cfebacdf75728e
-COMPONENT_ARCHIVE_URL=	http://www.cmake.org/files/v2.8/$(COMPONENT_ARCHIVE)
+    sha256:e75a178d6ebf182b048ebfe6e0657c49f0dc109779170bad7ffcb17463f2fc22
+COMPONENT_ARCHIVE_URL=	http://www.cmake.org/files/v3.3/$(COMPONENT_ARCHIVE)
 COMPONENT_PROJECT_URL=  http://www.cmake.org/
 COMPONENT_BUGDB=	utility/cmake
 
-TPNO=			6581
+TPNO=			25030
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
 include $(WS_MAKE_RULES)/ips.mk
 
+# Remove undesriable /opt/csw lines from the Modules/*.cmake files.
+COMPONENT_PREP_ACTION += \
+	cd $(COMPONENT_SRC)/Modules; $(GNU_GREP) -l '/opt/csw' *.cmake | /usr/bin/xargs -I \{\} $(GSED) -i -e '/^[ ]*\/opt\/csw/d' \{\}
+# Currently only builds with gcc, and since it's C++, we'll just force it to
+# build as C++11 for ABI compatibility.
+COMPILER=gcc
+CXXFLAGS += -std=c++11
+
 # Need to remove this option from LD_OPTIONS (only affects sparc build);
 # it causes a SegFault failure in kwsys/testSystemInformation
 # when testing on sparc
@@ -56,13 +64,20 @@
 CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
 CONFIGURE_ENV +=	CXXFLAGS="$(CXXFLAGS)"
 
+# configure in cmake does not accept many of the options set in
+# configure.mk (CC=, CXX=, --bindir, --libdir, --sbindir). Clear those
+# out and just include the default options it does accept.
+CONFIGURE_OPTIONS =
+CONFIGURE_OPTIONS +=	--prefix=$(CONFIGURE_PREFIX)
+CONFIGURE_OPTIONS +=	--mandir=$(CONFIGURE_MANDIR)
+
 # Use system-installed third-party libraries, rather than the private
-# copies in the cmake source.  Only libarchive will come from the cmake
-# source, since it is not currently part of Solaris.
+# copies in the cmake source.
 CONFIGURE_OPTIONS +=	--system-curl
 CONFIGURE_OPTIONS +=	--system-expat
 CONFIGURE_OPTIONS +=	--system-zlib
 CONFIGURE_OPTIONS +=	--system-bzip2
+CONFIGURE_OPTIONS +=	--system-libarchive
 
 COMPONENT_BUILD_ENV +=	CC="$(CC)"	
 COMPONENT_BUILD_ENV +=	CXX="$(CXX)"	
@@ -84,6 +99,26 @@
 	'-e "s/\s\s*[0-9][0-9]*\.[0-9][0-9]* sec/ SEC sec/"' \
 	'-e "s/\][0-9][0-9]*\.[0-9][0-9]* sec/\]SEC sec/"'
 
+COMPONENT_SYSTEM_TEST_ENV +=	CC="$(CC)"
+COMPONENT_SYSTEM_TEST_ENV +=	CXX="$(CXX)"
+
+COMPONENT_SYSTEM_TEST_TARGETS =	test
+
+# Built binaries are moved aside and replaced with
+# symlinks to the system-installed binaries in /usr/bin,
+# which will be executed for the system-test target
+COMPONENT_PRE_SYSTEM_TEST_ACTION += \
+	$(MV) $(BUILD_DIR_64)/bin $(BUILD_DIR_64)/bin-save; \
+	$(MKDIR) $(BUILD_DIR_64)/bin; cd $(BUILD_DIR_64)/bin; \
+	$(LN) -s /usr/bin/cmake; $(LN) -s /usr/bin/ctest; \
+	$(LN) -s /usr/bin/ccmake; $(LN) -s /usr/bin/cpack
+
+# Restore the built binaries after system-test is done
+COMPONENT_POST_SYSTEM_TEST_ACTION += \
+	$(RM) -r $(BUILD_DIR_64)/bin; \
+	$(MV) $(BUILD_DIR_64)/bin-save $(BUILD_DIR_64)/bin
+
+
 # common targets
 
 configure:	$(CONFIGURE_64)
@@ -95,12 +130,16 @@
 # expected failure: CTestTestUpload
 test:		$(TEST_64)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(BUILD_64) $(SYSTEM_TEST_64)
 
 REQUIRED_PACKAGES += compress/bzip2
+REQUIRED_PACKAGES += compress/xz
 REQUIRED_PACKAGES += library/expat
+REQUIRED_PACKAGES += library/libarchive
+REQUIRED_PACKAGES += library/ncurses
 REQUIRED_PACKAGES += library/zlib
 REQUIRED_PACKAGES += system/library
-REQUIRED_PACKAGES += system/library/c++-runtime
+REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
+REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
 REQUIRED_PACKAGES += system/library/math
 REQUIRED_PACKAGES += web/curl
--- a/components/cmake/cmake.license	Wed Nov 11 12:48:27 2015 -0700
+++ b/components/cmake/cmake.license	Wed Nov 11 12:06:59 2015 -0800
@@ -1,160 +1,151 @@
 ========================================================================
 CMAKE BSD LICENSE:
 ========================================================================
-CMake - Cross Platform Makefile Generator 
-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: 
+CMake - Cross Platform Makefile Generator
+Copyright 2000-2015 Kitware, Inc.
+Copyright 2000-2011 Insight Software Consortium
+All rights reserved.
 
-* 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. 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
 
-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. 
+* 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.
 
-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. 
+* 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.
 
------------------------------------------------------------------------------- 
-
-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. 
+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.
 
- * 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. 
-
-ADDITIONAL COPYRIGHT NOTICES PRESENT IN SOURCE FILES:
-
-COPYRIGHT AND PERMISSION NOTICE 
+------------------------------------------------------------------------------
 
-Copyright (c) 1996 - 2009, Daniel Stenberg, <[email protected]>. 
-
-All rights reserved. 
+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.
 
-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. 
+------------------------------------------------------------------------------
+
+CMake was initially developed by Kitware with the following sponsorship:
 
-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. 
+ * 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.
 
-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. 
+ * 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.
 
 ========================================================================
-Copyright (c) 2003 Peter Stuge <[email protected]>
+
+COPYRIGHT AND PERMISSION NOTICE
 
-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. 
+Copyright (c) 1996 - 2014, Daniel Stenberg, <[email protected]>.
+Copyright (C) 2012 - 2014, Linus Nielsen Feltzing, <[email protected]>
+Copyright (C) 2010, DirecTV, Contact: Eric Hu, <[email protected]>.
+Copyright (C) 2012 - 2014, Nick Zitzmann, <[email protected]>.
+Copyright (C) 2012 - 2014, Marc Hoersken, <[email protected]>
+Copyright (C) 2012, Mark Salisbury, <[email protected]>
+Copyright (C) 2010, 2011, Hoi-Ho Chan, <[email protected]>
+
+All rights reserved.
 
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 
+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.
 
 
 ========================================================================
 
-Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd 
-                               and Clark Cooper 
- 
-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: 
+Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
+                               and Clark Cooper
+
+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 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. 
+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 CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT. 
-You may freely copy it for use as a template for your own field types. 
-If you develop a field type that might be of general use, please send 
-it back to the ncurses maintainers for inclusion in the next version. 
-======================================================================== 
-Copyright (c) 1998 Free Software Foundation, Inc. 
+========================================================================
+THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT.
+You may freely copy it for use as a template for your own field types.
+If you develop a field type that might be of general use, please send
+it back to the ncurses maintainers for inclusion in the next version.
+========================================================================
+Copyright (c) 1998 Free Software Foundation, Inc.
 
-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, distribute with modifications, 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: 
+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, distribute with modifications, 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 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 ABOVE 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. 
+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 ABOVE 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(s) of the above copyright 
-holders shall not be used in advertising or otherwise to promote the 
-sale, use or other dealings in this Software without prior written 
-authorization. 
-======================================================================== 
+Except as contained in this notice, the name(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization.
+========================================================================
   James Bigler, NVIDIA Corp (nvidia.com - jbigler)
   Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html
 
@@ -163,308 +154,358 @@
   Copyright (c) 2007-2009
   Scientific Computing and Imaging Institute, University of Utah
 
-The MIT 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: 
+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 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. 
+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.
 
-======================================================================== 
-Copyright (C) 1991 Texas Instruments Incorporated. 
+========================================================================
+Copyright (C) 1991 Texas Instruments Incorporated.
 
-Permission is granted to any individual or institution to use, copy, modify 
-and distribute this software, provided that this complete copyright and 
-permission notice is maintained, intact, in all copies and supporting 
-documentation. 
+Permission is granted to any individual or institution to use, copy, modify
+and distribute this software, provided that this complete copyright and
+permission notice is maintained, intact, in all copies and supporting
+documentation.
 
-Texas Instruments Incorporated provides this software "as is" without 
-express or implied warranty. 
-======================================================================== 
-Copyright (c) 1986 by University of Toronto. 
-Written by Henry Spencer.  Not derived from licensed software. 
+Texas Instruments Incorporated provides this software "as is" without
+express or implied warranty.
+========================================================================
+Copyright (c) 1986 by University of Toronto.
+Written by Henry Spencer.  Not derived from licensed software.
 
-Permission is granted to anyone to use this software for any 
-purpose on any computer system, and to redistribute it freely, 
-subject to the following restrictions: 
+Permission is granted to anyone to use this software for any
+purpose on any computer system, and to redistribute it freely,
+subject to the following restrictions:
 
-1. The author is not responsible for the consequences of use of 
-        this software, no matter how awful, even if they arise 
-        from defects in it. 
+1. The author is not responsible for the consequences of use of
+        this software, no matter how awful, even if they arise
+        from defects in it.
 
-2. The origin of this software must not be misrepresented, either 
-        by explicit claim or by omission. 
+2. The origin of this software must not be misrepresented, either
+        by explicit claim or by omission.
 
-3. Altered versions must be plainly marked as such, and must not 
-        be misrepresented as being the original software. 
+3. Altered versions must be plainly marked as such, and must not
+        be misrepresented as being the original software.
 
-======================================================================== 
-Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 
-All rights reserved. 
-Contact: Nokia Corporation ([email protected]) 
+========================================================================
+Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+All rights reserved.
+Contact: Nokia Corporation ([email protected])
 
-You may use this file under the terms of the BSD license as follows: 
+You may use this file under the terms of the BSD license as follows:
 
-"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 Nokia Corporation and its Subsidiary(-ies) nor 
-    the names of its contributors may be used to endorse or promote 
-    products derived from this software without specific prior written 
-    permission. 
+"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 Nokia Corporation and its Subsidiary(-ies) nor
+    the names of its 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 
-OWNER 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." 
-======================================================================== 
-Please read and be aware of the following: 
-WARNING: 
+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
+OWNER 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."
+========================================================================
+Please read and be aware of the following:
+WARNING:
 
-   This program and library (attempts to) compress data by 
-   performing several non-trivial transformations on it. 
-   Unless you are 100% familiar with *all* the algorithms 
-   contained herein, and with the consequences of modifying them, 
-   you should NOT meddle with the compression or decompression 
-   machinery.  Incorrect changes can and very likely *will* 
-   lead to disastrous loss of data. 
+   This program and library (attempts to) compress data by
+   performing several non-trivial transformations on it.
+   Unless you are 100% familiar with *all* the algorithms
+   contained herein, and with the consequences of modifying them,
+   you should NOT meddle with the compression or decompression
+   machinery.  Incorrect changes can and very likely *will*
+   lead to disastrous loss of data.
 
-DISCLAIMER: 
+DISCLAIMER:
 
-   I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE 
-   USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED. 
+   I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
+   USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.
 
-   Every compression of a file implies an assumption that the 
-   compressed file can be decompressed to reproduce the original. 
-   Great efforts in design, coding and testing have been made to 
-   ensure that this program works correctly.  However, the complexity 
-   of the algorithms, and, in particular, the presence of various 
-   special cases in the code which occur with very low but non-zero 
-   probability make it impossible to rule out the possibility of bugs 
-   remaining in the program.  DO NOT COMPRESS ANY DATA WITH THIS 
-   PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER 
-   SMALL, THAT THE DATA WILL NOT BE RECOVERABLE. 
+   Every compression of a file implies an assumption that the
+   compressed file can be decompressed to reproduce the original.
+   Great efforts in design, coding and testing have been made to
+   ensure that this program works correctly.  However, the complexity
+   of the algorithms, and, in particular, the presence of various
+   special cases in the code which occur with very low but non-zero
+   probability make it impossible to rule out the possibility of bugs
+   remaining in the program.  DO NOT COMPRESS ANY DATA WITH THIS
+   PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
+   SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
 
-   That is not to say this program is inherently unreliable. 
-   Indeed, I very much hope the opposite is true.  bzip2/libbzip2 
-   has been carefully constructed and extensively tested. 
+   That is not to say this program is inherently unreliable.
+   Indeed, I very much hope the opposite is true.  bzip2/libbzip2
+   has been carefully constructed and extensively tested.
 
 
-PATENTS: 
+PATENTS:
 
-   To the best of my knowledge, bzip2/libbzip2 does not use any 
-   patented algorithms.  However, I do not have the resources 
-   to carry out a patent search.  Therefore I cannot give any 
-   guarantee of the above statement. 
+   To the best of my knowledge, bzip2/libbzip2 does not use any
+   patented algorithms.  However, I do not have the resources
+   to carry out a patent search.  Therefore I cannot give any
+   guarantee of the above statement.
 
-Julian Seward 
[email protected] 
-Cambridge, UK. 
+Julian Seward
[email protected]
+Cambridge, UK.
 
-This program, "bzip2", the associated library "libbzip2", and all 
-documentation, are copyright (C) 1996-2007 Julian R Seward.  All 
-rights reserved. 
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions 
-are met: 
+This program, "bzip2", the associated library "libbzip2", and all
+documentation, are copyright (C) 1996-2007 Julian R Seward.  All
+rights reserved.
 
-1. Redistributions of source code must retain the above copyright 
-   notice, this list of conditions and the following disclaimer. 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
 
-2. The origin of this software must not be misrepresented; you must 
-   not claim that you wrote the original software.  If you use this 
-   software in a product, an acknowledgment in the product 
-   documentation would be appreciated but is not required. 
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
 
-3. Altered source versions must be plainly marked as such, and must 
-   not be misrepresented as being the original software. 
+2. The origin of this software must not be misrepresented; you must
+   not claim that you wrote the original software.  If you use this
+   software in a product, an acknowledgment in the product
+   documentation would be appreciated but is not required.
 
-4. The name of the author may not be used to endorse or promote 
-   products derived from this software without specific prior written 
-   permission. 
+3. Altered source versions must be plainly marked as such, and must
+   not be misrepresented as being the original software.
+
+4. The name of the author may not be used to endorse or promote
+   products derived from this software without specific prior written
+   permission.
 
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. 
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
 
-Julian Seward, [email protected] 
-bzip2/libbzip2 version 1.0.5 of 10 December 2007 
+Julian Seward, [email protected]
+bzip2/libbzip2 version 1.0.5 of 10 December 2007
 
-======================================================================== 
-     Portions (C) International Organization for Standardization 1986 
-     Permission to copy in any form is granted for use with 
-     conforming SGML systems and applications as defined in 
-     ISO 8879, provided this notice is included in all copies. 
-
-======================================================================== 
+========================================================================
 Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.
 Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
 
-This software is provided 'as-is', without any express or implied 
-warranty.  In no event will the authors be held liable for any damages 
-arising from the use of this software. 
+This software is provided 'as-is', without any express or implied
+warranty.  In no event will the authors be held liable for any damages
+arising from the use of this software.
 
-Permission is granted to anyone to use this software for any purpose, 
-including commercial applications, and to alter it and redistribute it 
-freely, subject to the following restrictions: 
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
 
-1. The origin of this software must not be misrepresented; you must not 
-   claim that you wrote the original software. If you use this software 
-   in a product, an acknowledgment in the product documentation would be 
-   appreciated but is not required. 
-2. Altered source versions must be plainly marked as such, and must not be 
-   misrepresented as being the original software. 
-3. This notice may not be removed or altered from any source distribution. 
+1. The origin of this software must not be misrepresented; you must not
+   claim that you wrote the original software. If you use this software
+   in a product, an acknowledgment in the product documentation would be
+   appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
 
 
-======================================================================== 
-
-Copyright (c) 2003-2008 Tim Kientzle
-Copyright (c) 2009 Joerg  Sonnenberger
-Copyright (c) 2009 Michihiro NAKAJIMA
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions 
-are met: 
-
-1. Redistributions of source code must retain the above copyright 
-   notice, this list of conditions and the following disclaimer. 
-2. 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. 
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. 
-======================================================================== 
-Copyright (c) 2003-2009 Tim Kientzle
-Copyright (c) 2009 Chris Roberts
-Copyright (c) 2009 Michihiro NAKAJIMA
-Copyright (c) 2007 Kai Wang
+========================================================================
+Copyright (c) 1985, 1986 The Regents of the University of California.
 All rights reserved.
 
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions 
-are met: 
-1. Redistributions of source code must retain the above copyright 
-   notice, this list of conditions and the following disclaimer 
-   in this position and unchanged. 
-2. 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. 
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``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 AUTHOR(S) 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. 
-
-======================================================================== 
-Copyright (c) 1989, 1990, 1993 
-    The Regents of the University of California.  All rights reserved. 
-
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions 
-are met: 
-1. Redistributions of source code must retain the above copyright 
-   notice, this list of conditions and the following disclaimer. 
-2. 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. 
-4. Neither the name of the University nor the names of its contributors 
-   may be used to endorse or promote products derived from this software 
-   without specific prior written permission. 
+This code is derived from software contributed to Berkeley by
+James A. Woods, derived from original work by Spencer Thomas
+and Joseph Orost.
 
-THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. 
-
-======================================================================== 
-Copyright (c) 1990, 1993 
-The Regents of the University of California.  All rights reserved. 
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. All advertising materials mentioning features or use of this software
+   must display the following acknowledgement:
+     This product includes software developed by the University of
+     California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
 
-Redistribution and use in source and binary forms, with or without 
-modification, are permitted provided that the following conditions 
-are met: 
-1. Redistributions of source code must retain the above copyright 
-   notice, this list of conditions and the following disclaimer. 
-2. 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. 
-3. All advertising materials mentioning features or use of this software 
-   must display the following acknowledgement: 
-This product includes software developed by the University of 
-California, Berkeley and its contributors. 
-4. Neither the name of the University nor the names of its contributors 
-   may be used to endorse or promote products derived from this software 
-   without specific prior written permission. 
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 
-ABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
+THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 JsonCpp library's source code, including accompanying documentation,
+tests and demonstration applications, are licensed under the following
+conditions...
+
+The author (Baptiste Lepilleur) explicitly disclaims copyright in all
+jurisdictions which recognize such a disclaimer. In such jurisdictions,
+this software is released into the Public Domain.
+
+In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
+2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
+released under the terms of the MIT License (see below).
+
+In jurisdictions which recognize Public Domain property, the user of this
+software may choose to accept it either as 1) Public Domain, 2) under the
+conditions of the MIT License (see below), or 3) under the terms of dual
+Public Domain/MIT License conditions described here, as they choose.
+
+The MIT License is about as close to Public Domain as a license can get, and is
+described in clear, concise terms at:
+
+   http://en.wikipedia.org/wiki/MIT_License
+
+The full text of the MIT License follows:
+
+========================================================================
+Copyright (c) 2007-2010 Baptiste Lepilleur
+
+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.
+========================================================================
+(END LICENSE TEXT)
+
+The MIT license is compatible with both the GPL and commercial
+software, affording one all of the rights of Public Domain with the
+minor nuisance of being required to keep the above copyright notice
+and license text in the source code. Note also that by accepting the
+Public Domain "license" you can re-license your copy using whatever
+license you like.
+
+========================================================================
+Copyright (c) 2000-2003, Aaron D. Gifford
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name of the copyright holder 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 AUTHOR AND CONTRIBUTOR(S) ``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 AUTHOR OR CONTRIBUTOR(S) 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.
+
+========================================================================
+Copyright (c) 1995, 1996, 1997, 1998, 1999, 2013 Kungliga Tekniska Högskolan
+(Royal Institute of Technology, Stockholm, Sweden).
+Copyright (c) 2001 - 2013 Daniel Stenberg
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. 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.
+
+3. Neither the name of the Institute nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE INSTITUTE 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 INSTITUTE 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.
+
+========================================================================
+Copyright (C) 1996-2001  Internet Software Consortium.
+
+
+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" AND INTERNET SOFTWARE CONSORTIUM
+DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
+INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
+FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
--- a/components/cmake/cmake.p5m	Wed Nov 11 12:48:27 2015 -0700
+++ b/components/cmake/cmake.p5m	Wed Nov 11 12:06:59 2015 -0800
@@ -23,11 +23,12 @@
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
 
-# Get manpages from usr/usr/share/man/man1 in proto area
-<transform file path=usr/share/man/man1/(.+$) -> set action.hash usr/usr/share/man/man1/%<1>>
-
-# Get usr/share/cmake-2.8/doc files from usr/doc/cmake-2.8 in proto area
-<transform file path=usr/share/cmake-2.8/doc/(.+$) -> set action.hash usr/doc/cmake-2.8/%<1>>
+# Get manpages from files/{man1,man7}.
+# As of cmake 3.x, sphinx is needed to build manpages.
+# Until sphinx gets added to Solaris, for now, manpages are generated
+# separately using configuration option --sphinx-man and are checked into
+# files/{man1,man7}/
+<transform file path=usr/share/man/man([17])/(.+$) -> set action.hash files/man%<1>/%<2>>
 set name=pkg.fmri \
     value=pkg:/developer/build/cmake@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="A cross-platform, open-source make system"
@@ -47,618 +48,1889 @@
 file path=usr/bin/cpack
 file path=usr/bin/ctest
 file path=usr/share/aclocal/cmake.m4
-file path=usr/share/cmake-2.8/Modules/AddFileDependencies.cmake
-file path=usr/share/cmake-2.8/Modules/AutomocInfo.cmake.in
-file path=usr/share/cmake-2.8/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
-file path=usr/share/cmake-2.8/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
-file path=usr/share/cmake-2.8/Modules/BundleUtilities.cmake
-file path=usr/share/cmake-2.8/Modules/CMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeASM-ATTInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeASMCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeASMInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeASM_MASMInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeASM_NASMInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeAddNewLanguage.txt
-file path=usr/share/cmake-2.8/Modules/CMakeBackwardCompatibilityC.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeBackwardCompatibilityCXX.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeBorlandFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeBuildSettings.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c
-file path=usr/share/cmake-2.8/Modules/CMakeCCompilerId.c.in
-file path=usr/share/cmake-2.8/Modules/CMakeCInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp
-file path=usr/share/cmake-2.8/Modules/CMakeCXXCompilerId.cpp.in
-file path=usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeCompilerABI.h
-file path=usr/share/cmake-2.8/Modules/CMakeConfigurableFile.in
-file path=usr/share/cmake-2.8/Modules/CMakeDependentOption.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineASM-ATTCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineASM_MASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineASM_NASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineFortranCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineJavaCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineRCCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeDetermineVSServicePack.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeExportBuildSettings.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindCodeBlocks.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindEclipseCDT4.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindFrameworks.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindKDevelop3.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindPackageMode.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindWMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFindXCode.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeForceCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeFortranCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeFortranCompilerABI.F
-file path=usr/share/cmake-2.8/Modules/CMakeFortranCompilerId.F.in
-file path=usr/share/cmake-2.8/Modules/CMakeFortranInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeImportBuildSettings.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeJOMFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeJavaCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeJavaInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeMSYSFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeMinGWFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeNMakeFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeParseArguments.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake
-file path=usr/share/cmake-2.8/Modules/CMakePlatformId.h.in
-file path=usr/share/cmake-2.8/Modules/CMakePrintSystemInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakePushCheckState.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeRCCompiler.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeRCInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in
-file path=usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestASM-ATTCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestASM_MASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestASM_NASMCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestForFreeVC.cxx
-file path=usr/share/cmake-2.8/Modules/CMakeTestFortranCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestGNU.c
-file path=usr/share/cmake-2.8/Modules/CMakeTestJavaCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestNMakeCLVersion.c
-file path=usr/share/cmake-2.8/Modules/CMakeTestRCCompiler.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeTestWatcomVersion.c
-file path=usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS10FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS11FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS6BackwardCompatibility.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS6FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS71FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS7BackwardCompatibility.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS7FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS8FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVS9FindMake.cmake
-file path=usr/share/cmake-2.8/Modules/CMakeVerifyManifest.cmake
-file path=usr/share/cmake-2.8/Modules/CPack.DS_Store.in
-file path=usr/share/cmake-2.8/Modules/CPack.Description.plist.in
-file path=usr/share/cmake-2.8/Modules/CPack.Info.plist.in
-file path=usr/share/cmake-2.8/Modules/CPack.OSXScriptLauncher.in
-file path=usr/share/cmake-2.8/Modules/CPack.OSXScriptLauncher.rsrc.in
-file path=usr/share/cmake-2.8/Modules/CPack.OSXX11.Info.plist.in
-file path=usr/share/cmake-2.8/Modules/CPack.OSXX11.main.scpt.in
-file path=usr/share/cmake-2.8/Modules/CPack.RuntimeScript.in
-file path=usr/share/cmake-2.8/Modules/CPack.STGZ_Header.sh.in
-file path=usr/share/cmake-2.8/Modules/CPack.VolumeIcon.icns.in
-file path=usr/share/cmake-2.8/Modules/CPack.background.png.in
-file path=usr/share/cmake-2.8/Modules/CPack.cmake
-file path=usr/share/cmake-2.8/Modules/CPack.distribution.dist.in
-file path=usr/share/cmake-2.8/Modules/CPackBundle.cmake
-file path=usr/share/cmake-2.8/Modules/CPackComponent.cmake
-file path=usr/share/cmake-2.8/Modules/CPackDeb.cmake
-file path=usr/share/cmake-2.8/Modules/CPackNSIS.cmake
-file path=usr/share/cmake-2.8/Modules/CPackRPM.cmake
-file path=usr/share/cmake-2.8/Modules/CPackZIP.cmake
-file path=usr/share/cmake-2.8/Modules/CTest.cmake
-file path=usr/share/cmake-2.8/Modules/CTestScriptMode.cmake
-file path=usr/share/cmake-2.8/Modules/CTestTargets.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCCompilerFlag.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCSourceCompiles.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCSourceRuns.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCXXCompilerFlag.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCXXSourceCompiles.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCXXSourceRuns.cmake
-file path=usr/share/cmake-2.8/Modules/CheckCXXSymbolExists.cmake
-file path=usr/share/cmake-2.8/Modules/CheckForPthreads.c
-file path=usr/share/cmake-2.8/Modules/CheckFortranFunctionExists.cmake
-file path=usr/share/cmake-2.8/Modules/CheckFunctionExists.c
-file path=usr/share/cmake-2.8/Modules/CheckFunctionExists.cmake
-file path=usr/share/cmake-2.8/Modules/CheckIncludeFile.c.in
-file path=usr/share/cmake-2.8/Modules/CheckIncludeFile.cmake
-file path=usr/share/cmake-2.8/Modules/CheckIncludeFile.cxx.in
-file path=usr/share/cmake-2.8/Modules/CheckIncludeFileCXX.cmake
-file path=usr/share/cmake-2.8/Modules/CheckIncludeFiles.cmake
-file path=usr/share/cmake-2.8/Modules/CheckLibraryExists.cmake
-file path=usr/share/cmake-2.8/Modules/CheckLibraryExists.lists.in
-file path=usr/share/cmake-2.8/Modules/CheckPrototypeDefinition.c.in
-file path=usr/share/cmake-2.8/Modules/CheckPrototypeDefinition.cmake
-file path=usr/share/cmake-2.8/Modules/CheckSizeOf.cmake
-file path=usr/share/cmake-2.8/Modules/CheckStructHasMember.cmake
-file path=usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake
-file path=usr/share/cmake-2.8/Modules/CheckTypeSize.c.in
-file path=usr/share/cmake-2.8/Modules/CheckTypeSize.cmake
-file path=usr/share/cmake-2.8/Modules/CheckTypeSizeMap.cmake.in
-file path=usr/share/cmake-2.8/Modules/CheckVariableExists.c
-file path=usr/share/cmake-2.8/Modules/CheckVariableExists.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Absoft-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Clang-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Clang-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Cray-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Cray-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Cray-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/G95-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/GNU-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/HP-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/HP-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/HP-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/HP-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Intel-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Intel-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Intel-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/Intel-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/MIPSpro-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/MIPSpro-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/MIPSpro-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/NAG-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PGI-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PGI-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PGI-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PGI.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PathScale-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PathScale-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PathScale-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/PathScale.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SCO-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SCO-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SCO.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SunPro-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SunPro-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SunPro-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/SunPro-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/VisualAge-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/VisualAge-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/VisualAge-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/XL-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/XL-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Compiler/XL.cmake
-file path=usr/share/cmake-2.8/Modules/Dart.cmake
-file path=usr/share/cmake-2.8/Modules/DartConfiguration.tcl.in
-file path=usr/share/cmake-2.8/Modules/Documentation.cmake
-file path=usr/share/cmake-2.8/Modules/DummyCXXFile.cxx
-file path=usr/share/cmake-2.8/Modules/ExternalProject.cmake
-file path=usr/share/cmake-2.8/Modules/FLTKCompatibility.cmake
-file path=usr/share/cmake-2.8/Modules/FeatureSummary.cmake
-file path=usr/share/cmake-2.8/Modules/FindALSA.cmake
-file path=usr/share/cmake-2.8/Modules/FindASPELL.cmake
-file path=usr/share/cmake-2.8/Modules/FindAVIFile.cmake
-file path=usr/share/cmake-2.8/Modules/FindArmadillo.cmake
-file path=usr/share/cmake-2.8/Modules/FindBISON.cmake
-file path=usr/share/cmake-2.8/Modules/FindBLAS.cmake
-file path=usr/share/cmake-2.8/Modules/FindBZip2.cmake
-file path=usr/share/cmake-2.8/Modules/FindBoost.cmake
-file path=usr/share/cmake-2.8/Modules/FindBullet.cmake
-file path=usr/share/cmake-2.8/Modules/FindCABLE.cmake
-file path=usr/share/cmake-2.8/Modules/FindCUDA.cmake
-file path=usr/share/cmake-2.8/Modules/FindCUDA/make2cmake.cmake
-file path=usr/share/cmake-2.8/Modules/FindCUDA/parse_cubin.cmake
-file path=usr/share/cmake-2.8/Modules/FindCUDA/run_nvcc.cmake
-file path=usr/share/cmake-2.8/Modules/FindCURL.cmake
-file path=usr/share/cmake-2.8/Modules/FindCVS.cmake
-file path=usr/share/cmake-2.8/Modules/FindCoin3D.cmake
-file path=usr/share/cmake-2.8/Modules/FindCups.cmake
-file path=usr/share/cmake-2.8/Modules/FindCurses.cmake
-file path=usr/share/cmake-2.8/Modules/FindCxxTest.cmake
-file path=usr/share/cmake-2.8/Modules/FindCygwin.cmake
-file path=usr/share/cmake-2.8/Modules/FindDCMTK.cmake
-file path=usr/share/cmake-2.8/Modules/FindDart.cmake
-file path=usr/share/cmake-2.8/Modules/FindDevIL.cmake
-file path=usr/share/cmake-2.8/Modules/FindDoxygen.cmake
-file path=usr/share/cmake-2.8/Modules/FindEXPAT.cmake
-file path=usr/share/cmake-2.8/Modules/FindFLEX.cmake
-file path=usr/share/cmake-2.8/Modules/FindFLTK.cmake
-file path=usr/share/cmake-2.8/Modules/FindFLTK2.cmake
-file path=usr/share/cmake-2.8/Modules/FindFreetype.cmake
-file path=usr/share/cmake-2.8/Modules/FindGCCXML.cmake
-file path=usr/share/cmake-2.8/Modules/FindGDAL.cmake
-file path=usr/share/cmake-2.8/Modules/FindGIF.cmake
-file path=usr/share/cmake-2.8/Modules/FindGLU.cmake
-file path=usr/share/cmake-2.8/Modules/FindGLUT.cmake
-file path=usr/share/cmake-2.8/Modules/FindGTK.cmake
-file path=usr/share/cmake-2.8/Modules/FindGTK2.cmake
-file path=usr/share/cmake-2.8/Modules/FindGTest.cmake
-file path=usr/share/cmake-2.8/Modules/FindGettext.cmake
-file path=usr/share/cmake-2.8/Modules/FindGit.cmake
-file path=usr/share/cmake-2.8/Modules/FindGnuTLS.cmake
-file path=usr/share/cmake-2.8/Modules/FindGnuplot.cmake
-file path=usr/share/cmake-2.8/Modules/FindHDF5.cmake
-file path=usr/share/cmake-2.8/Modules/FindHSPELL.cmake
-file path=usr/share/cmake-2.8/Modules/FindHTMLHelp.cmake
-file path=usr/share/cmake-2.8/Modules/FindITK.cmake
-file path=usr/share/cmake-2.8/Modules/FindImageMagick.cmake
-file path=usr/share/cmake-2.8/Modules/FindJNI.cmake
-file path=usr/share/cmake-2.8/Modules/FindJPEG.cmake
-file path=usr/share/cmake-2.8/Modules/FindJasper.cmake
-file path=usr/share/cmake-2.8/Modules/FindJava.cmake
-file path=usr/share/cmake-2.8/Modules/FindKDE3.cmake
-file path=usr/share/cmake-2.8/Modules/FindKDE4.cmake
-file path=usr/share/cmake-2.8/Modules/FindLAPACK.cmake
-file path=usr/share/cmake-2.8/Modules/FindLATEX.cmake
-file path=usr/share/cmake-2.8/Modules/FindLibArchive.cmake
-file path=usr/share/cmake-2.8/Modules/FindLibXml2.cmake
-file path=usr/share/cmake-2.8/Modules/FindLibXslt.cmake
-file path=usr/share/cmake-2.8/Modules/FindLua50.cmake
-file path=usr/share/cmake-2.8/Modules/FindLua51.cmake
-file path=usr/share/cmake-2.8/Modules/FindMFC.cmake
-file path=usr/share/cmake-2.8/Modules/FindMPEG.cmake
-file path=usr/share/cmake-2.8/Modules/FindMPEG2.cmake
-file path=usr/share/cmake-2.8/Modules/FindMPI.cmake
-file path=usr/share/cmake-2.8/Modules/FindMatlab.cmake
-file path=usr/share/cmake-2.8/Modules/FindMotif.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenAL.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenGL.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenMP.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenSSL.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenSceneGraph.cmake
-file path=usr/share/cmake-2.8/Modules/FindOpenThreads.cmake
-file path=usr/share/cmake-2.8/Modules/FindPHP4.cmake
-file path=usr/share/cmake-2.8/Modules/FindPNG.cmake
-file path=usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake
-file path=usr/share/cmake-2.8/Modules/FindPackageMessage.cmake
-file path=usr/share/cmake-2.8/Modules/FindPerl.cmake
-file path=usr/share/cmake-2.8/Modules/FindPerlLibs.cmake
-file path=usr/share/cmake-2.8/Modules/FindPhysFS.cmake
-file path=usr/share/cmake-2.8/Modules/FindPike.cmake
-file path=usr/share/cmake-2.8/Modules/FindPkgConfig.cmake
-file path=usr/share/cmake-2.8/Modules/FindPostgreSQL.cmake
-file path=usr/share/cmake-2.8/Modules/FindProducer.cmake
-file path=usr/share/cmake-2.8/Modules/FindProtobuf.cmake
-file path=usr/share/cmake-2.8/Modules/FindPythonInterp.cmake
-file path=usr/share/cmake-2.8/Modules/FindPythonLibs.cmake
-file path=usr/share/cmake-2.8/Modules/FindQt.cmake
-file path=usr/share/cmake-2.8/Modules/FindQt3.cmake
-file path=usr/share/cmake-2.8/Modules/FindQt4.cmake
-file path=usr/share/cmake-2.8/Modules/FindQuickTime.cmake
-file path=usr/share/cmake-2.8/Modules/FindRTI.cmake
-file path=usr/share/cmake-2.8/Modules/FindRuby.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL_image.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL_mixer.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL_net.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL_sound.cmake
-file path=usr/share/cmake-2.8/Modules/FindSDL_ttf.cmake
-file path=usr/share/cmake-2.8/Modules/FindSWIG.cmake
-file path=usr/share/cmake-2.8/Modules/FindSelfPackers.cmake
-file path=usr/share/cmake-2.8/Modules/FindSquish.cmake
-file path=usr/share/cmake-2.8/Modules/FindSubversion.cmake
-file path=usr/share/cmake-2.8/Modules/FindTCL.cmake
-file path=usr/share/cmake-2.8/Modules/FindTIFF.cmake
-file path=usr/share/cmake-2.8/Modules/FindTclStub.cmake
-file path=usr/share/cmake-2.8/Modules/FindTclsh.cmake
-file path=usr/share/cmake-2.8/Modules/FindThreads.cmake
-file path=usr/share/cmake-2.8/Modules/FindUnixCommands.cmake
-file path=usr/share/cmake-2.8/Modules/FindVTK.cmake
-file path=usr/share/cmake-2.8/Modules/FindWget.cmake
-file path=usr/share/cmake-2.8/Modules/FindWish.cmake
-file path=usr/share/cmake-2.8/Modules/FindX11.cmake
-file path=usr/share/cmake-2.8/Modules/FindXMLRPC.cmake
-file path=usr/share/cmake-2.8/Modules/FindZLIB.cmake
-file path=usr/share/cmake-2.8/Modules/Findosg.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgAnimation.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgDB.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgFX.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgGA.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgIntrospection.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgManipulator.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgParticle.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgProducer.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgShadow.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgSim.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgTerrain.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgText.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgUtil.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgViewer.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgVolume.cmake
-file path=usr/share/cmake-2.8/Modules/FindosgWidget.cmake
-file path=usr/share/cmake-2.8/Modules/Findosg_functions.cmake
-file path=usr/share/cmake-2.8/Modules/FindwxWidgets.cmake
-file path=usr/share/cmake-2.8/Modules/FindwxWindows.cmake
-file path=usr/share/cmake-2.8/Modules/FortranCInterface.cmake
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/CMakeLists.txt
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Detect.cmake
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Input.cmake.in
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Macro.h.in
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Output.cmake.in
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Verify/CMakeLists.txt
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Verify/VerifyC.c
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Verify/VerifyCXX.cxx
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Verify/VerifyFortran.f
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/Verify/main.c
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/call_mod.f90
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/call_sub.f
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/main.F
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/my_module.f90
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/my_module_.c
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/my_sub.f
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/mymodule.f90
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/mymodule_.c
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/mysub.f
-file path=usr/share/cmake-2.8/Modules/FortranCInterface/symbol.c.in
-file path=usr/share/cmake-2.8/Modules/GNUInstallDirs.cmake
-file path=usr/share/cmake-2.8/Modules/GenerateExportHeader.cmake
-file path=usr/share/cmake-2.8/Modules/GetPrerequisites.cmake
-file path=usr/share/cmake-2.8/Modules/ITKCompatibility.cmake
-file path=usr/share/cmake-2.8/Modules/InstallRequiredSystemLibraries.cmake
-file path=usr/share/cmake-2.8/Modules/IntelVSImplicitPath/CMakeLists.txt
-file path=usr/share/cmake-2.8/Modules/IntelVSImplicitPath/detect.cmake
-file path=usr/share/cmake-2.8/Modules/IntelVSImplicitPath/hello.f
-file path=usr/share/cmake-2.8/Modules/KDE3Macros.cmake
-file path=usr/share/cmake-2.8/Modules/MacOSXBundleInfo.plist.in
-file path=usr/share/cmake-2.8/Modules/MacOSXFrameworkInfo.plist.in
-file path=usr/share/cmake-2.8/Modules/MacroAddFileDependencies.cmake
-file path=usr/share/cmake-2.8/Modules/NSIS.InstallOptions.ini.in
-file path=usr/share/cmake-2.8/Modules/NSIS.template.in
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-VisualAge-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-VisualAge-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-VisualAge-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-XL-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-XL-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX-XL.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/AIX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BSDOS.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BeOS.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneL.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-base.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-dynamic.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/BlueGeneP-static.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN-windres.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/CYGWIN.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Catamount.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-Absoft-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-NAG-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-VisualAge-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-VisualAge-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-icc.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin-icpc.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Darwin.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/DragonFly.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/FreeBSD.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic-ADSP-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic-ADSP-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic-ADSP-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic-ADSP-Common.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic-SDCC-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Generic.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-HP-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-HP-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-HP-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-HP-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX-HP.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/HP-UX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Haiku.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/IRIX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/IRIX64.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Absoft-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Clang-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Clang-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Intel-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Intel-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Intel-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-Intel.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-NAG-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PGI-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PGI-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PGI-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PGI.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PathScale-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PathScale-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PathScale-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-PathScale.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-SunPro-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-VisualAge-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-VisualAge-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-VisualAge-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-XL-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-XL-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-XL-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux-como.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Linux.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/MP-RAS.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/NetBSD.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/OSF1.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/OpenBSD.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/OpenVMS.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/QNX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/RISCos.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SCO_SV.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SINIX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SunOS-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SunOS-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SunOS-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SunOS-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/SunOS.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Tru64.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/ULTRIX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/UNIX_SV.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/UnixWare.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Borland-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Borland-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Borland.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-G95-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-GNU-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-GNU-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Intel-ASM.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Intel-C.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Intel-CXX.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Intel-Fortran.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-Intel.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-NMcl.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-cl.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-cl.cmake.in
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-df.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-wcl386.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows-windres.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Windows.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/WindowsPaths.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/Xenix.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/cl.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/eCos.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/gas.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/kFreeBSD.cmake
-file path=usr/share/cmake-2.8/Modules/Platform/syllable.cmake
-file path=usr/share/cmake-2.8/Modules/ProcessorCount.cmake
-file path=usr/share/cmake-2.8/Modules/Qt4ConfigDependentSettings.cmake
-file path=usr/share/cmake-2.8/Modules/Qt4Macros.cmake
-file path=usr/share/cmake-2.8/Modules/RepositoryInfo.txt.in
-file path=usr/share/cmake-2.8/Modules/SelectLibraryConfigurations.cmake
-file path=usr/share/cmake-2.8/Modules/SquishRunTestCase.bat
-file path=usr/share/cmake-2.8/Modules/SquishRunTestCase.sh
-file path=usr/share/cmake-2.8/Modules/SquishTestScript.cmake
-file path=usr/share/cmake-2.8/Modules/SystemInformation.cmake
-file path=usr/share/cmake-2.8/Modules/SystemInformation.in
-file path=usr/share/cmake-2.8/Modules/TestBigEndian.cmake
-file path=usr/share/cmake-2.8/Modules/TestCXXAcceptsFlag.cmake
-file path=usr/share/cmake-2.8/Modules/TestEndianess.c.in
-file path=usr/share/cmake-2.8/Modules/TestForANSIForScope.cmake
-file path=usr/share/cmake-2.8/Modules/TestForANSIStreamHeaders.cmake
-file path=usr/share/cmake-2.8/Modules/TestForANSIStreamHeaders.cxx
-file path=usr/share/cmake-2.8/Modules/TestForAnsiForScope.cxx
-file path=usr/share/cmake-2.8/Modules/TestForSSTREAM.cmake
-file path=usr/share/cmake-2.8/Modules/TestForSSTREAM.cxx
-file path=usr/share/cmake-2.8/Modules/TestForSTDNamespace.cmake
-file path=usr/share/cmake-2.8/Modules/TestForSTDNamespace.cxx
-file path=usr/share/cmake-2.8/Modules/UseEcos.cmake
-file path=usr/share/cmake-2.8/Modules/UseJava.cmake
-file path=usr/share/cmake-2.8/Modules/UseJavaClassFilelist.cmake
-file path=usr/share/cmake-2.8/Modules/UseJavaSymlinks.cmake
-file path=usr/share/cmake-2.8/Modules/UsePkgConfig.cmake
-file path=usr/share/cmake-2.8/Modules/UseQt4.cmake
-file path=usr/share/cmake-2.8/Modules/UseSWIG.cmake
-file path=usr/share/cmake-2.8/Modules/UseVTK40.cmake
-file path=usr/share/cmake-2.8/Modules/UseVTKBuildSettings40.cmake
-file path=usr/share/cmake-2.8/Modules/UseVTKConfig40.cmake
-file path=usr/share/cmake-2.8/Modules/Use_wxWindows.cmake
-file path=usr/share/cmake-2.8/Modules/UsewxWidgets.cmake
-file path=usr/share/cmake-2.8/Modules/VTKCompatibility.cmake
-file path=usr/share/cmake-2.8/Modules/WriteBasicConfigVersionFile.cmake
-file path=usr/share/cmake-2.8/Modules/ecos_clean.cmake
-file path=usr/share/cmake-2.8/Modules/exportheader.cmake.in
-file path=usr/share/cmake-2.8/Modules/kde3init_dummy.cpp.in
-file path=usr/share/cmake-2.8/Modules/kde3uic.cmake
-file path=usr/share/cmake-2.8/Modules/readme.txt
-file path=usr/share/cmake-2.8/Templates/AppleInfo.plist
-file path=usr/share/cmake-2.8/Templates/CMakeVSMacros1.vsmacros
-file path=usr/share/cmake-2.8/Templates/CMakeVSMacros2.vsmacros
-file path=usr/share/cmake-2.8/Templates/CMakeVisualStudio6Configurations.cmake
-file path=usr/share/cmake-2.8/Templates/CPack.GenericDescription.txt
-file path=usr/share/cmake-2.8/Templates/CPack.GenericLicense.txt
-file path=usr/share/cmake-2.8/Templates/CPack.GenericWelcome.txt
-file path=usr/share/cmake-2.8/Templates/CPackConfig.cmake.in
-file path=usr/share/cmake-2.8/Templates/CTestScript.cmake.in
-file path=usr/share/cmake-2.8/Templates/DLLFooter.dsptemplate
-file path=usr/share/cmake-2.8/Templates/DLLHeader.dsptemplate
-file path=usr/share/cmake-2.8/Templates/EXEFooter.dsptemplate
-file path=usr/share/cmake-2.8/Templates/EXEHeader.dsptemplate
-file path=usr/share/cmake-2.8/Templates/EXEWinHeader.dsptemplate
-file path=usr/share/cmake-2.8/Templates/TestDriver.cxx.in
-file path=usr/share/cmake-2.8/Templates/UtilityFooter.dsptemplate
-file path=usr/share/cmake-2.8/Templates/UtilityHeader.dsptemplate
-file path=usr/share/cmake-2.8/Templates/cygwin-package.sh.in
-file path=usr/share/cmake-2.8/Templates/staticLibFooter.dsptemplate
-file path=usr/share/cmake-2.8/Templates/staticLibHeader.dsptemplate
-file path=usr/share/cmake-2.8/doc/ccmake.docbook
-file path=usr/share/cmake-2.8/doc/ccmake.html
-file path=usr/share/cmake-2.8/doc/ccmake.txt
-file path=usr/share/cmake-2.8/doc/cmake-commands.html
-file path=usr/share/cmake-2.8/doc/cmake-commands.txt
-file path=usr/share/cmake-2.8/doc/cmake-compatcommands.html
-file path=usr/share/cmake-2.8/doc/cmake-compatcommands.txt
-file path=usr/share/cmake-2.8/doc/cmake-modules.html
-file path=usr/share/cmake-2.8/doc/cmake-modules.txt
-file path=usr/share/cmake-2.8/doc/cmake-policies.html
-file path=usr/share/cmake-2.8/doc/cmake-policies.txt
-file path=usr/share/cmake-2.8/doc/cmake-properties.html
-file path=usr/share/cmake-2.8/doc/cmake-properties.txt
-file path=usr/share/cmake-2.8/doc/cmake-variables.html
-file path=usr/share/cmake-2.8/doc/cmake-variables.txt
-file path=usr/share/cmake-2.8/doc/cmake.docbook
-file path=usr/share/cmake-2.8/doc/cmake.html
-file path=usr/share/cmake-2.8/doc/cmake.txt
-file path=usr/share/cmake-2.8/doc/cpack.docbook
-file path=usr/share/cmake-2.8/doc/cpack.html
-file path=usr/share/cmake-2.8/doc/cpack.txt
-file path=usr/share/cmake-2.8/doc/ctest.docbook
-file path=usr/share/cmake-2.8/doc/ctest.html
-file path=usr/share/cmake-2.8/doc/ctest.txt
-file path=usr/share/cmake-2.8/include/cmCPluginAPI.h
+file path=usr/share/cmake-3.3/Help/command/FIND_XXX.txt
+file path=usr/share/cmake-3.3/Help/command/FIND_XXX_MAC.txt
+file path=usr/share/cmake-3.3/Help/command/FIND_XXX_ORDER.txt
+file path=usr/share/cmake-3.3/Help/command/FIND_XXX_ROOT.txt
+file path=usr/share/cmake-3.3/Help/command/add_compile_options.rst
+file path=usr/share/cmake-3.3/Help/command/add_custom_command.rst
+file path=usr/share/cmake-3.3/Help/command/add_custom_target.rst
+file path=usr/share/cmake-3.3/Help/command/add_definitions.rst
+file path=usr/share/cmake-3.3/Help/command/add_dependencies.rst
+file path=usr/share/cmake-3.3/Help/command/add_executable.rst
+file path=usr/share/cmake-3.3/Help/command/add_library.rst
+file path=usr/share/cmake-3.3/Help/command/add_subdirectory.rst
+file path=usr/share/cmake-3.3/Help/command/add_test.rst
+file path=usr/share/cmake-3.3/Help/command/aux_source_directory.rst
+file path=usr/share/cmake-3.3/Help/command/break.rst
+file path=usr/share/cmake-3.3/Help/command/build_command.rst
+file path=usr/share/cmake-3.3/Help/command/build_name.rst
+file path=usr/share/cmake-3.3/Help/command/cmake_host_system_information.rst
+file path=usr/share/cmake-3.3/Help/command/cmake_minimum_required.rst
+file path=usr/share/cmake-3.3/Help/command/cmake_policy.rst
+file path=usr/share/cmake-3.3/Help/command/configure_file.rst
+file path=usr/share/cmake-3.3/Help/command/continue.rst
+file path=usr/share/cmake-3.3/Help/command/create_test_sourcelist.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_build.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_configure.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_coverage.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_empty_binary_directory.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_memcheck.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_read_custom_files.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_run_script.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_sleep.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_start.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_submit.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_test.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_update.rst
+file path=usr/share/cmake-3.3/Help/command/ctest_upload.rst
+file path=usr/share/cmake-3.3/Help/command/define_property.rst
+file path=usr/share/cmake-3.3/Help/command/else.rst
+file path=usr/share/cmake-3.3/Help/command/elseif.rst
+file path=usr/share/cmake-3.3/Help/command/enable_language.rst
+file path=usr/share/cmake-3.3/Help/command/enable_testing.rst
+file path=usr/share/cmake-3.3/Help/command/endforeach.rst
+file path=usr/share/cmake-3.3/Help/command/endfunction.rst
+file path=usr/share/cmake-3.3/Help/command/endif.rst
+file path=usr/share/cmake-3.3/Help/command/endmacro.rst
+file path=usr/share/cmake-3.3/Help/command/endwhile.rst
+file path=usr/share/cmake-3.3/Help/command/exec_program.rst
+file path=usr/share/cmake-3.3/Help/command/execute_process.rst
+file path=usr/share/cmake-3.3/Help/command/export.rst
+file path=usr/share/cmake-3.3/Help/command/export_library_dependencies.rst
+file path=usr/share/cmake-3.3/Help/command/file.rst
+file path=usr/share/cmake-3.3/Help/command/find_file.rst
+file path=usr/share/cmake-3.3/Help/command/find_library.rst
+file path=usr/share/cmake-3.3/Help/command/find_package.rst
+file path=usr/share/cmake-3.3/Help/command/find_path.rst
+file path=usr/share/cmake-3.3/Help/command/find_program.rst
+file path=usr/share/cmake-3.3/Help/command/fltk_wrap_ui.rst
+file path=usr/share/cmake-3.3/Help/command/foreach.rst
+file path=usr/share/cmake-3.3/Help/command/function.rst
+file path=usr/share/cmake-3.3/Help/command/get_cmake_property.rst
+file path=usr/share/cmake-3.3/Help/command/get_directory_property.rst
+file path=usr/share/cmake-3.3/Help/command/get_filename_component.rst
+file path=usr/share/cmake-3.3/Help/command/get_property.rst
+file path=usr/share/cmake-3.3/Help/command/get_source_file_property.rst
+file path=usr/share/cmake-3.3/Help/command/get_target_property.rst
+file path=usr/share/cmake-3.3/Help/command/get_test_property.rst
+file path=usr/share/cmake-3.3/Help/command/if.rst
+file path=usr/share/cmake-3.3/Help/command/include.rst
+file path=usr/share/cmake-3.3/Help/command/include_directories.rst
+file path=usr/share/cmake-3.3/Help/command/include_external_msproject.rst
+file path=usr/share/cmake-3.3/Help/command/include_regular_expression.rst
+file path=usr/share/cmake-3.3/Help/command/install.rst
+file path=usr/share/cmake-3.3/Help/command/install_files.rst
+file path=usr/share/cmake-3.3/Help/command/install_programs.rst
+file path=usr/share/cmake-3.3/Help/command/install_targets.rst
+file path=usr/share/cmake-3.3/Help/command/link_directories.rst
+file path=usr/share/cmake-3.3/Help/command/link_libraries.rst
+file path=usr/share/cmake-3.3/Help/command/list.rst
+file path=usr/share/cmake-3.3/Help/command/load_cache.rst
+file path=usr/share/cmake-3.3/Help/command/load_command.rst
+file path=usr/share/cmake-3.3/Help/command/macro.rst
+file path=usr/share/cmake-3.3/Help/command/make_directory.rst
+file path=usr/share/cmake-3.3/Help/command/mark_as_advanced.rst
+file path=usr/share/cmake-3.3/Help/command/math.rst
+file path=usr/share/cmake-3.3/Help/command/message.rst
+file path=usr/share/cmake-3.3/Help/command/option.rst
+file path=usr/share/cmake-3.3/Help/command/output_required_files.rst
+file path=usr/share/cmake-3.3/Help/command/project.rst
+file path=usr/share/cmake-3.3/Help/command/qt_wrap_cpp.rst
+file path=usr/share/cmake-3.3/Help/command/qt_wrap_ui.rst
+file path=usr/share/cmake-3.3/Help/command/remove.rst
+file path=usr/share/cmake-3.3/Help/command/remove_definitions.rst
+file path=usr/share/cmake-3.3/Help/command/return.rst
+file path=usr/share/cmake-3.3/Help/command/separate_arguments.rst
+file path=usr/share/cmake-3.3/Help/command/set.rst
+file path=usr/share/cmake-3.3/Help/command/set_directory_properties.rst
+file path=usr/share/cmake-3.3/Help/command/set_property.rst
+file path=usr/share/cmake-3.3/Help/command/set_source_files_properties.rst
+file path=usr/share/cmake-3.3/Help/command/set_target_properties.rst
+file path=usr/share/cmake-3.3/Help/command/set_tests_properties.rst
+file path=usr/share/cmake-3.3/Help/command/site_name.rst
+file path=usr/share/cmake-3.3/Help/command/source_group.rst
+file path=usr/share/cmake-3.3/Help/command/string.rst
+file path=usr/share/cmake-3.3/Help/command/subdir_depends.rst
+file path=usr/share/cmake-3.3/Help/command/subdirs.rst
+file path=usr/share/cmake-3.3/Help/command/target_compile_definitions.rst
+file path=usr/share/cmake-3.3/Help/command/target_compile_features.rst
+file path=usr/share/cmake-3.3/Help/command/target_compile_options.rst
+file path=usr/share/cmake-3.3/Help/command/target_include_directories.rst
+file path=usr/share/cmake-3.3/Help/command/target_link_libraries.rst
+file path=usr/share/cmake-3.3/Help/command/target_sources.rst
+file path=usr/share/cmake-3.3/Help/command/try_compile.rst
+file path=usr/share/cmake-3.3/Help/command/try_run.rst
+file path=usr/share/cmake-3.3/Help/command/unset.rst
+file path=usr/share/cmake-3.3/Help/command/use_mangled_mesa.rst
+file path=usr/share/cmake-3.3/Help/command/utility_source.rst
+file path=usr/share/cmake-3.3/Help/command/variable_requires.rst
+file path=usr/share/cmake-3.3/Help/command/variable_watch.rst
+file path=usr/share/cmake-3.3/Help/command/while.rst
+file path=usr/share/cmake-3.3/Help/command/write_file.rst
+file path="usr/share/cmake-3.3/Help/generator/Borland Makefiles.rst"
+file path=usr/share/cmake-3.3/Help/generator/CodeBlocks.rst
+file path=usr/share/cmake-3.3/Help/generator/CodeLite.rst
+file path="usr/share/cmake-3.3/Help/generator/Eclipse CDT4.rst"
+file path="usr/share/cmake-3.3/Help/generator/Green Hills MULTI.rst"
+file path=usr/share/cmake-3.3/Help/generator/KDevelop3.rst
+file path=usr/share/cmake-3.3/Help/generator/Kate.rst
+file path="usr/share/cmake-3.3/Help/generator/MSYS Makefiles.rst"
+file path="usr/share/cmake-3.3/Help/generator/MinGW Makefiles.rst"
+file path="usr/share/cmake-3.3/Help/generator/NMake Makefiles JOM.rst"
+file path="usr/share/cmake-3.3/Help/generator/NMake Makefiles.rst"
+file path=usr/share/cmake-3.3/Help/generator/Ninja.rst
+file path="usr/share/cmake-3.3/Help/generator/Sublime Text 2.rst"
+file path="usr/share/cmake-3.3/Help/generator/Unix Makefiles.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 10 2010.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 11 2012.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 12 2013.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 14 2015.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 6.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 7 .NET 2003.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 7.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 8 2005.rst"
+file path="usr/share/cmake-3.3/Help/generator/Visual Studio 9 2008.rst"
+file path="usr/share/cmake-3.3/Help/generator/Watcom WMake.rst"
+file path=usr/share/cmake-3.3/Help/generator/Xcode.rst
+file path=usr/share/cmake-3.3/Help/include/COMPILE_DEFINITIONS_DISCLAIMER.txt
+file path=usr/share/cmake-3.3/Help/include/INTERFACE_INCLUDE_DIRECTORIES_WARNING.txt
+file path=usr/share/cmake-3.3/Help/include/INTERFACE_LINK_LIBRARIES_WARNING.txt
+file path=usr/share/cmake-3.3/Help/index.rst
+file path=usr/share/cmake-3.3/Help/manual/LINKS.txt
+file path=usr/share/cmake-3.3/Help/manual/OPTIONS_BUILD.txt
+file path=usr/share/cmake-3.3/Help/manual/OPTIONS_HELP.txt
+file path=usr/share/cmake-3.3/Help/manual/ccmake.1.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-buildsystem.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-commands.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-compile-features.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-developer.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-generator-expressions.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-generators.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-gui.1.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-language.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-modules.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-packages.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-policies.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-properties.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-qt.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-toolchains.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake-variables.7.rst
+file path=usr/share/cmake-3.3/Help/manual/cmake.1.rst
+file path=usr/share/cmake-3.3/Help/manual/cpack.1.rst
+file path=usr/share/cmake-3.3/Help/manual/ctest.1.rst
+file path=usr/share/cmake-3.3/Help/module/AddFileDependencies.rst
+file path=usr/share/cmake-3.3/Help/module/BundleUtilities.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeAddFortranSubdirectory.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeBackwardCompatibilityCXX.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeDependentOption.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeDetermineVSServicePack.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeExpandImportedTargets.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeFindDependencyMacro.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeFindFrameworks.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeFindPackageMode.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeForceCompiler.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeGraphVizOptions.rst
+file path=usr/share/cmake-3.3/Help/module/CMakePackageConfigHelpers.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeParseArguments.rst
+file path=usr/share/cmake-3.3/Help/module/CMakePrintHelpers.rst
+file path=usr/share/cmake-3.3/Help/module/CMakePrintSystemInformation.rst
+file path=usr/share/cmake-3.3/Help/module/CMakePushCheckState.rst
+file path=usr/share/cmake-3.3/Help/module/CMakeVerifyManifest.rst
+file path=usr/share/cmake-3.3/Help/module/CPack.rst
+file path=usr/share/cmake-3.3/Help/module/CPackBundle.rst
+file path=usr/share/cmake-3.3/Help/module/CPackComponent.rst
+file path=usr/share/cmake-3.3/Help/module/CPackCygwin.rst
+file path=usr/share/cmake-3.3/Help/module/CPackDMG.rst
+file path=usr/share/cmake-3.3/Help/module/CPackDeb.rst
+file path=usr/share/cmake-3.3/Help/module/CPackIFW.rst
+file path=usr/share/cmake-3.3/Help/module/CPackNSIS.rst
+file path=usr/share/cmake-3.3/Help/module/CPackPackageMaker.rst
+file path=usr/share/cmake-3.3/Help/module/CPackRPM.rst
+file path=usr/share/cmake-3.3/Help/module/CPackWIX.rst
+file path=usr/share/cmake-3.3/Help/module/CTest.rst
+file path=usr/share/cmake-3.3/Help/module/CTestCoverageCollectGCOV.rst
+file path=usr/share/cmake-3.3/Help/module/CTestScriptMode.rst
+file path=usr/share/cmake-3.3/Help/module/CTestUseLaunchers.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCCompilerFlag.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCSourceCompiles.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCSourceRuns.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCXXCompilerFlag.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCXXSourceCompiles.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCXXSourceRuns.rst
+file path=usr/share/cmake-3.3/Help/module/CheckCXXSymbolExists.rst
+file path=usr/share/cmake-3.3/Help/module/CheckFortranCompilerFlag.rst
+file path=usr/share/cmake-3.3/Help/module/CheckFortranFunctionExists.rst
+file path=usr/share/cmake-3.3/Help/module/CheckFortranSourceCompiles.rst
+file path=usr/share/cmake-3.3/Help/module/CheckFunctionExists.rst
+file path=usr/share/cmake-3.3/Help/module/CheckIncludeFile.rst
+file path=usr/share/cmake-3.3/Help/module/CheckIncludeFileCXX.rst
+file path=usr/share/cmake-3.3/Help/module/CheckIncludeFiles.rst
+file path=usr/share/cmake-3.3/Help/module/CheckLanguage.rst
+file path=usr/share/cmake-3.3/Help/module/CheckLibraryExists.rst
+file path=usr/share/cmake-3.3/Help/module/CheckPrototypeDefinition.rst
+file path=usr/share/cmake-3.3/Help/module/CheckStructHasMember.rst
+file path=usr/share/cmake-3.3/Help/module/CheckSymbolExists.rst
+file path=usr/share/cmake-3.3/Help/module/CheckTypeSize.rst
+file path=usr/share/cmake-3.3/Help/module/CheckVariableExists.rst
+file path=usr/share/cmake-3.3/Help/module/Dart.rst
+file path=usr/share/cmake-3.3/Help/module/DeployQt4.rst
+file path=usr/share/cmake-3.3/Help/module/Documentation.rst
+file path=usr/share/cmake-3.3/Help/module/ExternalData.rst
+file path=usr/share/cmake-3.3/Help/module/ExternalProject.rst
+file path=usr/share/cmake-3.3/Help/module/FeatureSummary.rst
+file path=usr/share/cmake-3.3/Help/module/FindALSA.rst
+file path=usr/share/cmake-3.3/Help/module/FindASPELL.rst
+file path=usr/share/cmake-3.3/Help/module/FindAVIFile.rst
+file path=usr/share/cmake-3.3/Help/module/FindArmadillo.rst
+file path=usr/share/cmake-3.3/Help/module/FindBISON.rst
+file path=usr/share/cmake-3.3/Help/module/FindBLAS.rst
+file path=usr/share/cmake-3.3/Help/module/FindBZip2.rst
+file path=usr/share/cmake-3.3/Help/module/FindBacktrace.rst
+file path=usr/share/cmake-3.3/Help/module/FindBoost.rst
+file path=usr/share/cmake-3.3/Help/module/FindBullet.rst
+file path=usr/share/cmake-3.3/Help/module/FindCABLE.rst
+file path=usr/share/cmake-3.3/Help/module/FindCUDA.rst
+file path=usr/share/cmake-3.3/Help/module/FindCURL.rst
+file path=usr/share/cmake-3.3/Help/module/FindCVS.rst
+file path=usr/share/cmake-3.3/Help/module/FindCoin3D.rst
+file path=usr/share/cmake-3.3/Help/module/FindCups.rst
+file path=usr/share/cmake-3.3/Help/module/FindCurses.rst
+file path=usr/share/cmake-3.3/Help/module/FindCxxTest.rst
+file path=usr/share/cmake-3.3/Help/module/FindCygwin.rst
+file path=usr/share/cmake-3.3/Help/module/FindDCMTK.rst
+file path=usr/share/cmake-3.3/Help/module/FindDart.rst
+file path=usr/share/cmake-3.3/Help/module/FindDevIL.rst
+file path=usr/share/cmake-3.3/Help/module/FindDoxygen.rst
+file path=usr/share/cmake-3.3/Help/module/FindEXPAT.rst
+file path=usr/share/cmake-3.3/Help/module/FindFLEX.rst
+file path=usr/share/cmake-3.3/Help/module/FindFLTK.rst
+file path=usr/share/cmake-3.3/Help/module/FindFLTK2.rst
+file path=usr/share/cmake-3.3/Help/module/FindFreetype.rst
+file path=usr/share/cmake-3.3/Help/module/FindGCCXML.rst
+file path=usr/share/cmake-3.3/Help/module/FindGDAL.rst
+file path=usr/share/cmake-3.3/Help/module/FindGIF.rst
+file path=usr/share/cmake-3.3/Help/module/FindGLEW.rst
+file path=usr/share/cmake-3.3/Help/module/FindGLUT.rst
+file path=usr/share/cmake-3.3/Help/module/FindGSL.rst
+file path=usr/share/cmake-3.3/Help/module/FindGTK.rst
+file path=usr/share/cmake-3.3/Help/module/FindGTK2.rst
+file path=usr/share/cmake-3.3/Help/module/FindGTest.rst
+file path=usr/share/cmake-3.3/Help/module/FindGettext.rst
+file path=usr/share/cmake-3.3/Help/module/FindGit.rst
+file path=usr/share/cmake-3.3/Help/module/FindGnuTLS.rst
+file path=usr/share/cmake-3.3/Help/module/FindGnuplot.rst
+file path=usr/share/cmake-3.3/Help/module/FindHDF5.rst
+file path=usr/share/cmake-3.3/Help/module/FindHSPELL.rst
+file path=usr/share/cmake-3.3/Help/module/FindHTMLHelp.rst
+file path=usr/share/cmake-3.3/Help/module/FindHg.rst
+file path=usr/share/cmake-3.3/Help/module/FindITK.rst
+file path=usr/share/cmake-3.3/Help/module/FindIce.rst
+file path=usr/share/cmake-3.3/Help/module/FindIcotool.rst
+file path=usr/share/cmake-3.3/Help/module/FindImageMagick.rst
+file path=usr/share/cmake-3.3/Help/module/FindIntl.rst
+file path=usr/share/cmake-3.3/Help/module/FindJNI.rst
+file path=usr/share/cmake-3.3/Help/module/FindJPEG.rst
+file path=usr/share/cmake-3.3/Help/module/FindJasper.rst
+file path=usr/share/cmake-3.3/Help/module/FindJava.rst
+file path=usr/share/cmake-3.3/Help/module/FindKDE3.rst
+file path=usr/share/cmake-3.3/Help/module/FindKDE4.rst
+file path=usr/share/cmake-3.3/Help/module/FindLAPACK.rst
+file path=usr/share/cmake-3.3/Help/module/FindLATEX.rst
+file path=usr/share/cmake-3.3/Help/module/FindLibArchive.rst
+file path=usr/share/cmake-3.3/Help/module/FindLibLZMA.rst
+file path=usr/share/cmake-3.3/Help/module/FindLibXml2.rst
+file path=usr/share/cmake-3.3/Help/module/FindLibXslt.rst
+file path=usr/share/cmake-3.3/Help/module/FindLua.rst
+file path=usr/share/cmake-3.3/Help/module/FindLua50.rst
+file path=usr/share/cmake-3.3/Help/module/FindLua51.rst
+file path=usr/share/cmake-3.3/Help/module/FindMFC.rst
+file path=usr/share/cmake-3.3/Help/module/FindMPEG.rst
+file path=usr/share/cmake-3.3/Help/module/FindMPEG2.rst
+file path=usr/share/cmake-3.3/Help/module/FindMPI.rst
+file path=usr/share/cmake-3.3/Help/module/FindMatlab.rst
+file path=usr/share/cmake-3.3/Help/module/FindMotif.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenAL.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenCL.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenGL.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenMP.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenSSL.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenSceneGraph.rst
+file path=usr/share/cmake-3.3/Help/module/FindOpenThreads.rst
+file path=usr/share/cmake-3.3/Help/module/FindPHP4.rst
+file path=usr/share/cmake-3.3/Help/module/FindPNG.rst
+file path=usr/share/cmake-3.3/Help/module/FindPackageHandleStandardArgs.rst
+file path=usr/share/cmake-3.3/Help/module/FindPackageMessage.rst
+file path=usr/share/cmake-3.3/Help/module/FindPerl.rst
+file path=usr/share/cmake-3.3/Help/module/FindPerlLibs.rst
+file path=usr/share/cmake-3.3/Help/module/FindPhysFS.rst
+file path=usr/share/cmake-3.3/Help/module/FindPike.rst
+file path=usr/share/cmake-3.3/Help/module/FindPkgConfig.rst
+file path=usr/share/cmake-3.3/Help/module/FindPostgreSQL.rst
+file path=usr/share/cmake-3.3/Help/module/FindProducer.rst
+file path=usr/share/cmake-3.3/Help/module/FindProtobuf.rst
+file path=usr/share/cmake-3.3/Help/module/FindPythonInterp.rst
+file path=usr/share/cmake-3.3/Help/module/FindPythonLibs.rst
+file path=usr/share/cmake-3.3/Help/module/FindQt.rst
+file path=usr/share/cmake-3.3/Help/module/FindQt3.rst
+file path=usr/share/cmake-3.3/Help/module/FindQt4.rst
+file path=usr/share/cmake-3.3/Help/module/FindQuickTime.rst
+file path=usr/share/cmake-3.3/Help/module/FindRTI.rst
+file path=usr/share/cmake-3.3/Help/module/FindRuby.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL_image.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL_mixer.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL_net.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL_sound.rst
+file path=usr/share/cmake-3.3/Help/module/FindSDL_ttf.rst
+file path=usr/share/cmake-3.3/Help/module/FindSWIG.rst
+file path=usr/share/cmake-3.3/Help/module/FindSelfPackers.rst
+file path=usr/share/cmake-3.3/Help/module/FindSquish.rst
+file path=usr/share/cmake-3.3/Help/module/FindSubversion.rst
+file path=usr/share/cmake-3.3/Help/module/FindTCL.rst
+file path=usr/share/cmake-3.3/Help/module/FindTIFF.rst
+file path=usr/share/cmake-3.3/Help/module/FindTclStub.rst
+file path=usr/share/cmake-3.3/Help/module/FindTclsh.rst
+file path=usr/share/cmake-3.3/Help/module/FindThreads.rst
+file path=usr/share/cmake-3.3/Help/module/FindUnixCommands.rst
+file path=usr/share/cmake-3.3/Help/module/FindVTK.rst
+file path=usr/share/cmake-3.3/Help/module/FindWget.rst
+file path=usr/share/cmake-3.3/Help/module/FindWish.rst
+file path=usr/share/cmake-3.3/Help/module/FindX11.rst
+file path=usr/share/cmake-3.3/Help/module/FindXCTest.rst
+file path=usr/share/cmake-3.3/Help/module/FindXMLRPC.rst
+file path=usr/share/cmake-3.3/Help/module/FindXercesC.rst
+file path=usr/share/cmake-3.3/Help/module/FindZLIB.rst
+file path=usr/share/cmake-3.3/Help/module/Findosg.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgAnimation.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgDB.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgFX.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgGA.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgIntrospection.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgManipulator.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgParticle.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgPresentation.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgProducer.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgQt.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgShadow.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgSim.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgTerrain.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgText.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgUtil.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgViewer.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgVolume.rst
+file path=usr/share/cmake-3.3/Help/module/FindosgWidget.rst
+file path=usr/share/cmake-3.3/Help/module/Findosg_functions.rst
+file path=usr/share/cmake-3.3/Help/module/FindwxWidgets.rst
+file path=usr/share/cmake-3.3/Help/module/FindwxWindows.rst
+file path=usr/share/cmake-3.3/Help/module/FortranCInterface.rst
+file path=usr/share/cmake-3.3/Help/module/GNUInstallDirs.rst
+file path=usr/share/cmake-3.3/Help/module/GenerateExportHeader.rst
+file path=usr/share/cmake-3.3/Help/module/GetPrerequisites.rst
+file path=usr/share/cmake-3.3/Help/module/InstallRequiredSystemLibraries.rst
+file path=usr/share/cmake-3.3/Help/module/MacroAddFileDependencies.rst
+file path=usr/share/cmake-3.3/Help/module/ProcessorCount.rst
+file path=usr/share/cmake-3.3/Help/module/SelectLibraryConfigurations.rst
+file path=usr/share/cmake-3.3/Help/module/SquishTestScript.rst
+file path=usr/share/cmake-3.3/Help/module/TestBigEndian.rst
+file path=usr/share/cmake-3.3/Help/module/TestCXXAcceptsFlag.rst
+file path=usr/share/cmake-3.3/Help/module/TestForANSIForScope.rst
+file path=usr/share/cmake-3.3/Help/module/TestForANSIStreamHeaders.rst
+file path=usr/share/cmake-3.3/Help/module/TestForSSTREAM.rst
+file path=usr/share/cmake-3.3/Help/module/TestForSTDNamespace.rst
+file path=usr/share/cmake-3.3/Help/module/UseEcos.rst
+file path=usr/share/cmake-3.3/Help/module/UseJava.rst
+file path=usr/share/cmake-3.3/Help/module/UseJavaClassFilelist.rst
+file path=usr/share/cmake-3.3/Help/module/UseJavaSymlinks.rst
+file path=usr/share/cmake-3.3/Help/module/UsePkgConfig.rst
+file path=usr/share/cmake-3.3/Help/module/UseSWIG.rst
+file path=usr/share/cmake-3.3/Help/module/Use_wxWindows.rst
+file path=usr/share/cmake-3.3/Help/module/UsewxWidgets.rst
+file path=usr/share/cmake-3.3/Help/module/WriteBasicConfigVersionFile.rst
+file path=usr/share/cmake-3.3/Help/module/WriteCompilerDetectionHeader.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0000.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0001.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0002.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0003.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0004.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0005.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0006.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0007.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0008.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0009.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0010.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0011.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0012.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0013.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0014.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0015.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0016.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0017.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0018.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0019.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0020.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0021.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0022.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0023.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0024.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0025.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0026.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0027.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0028.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0029.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0030.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0031.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0032.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0033.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0034.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0035.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0036.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0037.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0038.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0039.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0040.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0041.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0042.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0043.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0044.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0045.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0046.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0047.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0048.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0049.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0050.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0051.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0052.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0053.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0054.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0055.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0056.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0057.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0058.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0059.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0060.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0061.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0062.rst
+file path=usr/share/cmake-3.3/Help/policy/CMP0063.rst
+file path=usr/share/cmake-3.3/Help/policy/DEPRECATED.txt
+file path=usr/share/cmake-3.3/Help/policy/DISALLOWED_COMMAND.txt
+file path=usr/share/cmake-3.3/Help/prop_cache/ADVANCED.rst
+file path=usr/share/cmake-3.3/Help/prop_cache/HELPSTRING.rst
+file path=usr/share/cmake-3.3/Help/prop_cache/MODIFIED.rst
+file path=usr/share/cmake-3.3/Help/prop_cache/STRINGS.rst
+file path=usr/share/cmake-3.3/Help/prop_cache/TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_cache/VALUE.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/ADDITIONAL_MAKE_CLEAN_FILES.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/CACHE_VARIABLES.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/CLEAN_NO_CUSTOM.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/CMAKE_CONFIGURE_DEPENDS.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/COMPILE_DEFINITIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/COMPILE_DEFINITIONS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/COMPILE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/DEFINITIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/EXCLUDE_FROM_ALL.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/INCLUDE_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/LINK_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/LISTFILE_STACK.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/MACROS.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/PARENT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/RULE_LAUNCH_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/RULE_LAUNCH_CUSTOM.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/RULE_LAUNCH_LINK.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/TEST_INCLUDE_FILE.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/VARIABLES.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
+file path=usr/share/cmake-3.3/Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/DEBUG_CONFIGURATIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/DISABLED_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/ECLIPSE_EXTRA_NATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/ENABLED_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/ENABLED_LANGUAGES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/FIND_LIBRARY_USE_LIB64_PATHS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/GLOBAL_DEPENDS_DEBUG_MODE.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/GLOBAL_DEPENDS_NO_CYCLES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/IN_TRY_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/JOB_POOLS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/PACKAGES_FOUND.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/PACKAGES_NOT_FOUND.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/PREDEFINED_TARGETS_FOLDER.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/REPORT_UNDEFINED_PROPERTIES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/RULE_LAUNCH_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/RULE_LAUNCH_CUSTOM.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/RULE_LAUNCH_LINK.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/RULE_MESSAGES.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS.rst
+file path=usr/share/cmake-3.3/Help/prop_gbl/USE_FOLDERS.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_DESKTOP_SHORTCUTS.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_NEVER_OVERWRITE.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_PERMANENT.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_STARTUP_SHORTCUTS.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_START_MENU_SHORTCUTS.rst
+file path=usr/share/cmake-3.3/Help/prop_inst/CPACK_WIX_ACL.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/ABSTRACT.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/AUTORCC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/AUTOUIC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/COMPILE_DEFINITIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/COMPILE_DEFINITIONS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/COMPILE_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/EXTERNAL_OBJECT.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/Fortran_FORMAT.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/GENERATED.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/HEADER_FILE_ONLY.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/KEEP_EXTENSION.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/LABELS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/LANGUAGE.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/LOCATION.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/MACOSX_PACKAGE_LOCATION.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/OBJECT_DEPENDS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/OBJECT_OUTPUTS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/SYMBOLIC.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_DEPLOYMENT_CONTENT.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_SHADER_ENTRYPOINT.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_SHADER_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_SHADER_MODEL.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_SHADER_TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/VS_XAML_TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/WRAP_EXCLUDE.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/XCODE_EXPLICIT_FILE_TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_test/ATTACHED_FILES.rst
+file path=usr/share/cmake-3.3/Help/prop_test/ATTACHED_FILES_ON_FAIL.rst
+file path=usr/share/cmake-3.3/Help/prop_test/COST.rst
+file path=usr/share/cmake-3.3/Help/prop_test/DEPENDS.rst
+file path=usr/share/cmake-3.3/Help/prop_test/ENVIRONMENT.rst
+file path=usr/share/cmake-3.3/Help/prop_test/FAIL_REGULAR_EXPRESSION.rst
+file path=usr/share/cmake-3.3/Help/prop_test/LABELS.rst
+file path=usr/share/cmake-3.3/Help/prop_test/MEASUREMENT.rst
+file path=usr/share/cmake-3.3/Help/prop_test/PASS_REGULAR_EXPRESSION.rst
+file path=usr/share/cmake-3.3/Help/prop_test/PROCESSORS.rst
+file path=usr/share/cmake-3.3/Help/prop_test/REQUIRED_FILES.rst
+file path=usr/share/cmake-3.3/Help/prop_test/RESOURCE_LOCK.rst
+file path=usr/share/cmake-3.3/Help/prop_test/RUN_SERIAL.rst
+file path=usr/share/cmake-3.3/Help/prop_test/SKIP_RETURN_CODE.rst
+file path=usr/share/cmake-3.3/Help/prop_test/TIMEOUT.rst
+file path=usr/share/cmake-3.3/Help/prop_test/WILL_FAIL.rst
+file path=usr/share/cmake-3.3/Help/prop_test/WORKING_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ALIASED_TARGET.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ANDROID_API.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ANDROID_API_MIN.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ANDROID_GUI.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ARCHIVE_OUTPUT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ARCHIVE_OUTPUT_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTOGEN_TARGET_DEPENDS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTOMOC.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTOMOC_MOC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTORCC.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTORCC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTOUIC.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/AUTOUIC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/BUILD_WITH_INSTALL_RPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/BUNDLE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/BUNDLE_EXTENSION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPATIBLE_INTERFACE_BOOL.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MAX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPATIBLE_INTERFACE_NUMBER_MIN.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPATIBLE_INTERFACE_STRING.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_DEFINITIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_DEFINITIONS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_PDB_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_PDB_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_PDB_NOTE.txt
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CONFIG_OUTPUT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CONFIG_POSTFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CXX_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CXX_STANDARD.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/CXX_STANDARD_REQUIRED.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/C_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/C_STANDARD.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/C_STANDARD_REQUIRED.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/DEBUG_POSTFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/DEFINE_SYMBOL.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/ENABLE_EXPORTS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/EXCLUDE_FROM_ALL.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/EXCLUDE_FROM_DEFAULT_BUILD_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/EXPORT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/EchoString.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/FOLDER.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/FRAMEWORK.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/Fortran_FORMAT.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/Fortran_MODULE_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/GENERATOR_FILE_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/GNUtoMS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/HAS_CXX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_CONFIGURATIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_IMPLIB.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_IMPLIB_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_DEPENDENT_LIBRARIES_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LANGUAGES_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_LIBRARIES_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LOCATION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_LOCATION_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_NO_SONAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_NO_SONAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_SONAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORTED_SONAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORT_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/IMPORT_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INCLUDE_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INSTALL_NAME_DIR.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INSTALL_RPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INSTALL_RPATH_USE_LINK_PATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_AUTOUIC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_BUILD_PROPERTY.txt
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_COMPILE_DEFINITIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_COMPILE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_INCLUDE_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_LINK_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_POSITION_INDEPENDENT_CODE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_SOURCES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/INTERPROCEDURAL_OPTIMIZATION_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/JOB_POOL_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/JOB_POOL_LINK.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LABELS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LIBRARY_OUTPUT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINKER_LANGUAGE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_DEPENDS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_DEPENDS_NO_SHARED.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_INTERFACE_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_INTERFACE_LIBRARIES_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_INTERFACE_MULTIPLICITY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_SEARCH_END_STATIC.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LINK_SEARCH_START_STATIC.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LOCATION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/LOCATION_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/MACOSX_BUNDLE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/MACOSX_RPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/NO_SONAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/OSX_ARCHITECTURES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/OSX_ARCHITECTURES_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/OUTPUT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/OUTPUT_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PDB_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PDB_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PDB_NOTE.txt
+file path=usr/share/cmake-3.3/Help/prop_tgt/PDB_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/POSITION_INDEPENDENT_CODE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/POST_INSTALL_SCRIPT.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PREFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PRE_INSTALL_SCRIPT.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PRIVATE_HEADER.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PROJECT_LABEL.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/PUBLIC_HEADER.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RESOURCE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RULE_LAUNCH_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RULE_LAUNCH_CUSTOM.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RULE_LAUNCH_LINK.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RUNTIME_OUTPUT_NAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/RUNTIME_OUTPUT_NAME_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/SKIP_BUILD_RPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/SOURCES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/SOVERSION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/STATIC_LIBRARY_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/STATIC_LIBRARY_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/TYPE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VERSION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_DOTNET_REFERENCES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_DOTNET_TARGET_FRAMEWORK_VERSION.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_GLOBAL_PROJECT_TYPES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_GLOBAL_ROOTNAMESPACE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_GLOBAL_variable.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_KEYWORD.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_SCC_AUXPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_SCC_LOCALPATH.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_SCC_PROJECTNAME.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_SCC_PROVIDER.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_WINRT_COMPONENT.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_WINRT_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/VS_WINRT_REFERENCES.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/WIN32_EXECUTABLE.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/XCODE_ATTRIBUTE_an-attribute.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/XCTEST.rst
+file path=usr/share/cmake-3.3/Help/prop_tgt/XXX_OUTPUT_DIRECTORY.txt
+file path=usr/share/cmake-3.3/Help/prop_tgt/XXX_OUTPUT_NAME.txt
+file path=usr/share/cmake-3.3/Help/release/3.0.rst
+file path=usr/share/cmake-3.3/Help/release/3.1.rst
+file path=usr/share/cmake-3.3/Help/release/3.2.rst
+file path=usr/share/cmake-3.3/Help/release/3.3.rst
+file path=usr/share/cmake-3.3/Help/release/dev.txt
+file path=usr/share/cmake-3.3/Help/release/index.rst
+file path=usr/share/cmake-3.3/Help/variable/APPLE.rst
+file path=usr/share/cmake-3.3/Help/variable/BORLAND.rst
+file path=usr/share/cmake-3.3/Help/variable/BUILD_SHARED_LIBS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ABSOLUTE_DESTINATION_FILES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ANDROID_API.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ANDROID_API_MIN.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ANDROID_GUI.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_APPBUNDLE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ARCHIVE_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ARGC.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ARGV0.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTOMOC.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTOMOC_MOC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTOMOC_RELAXED_MODE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTORCC.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTORCC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTOUIC.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_AUTOUIC_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_BACKWARDS_COMPATIBILITY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_BINARY_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_BUILD_TOOL.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_BUILD_TYPE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CACHEFILE_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CACHE_MAJOR_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CACHE_MINOR_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CACHE_PATCH_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CFG_INTDIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CL_64.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COLOR_MAKEFILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COMPILER_2005.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COMPILER_IS_GNULANG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CONFIGURATION_TYPES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CONFIG_POSTFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CROSSCOMPILING.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CROSSCOMPILING_EMULATOR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CTEST_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CURRENT_BINARY_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CURRENT_LIST_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CURRENT_LIST_FILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CURRENT_LIST_LINE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CURRENT_SOURCE_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CXX_COMPILE_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CXX_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CXX_STANDARD.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_CXX_STANDARD_REQUIRED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_C_COMPILE_FEATURES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_C_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_C_STANDARD.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_C_STANDARD_REQUIRED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_DEBUG_POSTFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_DEBUG_TARGET_PROPERTIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_DL_LIBS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EDIT_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ERROR_DEPRECATED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXECUTABLE_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXE_LINKER_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXTRA_GENERATOR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_LIBRARY_PREFIXES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_LIBRARY_SUFFIXES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_NO_INSTALL_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_PACKAGE_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_PACKAGE_WARN_NO_MODULE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_INCLUDE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_LIBRARY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PACKAGE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_PROGRAM.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FIND_ROOT_PATH_MODE_XXX.txt
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_FRAMEWORK_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_Fortran_FORMAT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_Fortran_MODDIR_DEFAULT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_Fortran_MODDIR_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_Fortran_MODOUT_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_Fortran_MODULE_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_GENERATOR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_GENERATOR_PLATFORM.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_GENERATOR_TOOLSET.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_GNUtoMS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOME_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_APPLE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_SYSTEM.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_SYSTEM_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_SYSTEM_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_UNIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_HOST_WIN32.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_IGNORE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_IMPORT_LIBRARY_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_IMPORT_LIBRARY_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INCLUDE_CURRENT_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INCLUDE_DIRECTORIES_BEFORE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INCLUDE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_DEFAULT_COMPONENT_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_MESSAGE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_NAME_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_INTERNAL_PLATFORM_ABI.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_JOB_POOL_COMPILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_JOB_POOL_LINK.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_ARCHIVE_APPEND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_ARCHIVE_CREATE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_ARCHIVE_FINISH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_ABI.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_EXTERNAL_TOOLCHAIN.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_ID.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_LOADED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_TARGET.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILER_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_COMPILE_OBJECT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_CREATE_SHARED_LIBRARY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_CREATE_SHARED_MODULE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_CREATE_STATIC_LIBRARY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_FLAGS_DEBUG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_FLAGS_MINSIZEREL.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_FLAGS_RELEASE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_FLAGS_RELWITHDEBINFO.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_DEBUG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_MINSIZEREL.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELEASE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_GHS_KERNEL_FLAGS_RELWITHDEBINFO.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_IGNORE_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_IMPLICIT_INCLUDE_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_IMPLICIT_LINK_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_LIBRARY_ARCHITECTURE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_LINKER_PREFERENCE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_LINKER_PREFERENCE_PROPAGATES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_LINK_EXECUTABLE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_OUTPUT_EXTENSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_PLATFORM_ID.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_SIMULATE_ID.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_SIMULATE_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_SIZEOF_DATA_PTR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_SOURCE_FILE_EXTENSIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LANG_VISIBILITY_PRESET.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_ARCHITECTURE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_ARCHITECTURE_REGEX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LIBRARY_PATH_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_DEF_FILE_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_DEPENDS_NO_SHARED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_INTERFACE_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_LIBRARY_FILE_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_LIBRARY_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_LINK_LIBRARY_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MACOSX_BUNDLE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MACOSX_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MAJOR_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MAKE_PROGRAM.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MAP_IMPORTED_CONFIG_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MATCH_COUNT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MFC_FLAG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MINIMUM_REQUIRED_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MINOR_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MODULE_LINKER_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MODULE_LINKER_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_MODULE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_NOT_USING_CONFIG_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_NO_BUILTIN_CHRPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_NO_SYSTEM_FROM_IMPORTED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_OBJECT_PATH_MAX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_OSX_ARCHITECTURES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_OSX_DEPLOYMENT_TARGET.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_OSX_SYSROOT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_OSX_VARIABLE.txt
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PARENT_LIST_FILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PATCH_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_POLICY_WARNING_CMPNNNN.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_POSITION_INDEPENDENT_CODE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PREFIX_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PROGRAM_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PROJECT_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_PROJECT_PROJECT-NAME_INCLUDE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_RANLIB.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_ROOT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_RUNTIME_OUTPUT_DIRECTORY_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SCRIPT_MODE_FILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_LIBRARY_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_LIBRARY_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_LINKER_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_LINKER_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_MODULE_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SHARED_MODULE_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SIZEOF_VOID_P.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SKIP_BUILD_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SKIP_INSTALL_ALL_DEPENDENCY.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SKIP_INSTALL_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SKIP_INSTALL_RULES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SKIP_RPATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SOURCE_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STAGING_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STANDARD_LIBRARIES.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STATIC_LIBRARY_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STATIC_LIBRARY_SUFFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STATIC_LINKER_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_STATIC_LINKER_FLAGS_CONFIG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSROOT.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_IGNORE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_INCLUDE_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_LIBRARY_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_PROGRAM_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_SYSTEM_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_TOOLCHAIN_FILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_TRY_COMPILE_CONFIGURATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_TWEAK_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_USER_MAKE_RULES_OVERRIDE_LANG.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_USE_RELATIVE_PATHS.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VERBOSE_MAKEFILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VISIBILITY_INLINES_HIDDEN.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_MSBUILD_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_MSDEV_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_NsightTegra_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_PLATFORM_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_VS_PLATFORM_TOOLSET.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_WARN_DEPRECATED.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_WIN32_EXECUTABLE.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_XCODE_ATTRIBUTE_an-attribute.rst
+file path=usr/share/cmake-3.3/Help/variable/CMAKE_XCODE_PLATFORM_TOOLSET.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_ABSOLUTE_DESTINATION_FILES.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_INCLUDE_TOPLEVEL_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_INSTALL_SCRIPT.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_PACKAGING_INSTALL_PREFIX.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_SET_DESTDIR.rst
+file path=usr/share/cmake-3.3/Help/variable/CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_BINARY_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_BUILD_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_BUILD_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_BZR_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_BZR_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CHECKOUT_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CONFIGURATION_TYPE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CONFIGURE_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_COVERAGE_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_COVERAGE_EXTRA_FLAGS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CURL_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CVS_CHECKOUT.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CVS_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_CVS_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_LOCATION.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_METHOD.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_SITE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_SITE_CDASH.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_SITE_PASSWORD.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_DROP_SITE_USER.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_GIT_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_GIT_UPDATE_CUSTOM.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_GIT_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_HG_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_HG_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_MEMORYCHECK_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_MEMORYCHECK_COMMAND_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_MEMORYCHECK_SANITIZER_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_MEMORYCHECK_SUPPRESSIONS_FILE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_MEMORYCHECK_TYPE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_NIGHTLY_START_TIME.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_P4_CLIENT.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_P4_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_P4_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_P4_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SCP_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SITE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SOURCE_DIRECTORY.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SVN_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SVN_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_SVN_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_TEST_TIMEOUT.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_TRIGGER_SITE.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_UPDATE_COMMAND.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_UPDATE_OPTIONS.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_UPDATE_VERSION_ONLY.rst
+file path=usr/share/cmake-3.3/Help/variable/CTEST_USE_LAUNCHERS.rst
+file path=usr/share/cmake-3.3/Help/variable/CYGWIN.rst
+file path=usr/share/cmake-3.3/Help/variable/ENV.rst
+file path=usr/share/cmake-3.3/Help/variable/EXECUTABLE_OUTPUT_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/GHS-MULTI.rst
+file path=usr/share/cmake-3.3/Help/variable/LIBRARY_OUTPUT_PATH.rst
+file path=usr/share/cmake-3.3/Help/variable/MINGW.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC10.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC11.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC12.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC14.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC60.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC70.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC71.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC80.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC90.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC_IDE.rst
+file path=usr/share/cmake-3.3/Help/variable/MSVC_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_BINARY_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_SOURCE_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_VERSION_MAJOR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_VERSION_MINOR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_VERSION_PATCH.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT-NAME_VERSION_TWEAK.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_BINARY_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_NAME.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_SOURCE_DIR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_VERSION.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_VERSION_MAJOR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_VERSION_MINOR.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_VERSION_PATCH.rst
+file path=usr/share/cmake-3.3/Help/variable/PROJECT_VERSION_TWEAK.rst
+file path=usr/share/cmake-3.3/Help/variable/UNIX.rst
+file path=usr/share/cmake-3.3/Help/variable/WIN32.rst
+file path=usr/share/cmake-3.3/Help/variable/WINCE.rst
+file path=usr/share/cmake-3.3/Help/variable/WINDOWS_PHONE.rst
+file path=usr/share/cmake-3.3/Help/variable/WINDOWS_STORE.rst
+file path=usr/share/cmake-3.3/Help/variable/XCODE_VERSION.rst
+file path=usr/share/cmake-3.3/Modules/AddFileDependencies.cmake
+file path=usr/share/cmake-3.3/Modules/AutogenInfo.cmake.in
+file path=usr/share/cmake-3.3/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
+file path=usr/share/cmake-3.3/Modules/BasicConfigVersion-ExactVersion.cmake.in
+file path=usr/share/cmake-3.3/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
+file path=usr/share/cmake-3.3/Modules/BundleUtilities.cmake
+file path=usr/share/cmake-3.3/Modules/CMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeASM-ATTInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeASMCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeASMInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeASM_MASMInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeASM_NASMInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeAddFortranSubdirectory.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeAddFortranSubdirectory/build_mingw.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeAddFortranSubdirectory/config_mingw.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeAddNewLanguage.txt
+file path=usr/share/cmake-3.3/Modules/CMakeBackwardCompatibilityC.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeBackwardCompatibilityCXX.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeBorlandFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeBuildSettings.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeCCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeCCompilerABI.c
+file path=usr/share/cmake-3.3/Modules/CMakeCCompilerId.c.in
+file path=usr/share/cmake-3.3/Modules/CMakeCInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeCXXCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeCXXCompilerABI.cpp
+file path=usr/share/cmake-3.3/Modules/CMakeCXXCompilerId.cpp.in
+file path=usr/share/cmake-3.3/Modules/CMakeCXXInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeClDeps.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeCommonLanguageInclude.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeCompilerABI.h
+file path=usr/share/cmake-3.3/Modules/CMakeCompilerIdDetection.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeConfigurableFile.in
+file path=usr/share/cmake-3.3/Modules/CMakeDependentOption.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineASM-ATTCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineASM_MASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineASM_NASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCXXCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCompileFeatures.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCompilerABI.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineCompilerId.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineFortranCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineJavaCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineRCCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineSystem.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeDetermineVSServicePack.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeExpandImportedTargets.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeExportBuildSettings.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindBinUtils.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindCodeBlocks.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindDependencyMacro.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindEclipseCDT4.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindFrameworks.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindJavaCommon.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindKDevelop3.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindKate.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindPackageMode.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindWMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFindXCode.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeForceCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeFortranCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeFortranCompilerABI.F
+file path=usr/share/cmake-3.3/Modules/CMakeFortranCompilerId.F.in
+file path=usr/share/cmake-3.3/Modules/CMakeFortranInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeGenericSystem.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeGraphVizOptions.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeImportBuildSettings.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeJOMFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeJavaCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeJavaInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeMSYSFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeMinGWFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeNMakeFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeNinjaFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakePackageConfigHelpers.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeParseArguments.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeParseImplicitLinkInfo.cmake
+file path=usr/share/cmake-3.3/Modules/CMakePlatformId.h.in
+file path=usr/share/cmake-3.3/Modules/CMakePrintHelpers.cmake
+file path=usr/share/cmake-3.3/Modules/CMakePrintSystemInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakePushCheckState.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeRCCompiler.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeRCInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeSystem.cmake.in
+file path=usr/share/cmake-3.3/Modules/CMakeSystemSpecificInformation.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeSystemSpecificInitialize.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestASM-ATTCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestASM_MASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestASM_NASMCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestCCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestCXXCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestCompilerCommon.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestFortranCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestGNU.c
+file path=usr/share/cmake-3.3/Modules/CMakeTestJavaCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestRCCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeTestWatcomVersion.c
+file path=usr/share/cmake-3.3/Modules/CMakeUnixFindMake.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeVS6BackwardCompatibility.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeVS7BackwardCompatibility.cmake
+file path=usr/share/cmake-3.3/Modules/CMakeVerifyManifest.cmake
+file path=usr/share/cmake-3.3/Modules/CPack.DS_Store.in
+file path=usr/share/cmake-3.3/Modules/CPack.Description.plist.in
+file path=usr/share/cmake-3.3/Modules/CPack.Info.plist.in
+file path=usr/share/cmake-3.3/Modules/CPack.OSXScriptLauncher.in
+file path=usr/share/cmake-3.3/Modules/CPack.OSXScriptLauncher.rsrc.in
+file path=usr/share/cmake-3.3/Modules/CPack.OSXX11.Info.plist.in
+file path=usr/share/cmake-3.3/Modules/CPack.OSXX11.main.scpt.in
+file path=usr/share/cmake-3.3/Modules/CPack.RuntimeScript.in
+file path=usr/share/cmake-3.3/Modules/CPack.STGZ_Header.sh.in
+file path=usr/share/cmake-3.3/Modules/CPack.VolumeIcon.icns.in
+file path=usr/share/cmake-3.3/Modules/CPack.background.png.in
+file path=usr/share/cmake-3.3/Modules/CPack.cmake
+file path=usr/share/cmake-3.3/Modules/CPack.distribution.dist.in
+file path=usr/share/cmake-3.3/Modules/CPackBundle.cmake
+file path=usr/share/cmake-3.3/Modules/CPackComponent.cmake
+file path=usr/share/cmake-3.3/Modules/CPackCygwin.cmake
+file path=usr/share/cmake-3.3/Modules/CPackDMG.cmake
+file path=usr/share/cmake-3.3/Modules/CPackDeb.cmake
+file path=usr/share/cmake-3.3/Modules/CPackIFW.cmake
+file path=usr/share/cmake-3.3/Modules/CPackNSIS.cmake
+file path=usr/share/cmake-3.3/Modules/CPackPackageMaker.cmake
+file path=usr/share/cmake-3.3/Modules/CPackRPM.cmake
+file path=usr/share/cmake-3.3/Modules/CPackWIX.cmake
+file path=usr/share/cmake-3.3/Modules/CPackZIP.cmake
+file path=usr/share/cmake-3.3/Modules/CTest.cmake
+file path=usr/share/cmake-3.3/Modules/CTestCoverageCollectGCOV.cmake
+file path=usr/share/cmake-3.3/Modules/CTestScriptMode.cmake
+file path=usr/share/cmake-3.3/Modules/CTestTargets.cmake
+file path=usr/share/cmake-3.3/Modules/CTestUseLaunchers.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCCompilerFlag.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCSourceCompiles.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCSourceRuns.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCXXCompilerFlag.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCXXSourceCompiles.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCXXSourceRuns.cmake
+file path=usr/share/cmake-3.3/Modules/CheckCXXSymbolExists.cmake
+file path=usr/share/cmake-3.3/Modules/CheckForPthreads.c
+file path=usr/share/cmake-3.3/Modules/CheckFortranCompilerFlag.cmake
+file path=usr/share/cmake-3.3/Modules/CheckFortranFunctionExists.cmake
+file path=usr/share/cmake-3.3/Modules/CheckFortranSourceCompiles.cmake
+file path=usr/share/cmake-3.3/Modules/CheckFunctionExists.c
+file path=usr/share/cmake-3.3/Modules/CheckFunctionExists.cmake
+file path=usr/share/cmake-3.3/Modules/CheckIncludeFile.c.in
+file path=usr/share/cmake-3.3/Modules/CheckIncludeFile.cmake
+file path=usr/share/cmake-3.3/Modules/CheckIncludeFile.cxx.in
+file path=usr/share/cmake-3.3/Modules/CheckIncludeFileCXX.cmake
+file path=usr/share/cmake-3.3/Modules/CheckIncludeFiles.cmake
+file path=usr/share/cmake-3.3/Modules/CheckLanguage.cmake
+file path=usr/share/cmake-3.3/Modules/CheckLibraryExists.cmake
+file path=usr/share/cmake-3.3/Modules/CheckLibraryExists.lists.in
+file path=usr/share/cmake-3.3/Modules/CheckPrototypeDefinition.c.in
+file path=usr/share/cmake-3.3/Modules/CheckPrototypeDefinition.cmake
+file path=usr/share/cmake-3.3/Modules/CheckSizeOf.cmake
+file path=usr/share/cmake-3.3/Modules/CheckStructHasMember.cmake
+file path=usr/share/cmake-3.3/Modules/CheckSymbolExists.cmake
+file path=usr/share/cmake-3.3/Modules/CheckTypeSize.c.in
+file path=usr/share/cmake-3.3/Modules/CheckTypeSize.cmake
+file path=usr/share/cmake-3.3/Modules/CheckTypeSizeMap.cmake.in
+file path=usr/share/cmake-3.3/Modules/CheckVariableExists.c
+file path=usr/share/cmake-3.3/Modules/CheckVariableExists.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/ADSP-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Absoft-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-C-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/AppleClang-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Borland-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-C-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-CXX-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Clang.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Compaq-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Cray-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Cray-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Cray-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Cray-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/G95-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GHS-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GHS-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GHS-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-C-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/HP-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IAR-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IAR-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IAR-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IAR-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IAR.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Intel-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Intel-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Intel-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Intel-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Intel-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MIPSpro-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MIPSpro-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MIPSpro-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MIPSpro-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MSVC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/MSVC-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/NAG-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PGI-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PGI-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PGI-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PGI-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PGI.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PathScale-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PathScale-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PathScale-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PathScale-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/PathScale.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/QCC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/QCC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/QCC.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SCO-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SCO-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SCO-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SCO.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/SunPro-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TI-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TI-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TI-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TI-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/TinyCC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/VisualAge-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/VisualAge-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/VisualAge-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/Watcom-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/XL.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/zOS-C-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
+file path=usr/share/cmake-3.3/Modules/CompilerId/VS-10.vcxproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/VS-6.dsp.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/VS-7.vcproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/VS-Intel.vfproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/VS-NsightTegra.vcxproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/Xcode-1.pbxproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/Xcode-2.pbxproj.in
+file path=usr/share/cmake-3.3/Modules/CompilerId/Xcode-3.pbxproj.in
+file path=usr/share/cmake-3.3/Modules/Dart.cmake
+file path=usr/share/cmake-3.3/Modules/DartConfiguration.tcl.in
+file path=usr/share/cmake-3.3/Modules/DeployQt4.cmake
+file path=usr/share/cmake-3.3/Modules/Documentation.cmake
+file path=usr/share/cmake-3.3/Modules/DummyCXXFile.cxx
+file path=usr/share/cmake-3.3/Modules/ExternalData.cmake
+file path=usr/share/cmake-3.3/Modules/ExternalData_config.cmake.in
+file path=usr/share/cmake-3.3/Modules/ExternalProject.cmake
+file path=usr/share/cmake-3.3/Modules/FLTKCompatibility.cmake
+file path=usr/share/cmake-3.3/Modules/FeatureSummary.cmake
+file path=usr/share/cmake-3.3/Modules/FindALSA.cmake
+file path=usr/share/cmake-3.3/Modules/FindASPELL.cmake
+file path=usr/share/cmake-3.3/Modules/FindAVIFile.cmake
+file path=usr/share/cmake-3.3/Modules/FindArmadillo.cmake
+file path=usr/share/cmake-3.3/Modules/FindBISON.cmake
+file path=usr/share/cmake-3.3/Modules/FindBLAS.cmake
+file path=usr/share/cmake-3.3/Modules/FindBZip2.cmake
+file path=usr/share/cmake-3.3/Modules/FindBacktrace.cmake
+file path=usr/share/cmake-3.3/Modules/FindBoost.cmake
+file path=usr/share/cmake-3.3/Modules/FindBullet.cmake
+file path=usr/share/cmake-3.3/Modules/FindCABLE.cmake
+file path=usr/share/cmake-3.3/Modules/FindCUDA.cmake
+file path=usr/share/cmake-3.3/Modules/FindCUDA/make2cmake.cmake
+file path=usr/share/cmake-3.3/Modules/FindCUDA/parse_cubin.cmake
+file path=usr/share/cmake-3.3/Modules/FindCUDA/run_nvcc.cmake
+file path=usr/share/cmake-3.3/Modules/FindCURL.cmake
+file path=usr/share/cmake-3.3/Modules/FindCVS.cmake
+file path=usr/share/cmake-3.3/Modules/FindCoin3D.cmake
+file path=usr/share/cmake-3.3/Modules/FindCups.cmake
+file path=usr/share/cmake-3.3/Modules/FindCurses.cmake
+file path=usr/share/cmake-3.3/Modules/FindCxxTest.cmake
+file path=usr/share/cmake-3.3/Modules/FindCygwin.cmake
+file path=usr/share/cmake-3.3/Modules/FindDCMTK.cmake
+file path=usr/share/cmake-3.3/Modules/FindDart.cmake
+file path=usr/share/cmake-3.3/Modules/FindDevIL.cmake
+file path=usr/share/cmake-3.3/Modules/FindDoxygen.cmake
+file path=usr/share/cmake-3.3/Modules/FindEXPAT.cmake
+file path=usr/share/cmake-3.3/Modules/FindFLEX.cmake
+file path=usr/share/cmake-3.3/Modules/FindFLTK.cmake
+file path=usr/share/cmake-3.3/Modules/FindFLTK2.cmake
+file path=usr/share/cmake-3.3/Modules/FindFreetype.cmake
+file path=usr/share/cmake-3.3/Modules/FindGCCXML.cmake
+file path=usr/share/cmake-3.3/Modules/FindGDAL.cmake
+file path=usr/share/cmake-3.3/Modules/FindGIF.cmake
+file path=usr/share/cmake-3.3/Modules/FindGLEW.cmake
+file path=usr/share/cmake-3.3/Modules/FindGLU.cmake
+file path=usr/share/cmake-3.3/Modules/FindGLUT.cmake
+file path=usr/share/cmake-3.3/Modules/FindGSL.cmake
+file path=usr/share/cmake-3.3/Modules/FindGTK.cmake
+file path=usr/share/cmake-3.3/Modules/FindGTK2.cmake
+file path=usr/share/cmake-3.3/Modules/FindGTest.cmake
+file path=usr/share/cmake-3.3/Modules/FindGettext.cmake
+file path=usr/share/cmake-3.3/Modules/FindGit.cmake
+file path=usr/share/cmake-3.3/Modules/FindGnuTLS.cmake
+file path=usr/share/cmake-3.3/Modules/FindGnuplot.cmake
+file path=usr/share/cmake-3.3/Modules/FindHDF5.cmake
+file path=usr/share/cmake-3.3/Modules/FindHSPELL.cmake
+file path=usr/share/cmake-3.3/Modules/FindHTMLHelp.cmake
+file path=usr/share/cmake-3.3/Modules/FindHg.cmake
+file path=usr/share/cmake-3.3/Modules/FindIce.cmake
+file path=usr/share/cmake-3.3/Modules/FindIcotool.cmake
+file path=usr/share/cmake-3.3/Modules/FindImageMagick.cmake
+file path=usr/share/cmake-3.3/Modules/FindIntl.cmake
+file path=usr/share/cmake-3.3/Modules/FindJNI.cmake
+file path=usr/share/cmake-3.3/Modules/FindJPEG.cmake
+file path=usr/share/cmake-3.3/Modules/FindJasper.cmake
+file path=usr/share/cmake-3.3/Modules/FindJava.cmake
+file path=usr/share/cmake-3.3/Modules/FindKDE3.cmake
+file path=usr/share/cmake-3.3/Modules/FindKDE4.cmake
+file path=usr/share/cmake-3.3/Modules/FindLAPACK.cmake
+file path=usr/share/cmake-3.3/Modules/FindLATEX.cmake
+file path=usr/share/cmake-3.3/Modules/FindLibArchive.cmake
+file path=usr/share/cmake-3.3/Modules/FindLibLZMA.cmake
+file path=usr/share/cmake-3.3/Modules/FindLibXml2.cmake
+file path=usr/share/cmake-3.3/Modules/FindLibXslt.cmake
+file path=usr/share/cmake-3.3/Modules/FindLua.cmake
+file path=usr/share/cmake-3.3/Modules/FindLua50.cmake
+file path=usr/share/cmake-3.3/Modules/FindLua51.cmake
+file path=usr/share/cmake-3.3/Modules/FindMFC.cmake
+file path=usr/share/cmake-3.3/Modules/FindMPEG.cmake
+file path=usr/share/cmake-3.3/Modules/FindMPEG2.cmake
+file path=usr/share/cmake-3.3/Modules/FindMPI.cmake
+file path=usr/share/cmake-3.3/Modules/FindMatlab.cmake
+file path=usr/share/cmake-3.3/Modules/FindMotif.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenAL.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenCL.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenGL.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenMP.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenSSL.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenSceneGraph.cmake
+file path=usr/share/cmake-3.3/Modules/FindOpenThreads.cmake
+file path=usr/share/cmake-3.3/Modules/FindPHP4.cmake
+file path=usr/share/cmake-3.3/Modules/FindPNG.cmake
+file path=usr/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake
+file path=usr/share/cmake-3.3/Modules/FindPackageMessage.cmake
+file path=usr/share/cmake-3.3/Modules/FindPerl.cmake
+file path=usr/share/cmake-3.3/Modules/FindPerlLibs.cmake
+file path=usr/share/cmake-3.3/Modules/FindPhysFS.cmake
+file path=usr/share/cmake-3.3/Modules/FindPike.cmake
+file path=usr/share/cmake-3.3/Modules/FindPkgConfig.cmake
+file path=usr/share/cmake-3.3/Modules/FindPostgreSQL.cmake
+file path=usr/share/cmake-3.3/Modules/FindProducer.cmake
+file path=usr/share/cmake-3.3/Modules/FindProtobuf.cmake
+file path=usr/share/cmake-3.3/Modules/FindPythonInterp.cmake
+file path=usr/share/cmake-3.3/Modules/FindPythonLibs.cmake
+file path=usr/share/cmake-3.3/Modules/FindQt.cmake
+file path=usr/share/cmake-3.3/Modules/FindQt3.cmake
+file path=usr/share/cmake-3.3/Modules/FindQt4.cmake
+file path=usr/share/cmake-3.3/Modules/FindQuickTime.cmake
+file path=usr/share/cmake-3.3/Modules/FindRTI.cmake
+file path=usr/share/cmake-3.3/Modules/FindRuby.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL_image.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL_mixer.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL_net.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL_sound.cmake
+file path=usr/share/cmake-3.3/Modules/FindSDL_ttf.cmake
+file path=usr/share/cmake-3.3/Modules/FindSWIG.cmake
+file path=usr/share/cmake-3.3/Modules/FindSelfPackers.cmake
+file path=usr/share/cmake-3.3/Modules/FindSquish.cmake
+file path=usr/share/cmake-3.3/Modules/FindSubversion.cmake
+file path=usr/share/cmake-3.3/Modules/FindTCL.cmake
+file path=usr/share/cmake-3.3/Modules/FindTIFF.cmake
+file path=usr/share/cmake-3.3/Modules/FindTclStub.cmake
+file path=usr/share/cmake-3.3/Modules/FindTclsh.cmake
+file path=usr/share/cmake-3.3/Modules/FindThreads.cmake
+file path=usr/share/cmake-3.3/Modules/FindUnixCommands.cmake
+file path=usr/share/cmake-3.3/Modules/FindWget.cmake
+file path=usr/share/cmake-3.3/Modules/FindWish.cmake
+file path=usr/share/cmake-3.3/Modules/FindX11.cmake
+file path=usr/share/cmake-3.3/Modules/FindXCTest.cmake
+file path=usr/share/cmake-3.3/Modules/FindXMLRPC.cmake
+file path=usr/share/cmake-3.3/Modules/FindXercesC.cmake
+file path=usr/share/cmake-3.3/Modules/FindZLIB.cmake
+file path=usr/share/cmake-3.3/Modules/Findosg.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgAnimation.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgDB.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgFX.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgGA.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgIntrospection.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgManipulator.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgParticle.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgPresentation.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgProducer.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgQt.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgShadow.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgSim.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgTerrain.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgText.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgUtil.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgViewer.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgVolume.cmake
+file path=usr/share/cmake-3.3/Modules/FindosgWidget.cmake
+file path=usr/share/cmake-3.3/Modules/Findosg_functions.cmake
+file path=usr/share/cmake-3.3/Modules/FindwxWidgets.cmake
+file path=usr/share/cmake-3.3/Modules/FindwxWindows.cmake
+file path=usr/share/cmake-3.3/Modules/FortranCInterface.cmake
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/CMakeLists.txt
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Detect.cmake
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Input.cmake.in
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Macro.h.in
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Output.cmake.in
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Verify/CMakeLists.txt
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Verify/VerifyC.c
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Verify/VerifyCXX.cxx
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Verify/VerifyFortran.f
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/Verify/main.c
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/call_mod.f90
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/call_sub.f
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/main.F
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/my_module.f90
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/my_module_.c
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/my_sub.f
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/mymodule.f90
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/mymodule_.c
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/mysub.f
+file path=usr/share/cmake-3.3/Modules/FortranCInterface/symbol.c.in
+file path=usr/share/cmake-3.3/Modules/GNUInstallDirs.cmake
+file path=usr/share/cmake-3.3/Modules/GenerateExportHeader.cmake
+file path=usr/share/cmake-3.3/Modules/GetPrerequisites.cmake
+file path=usr/share/cmake-3.3/Modules/ITKCompatibility.cmake
+file path=usr/share/cmake-3.3/Modules/InstallRequiredSystemLibraries.cmake
+file path=usr/share/cmake-3.3/Modules/IntelVSImplicitPath/CMakeLists.txt
+file path=usr/share/cmake-3.3/Modules/IntelVSImplicitPath/detect.cmake
+file path=usr/share/cmake-3.3/Modules/IntelVSImplicitPath/hello.f
+file path=usr/share/cmake-3.3/Modules/Internal/FeatureTesting.cmake
+file path=usr/share/cmake-3.3/Modules/KDE3Macros.cmake
+file path=usr/share/cmake-3.3/Modules/MacOSXBundleInfo.plist.in
+file path=usr/share/cmake-3.3/Modules/MacOSXFrameworkInfo.plist.in
+file path=usr/share/cmake-3.3/Modules/MacroAddFileDependencies.cmake
+file path=usr/share/cmake-3.3/Modules/MatlabTestsRedirect.cmake
+file path=usr/share/cmake-3.3/Modules/NSIS.InstallOptions.ini.in
+file path=usr/share/cmake-3.3/Modules/NSIS.template.in
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-GNU-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-VisualAge-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-VisualAge-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-VisualAge-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-XL-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX-XL.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/AIX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Android.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BSDOS.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BeOS.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneL.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-base.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-dynamic.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneP-static.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-base.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-dynamic.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/BlueGeneQ-static.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN-windres.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/CYGWIN.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Catamount.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Absoft-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-AppleClang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-AppleClang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Clang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Clang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Clang.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Initialize.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Intel-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Intel-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Intel-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-Intel.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-NAG-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-VisualAge-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-VisualAge-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Darwin.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/DragonFly.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/FreeBSD.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/GHS-MULTI-Initialize.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/GHS-MULTI.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/GNUtoMS_lib.bat.in
+file path=usr/share/cmake-3.3/Modules/Platform/GNUtoMS_lib.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic-ADSP-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic-ADSP-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic-ADSP-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic-ADSP-Common.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic-SDCC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Generic.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-GNU-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-HP-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-HP-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-HP-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-HP-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX-HP.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/HP-UX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Haiku.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/IRIX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/IRIX64.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Absoft-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Clang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Clang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Intel-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Intel-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Intel-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-Intel.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-NAG-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PGI-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PGI-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PGI-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PGI.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PathScale-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PathScale-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PathScale-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-PathScale.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-SunPro-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-TinyCC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-VisualAge-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-VisualAge-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-VisualAge-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-XL-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-XL-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-XL-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux-como.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Linux.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/MP-RAS.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/MirBSD.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/NetBSD.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/OSF1.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/OpenBSD.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/OpenVMS.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/QNX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/RISCos.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SCO_SV.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SINIX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SunOS-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SunOS-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SunOS-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SunOS-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/SunOS.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Tru64.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/ULTRIX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/UNIX_SV.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/UnixPaths.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/UnixWare.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Borland-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Borland-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Clang-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Clang-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Clang.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Embarcadero-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Embarcadero-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Embarcadero.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-G95-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-C-ABI.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-CXX-ABI.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-Fortran-ABI.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-GNU.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Intel-ASM.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Intel-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Intel-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Intel-Fortran.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-Intel.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-MSVC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-MSVC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-MSVC.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-NMcl.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-df.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-wcl386.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows-windres.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Windows.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsCE-MSVC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsCE-MSVC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsCE.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsPaths.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsPhone-MSVC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsPhone-MSVC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsPhone.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsStore-MSVC-C.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsStore-MSVC-CXX.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/WindowsStore.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/Xenix.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/eCos.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/gas.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/kFreeBSD.cmake
+file path=usr/share/cmake-3.3/Modules/Platform/syllable.cmake
+file path=usr/share/cmake-3.3/Modules/ProcessorCount.cmake
+file path=usr/share/cmake-3.3/Modules/Qt4ConfigDependentSettings.cmake
+file path=usr/share/cmake-3.3/Modules/Qt4Macros.cmake
+file path=usr/share/cmake-3.3/Modules/RepositoryInfo.txt.in
+file path=usr/share/cmake-3.3/Modules/SelectLibraryConfigurations.cmake
+file path=usr/share/cmake-3.3/Modules/Squish4RunTestCase.bat
+file path=usr/share/cmake-3.3/Modules/Squish4RunTestCase.sh
+file path=usr/share/cmake-3.3/Modules/SquishRunTestCase.bat
+file path=usr/share/cmake-3.3/Modules/SquishRunTestCase.sh
+file path=usr/share/cmake-3.3/Modules/SquishTestScript.cmake
+file path=usr/share/cmake-3.3/Modules/SystemInformation.cmake
+file path=usr/share/cmake-3.3/Modules/SystemInformation.in
+file path=usr/share/cmake-3.3/Modules/TestBigEndian.cmake
+file path=usr/share/cmake-3.3/Modules/TestCXXAcceptsFlag.cmake
+file path=usr/share/cmake-3.3/Modules/TestEndianess.c.in
+file path=usr/share/cmake-3.3/Modules/TestForANSIForScope.cmake
+file path=usr/share/cmake-3.3/Modules/TestForANSIStreamHeaders.cmake
+file path=usr/share/cmake-3.3/Modules/TestForANSIStreamHeaders.cxx
+file path=usr/share/cmake-3.3/Modules/TestForAnsiForScope.cxx
+file path=usr/share/cmake-3.3/Modules/TestForSSTREAM.cmake
+file path=usr/share/cmake-3.3/Modules/TestForSSTREAM.cxx
+file path=usr/share/cmake-3.3/Modules/TestForSTDNamespace.cmake
+file path=usr/share/cmake-3.3/Modules/TestForSTDNamespace.cxx
+file path=usr/share/cmake-3.3/Modules/UseEcos.cmake
+file path=usr/share/cmake-3.3/Modules/UseJava.cmake
+file path=usr/share/cmake-3.3/Modules/UseJavaClassFilelist.cmake
+file path=usr/share/cmake-3.3/Modules/UseJavaSymlinks.cmake
+file path=usr/share/cmake-3.3/Modules/UsePkgConfig.cmake
+file path=usr/share/cmake-3.3/Modules/UseQt4.cmake
+file path=usr/share/cmake-3.3/Modules/UseSWIG.cmake
+file path=usr/share/cmake-3.3/Modules/UseVTK40.cmake
+file path=usr/share/cmake-3.3/Modules/UseVTKBuildSettings40.cmake
+file path=usr/share/cmake-3.3/Modules/UseVTKConfig40.cmake
+file path=usr/share/cmake-3.3/Modules/Use_wxWindows.cmake
+file path=usr/share/cmake-3.3/Modules/UsewxWidgets.cmake
+file path=usr/share/cmake-3.3/Modules/VTKCompatibility.cmake
+file path=usr/share/cmake-3.3/Modules/WIX.template.in
+file path=usr/share/cmake-3.3/Modules/WriteBasicConfigVersionFile.cmake
+file path=usr/share/cmake-3.3/Modules/WriteCompilerDetectionHeader.cmake
+file path=usr/share/cmake-3.3/Modules/ecos_clean.cmake
+file path=usr/share/cmake-3.3/Modules/exportheader.cmake.in
+file path=usr/share/cmake-3.3/Modules/kde3init_dummy.cpp.in
+file path=usr/share/cmake-3.3/Modules/kde3uic.cmake
+file path=usr/share/cmake-3.3/Modules/readme.txt
+file path=usr/share/cmake-3.3/Templates/AppleInfo.plist
+file path=usr/share/cmake-3.3/Templates/CMakeVSMacros1.vsmacros
+file path=usr/share/cmake-3.3/Templates/CMakeVSMacros2.vsmacros
+file path=usr/share/cmake-3.3/Templates/CMakeVisualStudio6Configurations.cmake
+file path=usr/share/cmake-3.3/Templates/CPack.GenericDescription.txt
+file path=usr/share/cmake-3.3/Templates/CPack.GenericLicense.txt
+file path=usr/share/cmake-3.3/Templates/CPack.GenericWelcome.txt
+file path=usr/share/cmake-3.3/Templates/CPackConfig.cmake.in
+file path=usr/share/cmake-3.3/Templates/CTestScript.cmake.in
+file path=usr/share/cmake-3.3/Templates/DLLFooter.dsptemplate
+file path=usr/share/cmake-3.3/Templates/DLLHeader.dsptemplate
+file path=usr/share/cmake-3.3/Templates/EXEFooter.dsptemplate
+file path=usr/share/cmake-3.3/Templates/EXEHeader.dsptemplate
+file path=usr/share/cmake-3.3/Templates/EXEWinHeader.dsptemplate
+file path=usr/share/cmake-3.3/Templates/TestDriver.cxx.in
+file path=usr/share/cmake-3.3/Templates/UtilityFooter.dsptemplate
+file path=usr/share/cmake-3.3/Templates/UtilityHeader.dsptemplate
+file path=usr/share/cmake-3.3/Templates/Windows/ApplicationIcon.png
+file path=usr/share/cmake-3.3/Templates/Windows/Logo.png
+file path=usr/share/cmake-3.3/Templates/Windows/SmallLogo.png
+file path=usr/share/cmake-3.3/Templates/Windows/SplashScreen.png
+file path=usr/share/cmake-3.3/Templates/Windows/StoreLogo.png
+file path=usr/share/cmake-3.3/Templates/Windows/Windows_TemporaryKey.pfx
+file path=usr/share/cmake-3.3/Templates/cygwin-package.sh.in
+file path=usr/share/cmake-3.3/Templates/staticLibFooter.dsptemplate
+file path=usr/share/cmake-3.3/Templates/staticLibHeader.dsptemplate
+file path=usr/share/cmake-3.3/completions/cmake
+file path=usr/share/cmake-3.3/completions/cpack
+file path=usr/share/cmake-3.3/completions/ctest
+file path=usr/share/cmake-3.3/editors/emacs/cmake-mode.el
+file path=usr/share/cmake-3.3/editors/vim/cmake-help.vim
+file path=usr/share/cmake-3.3/editors/vim/cmake-indent.vim
+file path=usr/share/cmake-3.3/editors/vim/cmake-syntax.vim
+file path=usr/share/cmake-3.3/include/cmCPluginAPI.h
 file path=usr/share/man/man1/ccmake.1
+file path=usr/share/man/man1/cmake-gui.1
 file path=usr/share/man/man1/cmake.1
-file path=usr/share/man/man1/cmakecommands.1
-file path=usr/share/man/man1/cmakecompat.1
-file path=usr/share/man/man1/cmakemodules.1
-file path=usr/share/man/man1/cmakepolicies.1
-file path=usr/share/man/man1/cmakeprops.1
-file path=usr/share/man/man1/cmakevars.1
 file path=usr/share/man/man1/cpack.1
 file path=usr/share/man/man1/ctest.1
+file path=usr/share/man/man7/cmake-buildsystem.7
+file path=usr/share/man/man7/cmake-commands.7
+file path=usr/share/man/man7/cmake-compile-features.7
+file path=usr/share/man/man7/cmake-developer.7
+file path=usr/share/man/man7/cmake-generator-expressions.7
+file path=usr/share/man/man7/cmake-generators.7
+file path=usr/share/man/man7/cmake-language.7
+file path=usr/share/man/man7/cmake-modules.7
+file path=usr/share/man/man7/cmake-packages.7
+file path=usr/share/man/man7/cmake-policies.7
+file path=usr/share/man/man7/cmake-properties.7
+file path=usr/share/man/man7/cmake-qt.7
+file path=usr/share/man/man7/cmake-toolchains.7
+file path=usr/share/man/man7/cmake-variables.7
+#
 license cmake.license license="BSD, MIT, GPLv2, Curl, PD"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man1/ccmake.1	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,329 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CCMAKE" "1" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+ccmake \- CMake Curses Dialog Command-Line Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ccmake [<options>] (<path\-to\-source> | <path\-to\-existing\-build>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+The "ccmake" executable is the CMake curses interface.  Project
+configuration settings may be specified interactively through this
+GUI.  Brief instructions are provided at the bottom of the terminal
+when the program is running.
+.sp
+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.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-C <initial\-cache>\fP
+Pre\-load a script to populate the cache.
+.sp
+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\(aqs
+cmake listfiles.  The loaded entries take priority over the
+project\(aqs default values.  The given file should be a CMake script
+containing SET commands that use the CACHE option, not a
+cache\-format file.
+.TP
+.B \fB\-D <var>:<type>=<value>, \-D <var>=<value>\fP
+Create a cmake cache entry.
+.sp
+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\(aqs default value.  The option may be
+repeated for as many cache entries as desired.
+.sp
+If the \fB:<type>\fP portion is given it must be one of the types
+specified by the \fBset()\fP command documentation for its
+\fBCACHE\fP signature.
+If the \fB:<type>\fP 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 \fBPATH\fP or \fBFILEPATH\fP
+then the \fB<value>\fP will be converted to an absolute path.
+.sp
+This option may also be given as a single argument:
+\fB\-D<var>:<type>=<value>\fP or \fB\-D<var>=<value>\fP\&.
+.TP
+.B \fB\-U <globbing_expr>\fP
+Remove matching entries from CMake cache.
+.sp
+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.
+.sp
+Use with care, you can make your CMakeCache.txt non\-working.
+.TP
+.B \fB\-G <generator\-name>\fP
+Specify a build system generator.
+.sp
+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
+\fBcmake\-generators(7)\fP manual.
+.TP
+.B \fB\-T <toolset\-name>\fP
+Specify toolset name if supported by generator.
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Visual Studio >= 10
+Xcode >= 3.0
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See native build system documentation for allowed toolset names.
+.TP
+.B \fB\-A <platform\-name>\fP
+Specify platform name if supported by generator.
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Visual Studio >= 8
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See native build system documentation for allowed platform names.
+.TP
+.B \fB\-Wno\-dev\fP
+Suppress developer warnings.
+.sp
+Suppress warnings that are meant for the author of the
+CMakeLists.txt files.
+.TP
+.B \fB\-Wdev\fP
+Enable developer warnings.
+.sp
+Enable warnings that are meant for the author of the CMakeLists.txt
+files.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP
+Print usage information and exit.
+.sp
+Usage describes the basic command line interface and its options.
+.TP
+.B \fB\-\-version,\-version,/V [<f>]\fP
+Show program name/version banner and exit.
+.sp
+If a file is specified, the version is written into it.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-full [<f>]\fP
+Print all help manuals and exit.
+.sp
+All manuals are printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual <man> [<f>]\fP
+Print one help manual and exit.
+.sp
+The specified manual is printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual\-list [<f>]\fP
+List help manuals available and exit.
+.sp
+The list contains all manuals for which help may be obtained by
+using the \fB\-\-help\-manual\fP option followed by a manual name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command <cmd> [<f>]\fP
+Print help for one command and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command\-list [<f>]\fP
+List commands with help available and exit.
+.sp
+The list contains all commands for which help may be obtained by
+using the \fB\-\-help\-command\fP option followed by a command name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-commands [<f>]\fP
+Print cmake\-commands manual and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module <mod> [<f>]\fP
+Print help for one module and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed
+in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module\-list [<f>]\fP
+List modules with help available and exit.
+.sp
+The list contains all modules for which help may be obtained by
+using the \fB\-\-help\-module\fP option followed by a module name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-modules [<f>]\fP
+Print cmake\-modules manual and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual is printed in a human\-readable
+text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy <cmp> [<f>]\fP
+Print help for one policy and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy\-list [<f>]\fP
+List policies with help available and exit.
+.sp
+The list contains all policies for which help may be obtained by
+using the \fB\-\-help\-policy\fP option followed by a policy name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policies [<f>]\fP
+Print cmake\-policies manual and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property <prop> [<f>]\fP
+Print help for one property and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property\-list [<f>]\fP
+List properties with help available and exit.
+.sp
+The list contains all properties for which help may be obtained by
+using the \fB\-\-help\-property\fP option followed by a property name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-properties [<f>]\fP
+Print cmake\-properties manual and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable <var> [<f>]\fP
+Print help for one variable and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable\-list [<f>]\fP
+List variables with help available and exit.
+.sp
+The list contains all variables for which help may be obtained by
+using the \fB\-\-help\-variable\fP option followed by a variable name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variables [<f>]\fP
+Print cmake\-variables manual and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.UNINDENT
+.SH SEE ALSO
+.sp
+The following resources are available to get help using CMake:
+.INDENT 0.0
+.TP
+.B Home Page
+\fI\%http://www.cmake.org\fP
+.sp
+The primary starting point for learning about CMake.
+.TP
+.B Frequently Asked Questions
+\fI\%http://www.cmake.org/Wiki/CMake_FAQ\fP
+.sp
+A Wiki is provided containing answers to frequently asked questions.
+.TP
+.B Online Documentation
+\fI\%http://www.cmake.org/documentation\fP
+.sp
+Links to available documentation may be found on this web page.
+.TP
+.B Mailing List
+\fI\%http://www.cmake.org/mailing\-lists\fP
+.sp
+For help and discussion about using cmake, a mailing list is
+provided at \fI\%[email protected]\fP\&.  The list is member\-post\-only but one
+may sign up on the CMake web page.  Please first read the full
+documentation at \fI\%http://www.cmake.org\fP before posting questions to
+the list.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man1/cmake-gui.1	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,226 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-GUI" "1" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-gui \- CMake GUI Command-Line Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake\-gui [<options>]
+cmake\-gui [<options>] (<path\-to\-source> | <path\-to\-existing\-build>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+The "cmake\-gui" executable is the CMake GUI.  Project configuration
+settings may be specified interactively.  Brief instructions are
+provided at the bottom of the window when the program is running.
+.sp
+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.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP
+Print usage information and exit.
+.sp
+Usage describes the basic command line interface and its options.
+.TP
+.B \fB\-\-version,\-version,/V [<f>]\fP
+Show program name/version banner and exit.
+.sp
+If a file is specified, the version is written into it.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-full [<f>]\fP
+Print all help manuals and exit.
+.sp
+All manuals are printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual <man> [<f>]\fP
+Print one help manual and exit.
+.sp
+The specified manual is printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual\-list [<f>]\fP
+List help manuals available and exit.
+.sp
+The list contains all manuals for which help may be obtained by
+using the \fB\-\-help\-manual\fP option followed by a manual name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command <cmd> [<f>]\fP
+Print help for one command and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command\-list [<f>]\fP
+List commands with help available and exit.
+.sp
+The list contains all commands for which help may be obtained by
+using the \fB\-\-help\-command\fP option followed by a command name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-commands [<f>]\fP
+Print cmake\-commands manual and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module <mod> [<f>]\fP
+Print help for one module and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed
+in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module\-list [<f>]\fP
+List modules with help available and exit.
+.sp
+The list contains all modules for which help may be obtained by
+using the \fB\-\-help\-module\fP option followed by a module name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-modules [<f>]\fP
+Print cmake\-modules manual and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual is printed in a human\-readable
+text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy <cmp> [<f>]\fP
+Print help for one policy and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy\-list [<f>]\fP
+List policies with help available and exit.
+.sp
+The list contains all policies for which help may be obtained by
+using the \fB\-\-help\-policy\fP option followed by a policy name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policies [<f>]\fP
+Print cmake\-policies manual and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property <prop> [<f>]\fP
+Print help for one property and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property\-list [<f>]\fP
+List properties with help available and exit.
+.sp
+The list contains all properties for which help may be obtained by
+using the \fB\-\-help\-property\fP option followed by a property name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-properties [<f>]\fP
+Print cmake\-properties manual and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable <var> [<f>]\fP
+Print help for one variable and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable\-list [<f>]\fP
+List variables with help available and exit.
+.sp
+The list contains all variables for which help may be obtained by
+using the \fB\-\-help\-variable\fP option followed by a variable name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variables [<f>]\fP
+Print cmake\-variables manual and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.UNINDENT
+.SH SEE ALSO
+.sp
+The following resources are available to get help using CMake:
+.INDENT 0.0
+.TP
+.B Home Page
+\fI\%http://www.cmake.org\fP
+.sp
+The primary starting point for learning about CMake.
+.TP
+.B Frequently Asked Questions
+\fI\%http://www.cmake.org/Wiki/CMake_FAQ\fP
+.sp
+A Wiki is provided containing answers to frequently asked questions.
+.TP
+.B Online Documentation
+\fI\%http://www.cmake.org/documentation\fP
+.sp
+Links to available documentation may be found on this web page.
+.TP
+.B Mailing List
+\fI\%http://www.cmake.org/mailing\-lists\fP
+.sp
+For help and discussion about using cmake, a mailing list is
+provided at \fI\%[email protected]\fP\&.  The list is member\-post\-only but one
+may sign up on the CMake web page.  Please first read the full
+documentation at \fI\%http://www.cmake.org\fP before posting questions to
+the list.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man1/cmake.1	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,573 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE" "1" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake \- CMake Command-Line Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+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.
+.sp
+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.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-C <initial\-cache>\fP
+Pre\-load a script to populate the cache.
+.sp
+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\(aqs
+cmake listfiles.  The loaded entries take priority over the
+project\(aqs default values.  The given file should be a CMake script
+containing SET commands that use the CACHE option, not a
+cache\-format file.
+.TP
+.B \fB\-D <var>:<type>=<value>, \-D <var>=<value>\fP
+Create a cmake cache entry.
+.sp
+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\(aqs default value.  The option may be
+repeated for as many cache entries as desired.
+.sp
+If the \fB:<type>\fP portion is given it must be one of the types
+specified by the \fBset()\fP command documentation for its
+\fBCACHE\fP signature.
+If the \fB:<type>\fP 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 \fBPATH\fP or \fBFILEPATH\fP
+then the \fB<value>\fP will be converted to an absolute path.
+.sp
+This option may also be given as a single argument:
+\fB\-D<var>:<type>=<value>\fP or \fB\-D<var>=<value>\fP\&.
+.TP
+.B \fB\-U <globbing_expr>\fP
+Remove matching entries from CMake cache.
+.sp
+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.
+.sp
+Use with care, you can make your CMakeCache.txt non\-working.
+.TP
+.B \fB\-G <generator\-name>\fP
+Specify a build system generator.
+.sp
+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
+\fBcmake\-generators(7)\fP manual.
+.TP
+.B \fB\-T <toolset\-name>\fP
+Specify toolset name if supported by generator.
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Visual Studio >= 10
+Xcode >= 3.0
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See native build system documentation for allowed toolset names.
+.TP
+.B \fB\-A <platform\-name>\fP
+Specify platform name if supported by generator.
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Visual Studio >= 8
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See native build system documentation for allowed platform names.
+.TP
+.B \fB\-Wno\-dev\fP
+Suppress developer warnings.
+.sp
+Suppress warnings that are meant for the author of the
+CMakeLists.txt files.
+.TP
+.B \fB\-Wdev\fP
+Enable developer warnings.
+.sp
+Enable warnings that are meant for the author of the CMakeLists.txt
+files.
+.TP
+.B \fB\-E <command> [<options>...]\fP
+See \fI\%Command\-Line Tool Mode\fP\&.
+.TP
+.B \fB\-L[A][H]\fP
+List non\-advanced cached variables.
+.sp
+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.
+.TP
+.B \fB\-\-build <dir>\fP
+Build a CMake\-generated project binary tree.
+.sp
+This abstracts a native build tool\(aqs command\-line interface with the
+following options:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<dir>          = Project binary directory to be built.
+\-\-target <tgt> = Build <tgt> instead of default targets.
+\-\-config <cfg> = For multi\-configuration tools, choose <cfg>.
+\-\-clean\-first  = Build target \(aqclean\(aq first, then build.
+                 (To clean only, use \-\-target \(aqclean\(aq.)
+\-\-use\-stderr   = Ignored.  Behavior is default in CMake >= 3.0.
+\-\-             = Pass remaining options to the native tool.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Run cmake \-\-build with no options for quick help.
+.TP
+.B \fB\-N\fP
+View mode only.
+.sp
+Only load the cache.  Do not actually run configure and generate
+steps.
+.TP
+.B \fB\-P <file>\fP
+Process script mode.
+.sp
+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.
+.TP
+.B \fB\-\-find\-package\fP
+Run in pkg\-config like mode.
+.sp
+Search a package using 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).
+.TP
+.B \fB\-\-graphviz=[file]\fP
+Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more.
+.sp
+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.
+.TP
+.B \fB\-\-system\-information [file]\fP
+Dump information about this system.
+.sp
+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.
+.TP
+.B \fB\-\-debug\-trycompile\fP
+Do not delete the try_compile build tree. Only useful on one try_compile at a time.
+.sp
+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.
+.TP
+.B \fB\-\-debug\-output\fP
+Put cmake in a debug mode.
+.sp
+Print extra stuff during the cmake run like stack traces with
+message(send_error ) calls.
+.TP
+.B \fB\-\-trace\fP
+Put cmake in trace mode.
+.sp
+Print a trace of all calls made and from where with
+message(send_error ) calls.
+.TP
+.B \fB\-\-warn\-uninitialized\fP
+Warn about uninitialized values.
+.sp
+Print a warning when an uninitialized variable is used.
+.TP
+.B \fB\-\-warn\-unused\-vars\fP
+Warn about unused variables.
+.sp
+Find variables that are declared or set, but not used.
+.TP
+.B \fB\-\-no\-warn\-unused\-cli\fP
+Don\(aqt warn about command line options.
+.sp
+Don\(aqt find variables that are declared on the command line, but not
+used.
+.TP
+.B \fB\-\-check\-system\-vars\fP
+Find problems with variable usage in system files.
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP
+Print usage information and exit.
+.sp
+Usage describes the basic command line interface and its options.
+.TP
+.B \fB\-\-version,\-version,/V [<f>]\fP
+Show program name/version banner and exit.
+.sp
+If a file is specified, the version is written into it.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-full [<f>]\fP
+Print all help manuals and exit.
+.sp
+All manuals are printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual <man> [<f>]\fP
+Print one help manual and exit.
+.sp
+The specified manual is printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual\-list [<f>]\fP
+List help manuals available and exit.
+.sp
+The list contains all manuals for which help may be obtained by
+using the \fB\-\-help\-manual\fP option followed by a manual name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command <cmd> [<f>]\fP
+Print help for one command and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command\-list [<f>]\fP
+List commands with help available and exit.
+.sp
+The list contains all commands for which help may be obtained by
+using the \fB\-\-help\-command\fP option followed by a command name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-commands [<f>]\fP
+Print cmake\-commands manual and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module <mod> [<f>]\fP
+Print help for one module and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed
+in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module\-list [<f>]\fP
+List modules with help available and exit.
+.sp
+The list contains all modules for which help may be obtained by
+using the \fB\-\-help\-module\fP option followed by a module name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-modules [<f>]\fP
+Print cmake\-modules manual and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual is printed in a human\-readable
+text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy <cmp> [<f>]\fP
+Print help for one policy and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy\-list [<f>]\fP
+List policies with help available and exit.
+.sp
+The list contains all policies for which help may be obtained by
+using the \fB\-\-help\-policy\fP option followed by a policy name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policies [<f>]\fP
+Print cmake\-policies manual and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property <prop> [<f>]\fP
+Print help for one property and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property\-list [<f>]\fP
+List properties with help available and exit.
+.sp
+The list contains all properties for which help may be obtained by
+using the \fB\-\-help\-property\fP option followed by a property name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-properties [<f>]\fP
+Print cmake\-properties manual and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable <var> [<f>]\fP
+Print help for one variable and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable\-list [<f>]\fP
+List variables with help available and exit.
+.sp
+The list contains all variables for which help may be obtained by
+using the \fB\-\-help\-variable\fP option followed by a variable name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variables [<f>]\fP
+Print cmake\-variables manual and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.UNINDENT
+.SH COMMAND-LINE TOOL MODE
+.sp
+CMake provides builtin command\-line tools through the signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake \-E <command> [<options>...]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Run \fBcmake \-E\fP or \fBcmake \-E help\fP for a summary of commands.
+Available commands are:
+.INDENT 0.0
+.TP
+.B \fBchdir <dir> <cmd> [<arg>...]\fP
+Change the current working directory and run a command.
+.TP
+.B \fBcompare_files <file1> <file2>\fP
+Check if file1 is same as file2.
+.TP
+.B \fBcopy <file> <destination>\fP
+Copy file to destination (either file or directory).
+.TP
+.B \fBcopy_directory <source> <destination>\fP
+Copy directory \(aqsource\(aq content to directory \(aqdestination\(aq.
+.TP
+.B \fBcopy_if_different <in\-file> <out\-file>\fP
+Copy file if input has changed.
+.TP
+.B \fBecho [<string>...]\fP
+Displays arguments as text.
+.TP
+.B \fBecho_append [<string>...]\fP
+Displays arguments as text but no new line.
+.TP
+.B \fBenv [\-\-unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...\fP
+Run command in a modified environment.
+.TP
+.B \fBenvironment\fP
+Display the current environment.
+.TP
+.B \fBmake_directory <dir>\fP
+Create a directory.
+.TP
+.B \fBmd5sum [<file>...]\fP
+Compute md5sum of files.
+.TP
+.B \fBremove [\-f] [<file>...]\fP
+Remove the file(s), use \fB\-f\fP to force it.
+.TP
+.B \fBremove_directory <dir>\fP
+Remove a directory and its contents.
+.TP
+.B \fBrename <oldname> <newname>\fP
+Rename a file or directory (on one volume).
+.TP
+.B \fBsleep <number>...\fP
+Sleep for given number of seconds.
+.TP
+.B \fBtar [cxt][vf][zjJ] file.tar [<options>...] [\-\-] [<file>...]\fP
+Create or extract a tar or zip archive.  Options are:
+.INDENT 7.0
+.TP
+.B \fB\-\-\fP
+Stop interpreting options and treat all remaining arguments
+as file names even if they start in \fB\-\fP\&.
+.TP
+.B \fB\-\-files\-from=<file>\fP
+Read file names from the given file, one per line.
+Blank lines are ignored.  Lines may not start in \fB\-\fP
+except for \fB\-\-add\-file=<name>\fP to add files whose
+names start in \fB\-\fP\&.
+.TP
+.B \fB\-\-mtime=<date>\fP
+Specify modification time recorded in tarball entries.
+.TP
+.B \fB\-\-format=<format>\fP
+Specify the format of the archive to be created.
+Supported formats are: \fB7zip\fP, \fBgnutar\fP, \fBpax\fP,
+\fBpaxr\fP (restricted pax, default), and \fBzip\fP\&.
+.UNINDENT
+.TP
+.B \fBtime <command> [<args>...]\fP
+Run command and return elapsed time.
+.TP
+.B \fBtouch <file>\fP
+Touch a file.
+.TP
+.B \fBtouch_nocreate <file>\fP
+Touch a file if it exists but do not create it.
+.UNINDENT
+.SS UNIX\-specific Command\-Line Tools
+.sp
+The following \fBcmake \-E\fP commands are available only on UNIX:
+.INDENT 0.0
+.TP
+.B \fBcreate_symlink <old> <new>\fP
+Create a symbolic link \fB<new>\fP naming \fB<old>\fP\&.
+.UNINDENT
+.SS Windows\-specific Command\-Line Tools
+.sp
+The following \fBcmake \-E\fP commands are available only on Windows:
+.INDENT 0.0
+.TP
+.B \fBdelete_regv <key>\fP
+Delete Windows registry value.
+.TP
+.B \fBenv_vs8_wince <sdkname>\fP
+Displays a batch file which sets the environment for the provided
+Windows CE SDK installed in VS2005.
+.TP
+.B \fBenv_vs9_wince <sdkname>\fP
+Displays a batch file which sets the environment for the provided
+Windows CE SDK installed in VS2008.
+.TP
+.B \fBwrite_regv <key> <value>\fP
+Write Windows registry value.
+.UNINDENT
+.SH SEE ALSO
+.sp
+The following resources are available to get help using CMake:
+.INDENT 0.0
+.TP
+.B Home Page
+\fI\%http://www.cmake.org\fP
+.sp
+The primary starting point for learning about CMake.
+.TP
+.B Frequently Asked Questions
+\fI\%http://www.cmake.org/Wiki/CMake_FAQ\fP
+.sp
+A Wiki is provided containing answers to frequently asked questions.
+.TP
+.B Online Documentation
+\fI\%http://www.cmake.org/documentation\fP
+.sp
+Links to available documentation may be found on this web page.
+.TP
+.B Mailing List
+\fI\%http://www.cmake.org/mailing\-lists\fP
+.sp
+For help and discussion about using cmake, a mailing list is
+provided at \fI\%[email protected]\fP\&.  The list is member\-post\-only but one
+may sign up on the CMake web page.  Please first read the full
+documentation at \fI\%http://www.cmake.org\fP before posting questions to
+the list.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man1/cpack.1	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,290 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CPACK" "1" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cpack \- CPack Command-Line Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack \-G <generator> [<options>]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+The "cpack" executable is the CMake packaging program.
+CMake\-generated build trees created for projects that use the
+INSTALL_* commands have packaging support.  This program will generate
+the package.
+.sp
+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.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-G <generator>\fP
+Use the specified generator to generate package.
+.sp
+CPack may support multiple native packaging systems on certain
+platforms.  A generator is responsible for generating input files
+for particular system and invoking that systems.  Possible generator
+names are specified in the Generators section.
+.TP
+.B \fB\-C <Configuration>\fP
+Specify the project configuration
+.sp
+This option specifies the configuration that the project was build
+with, for example \(aqDebug\(aq, \(aqRelease\(aq.
+.TP
+.B \fB\-D <var>=<value>\fP
+Set a CPack variable.
+.sp
+Set a variable that can be used by the generator.
+.TP
+.B \fB\-\-config <config file>\fP
+Specify the config file.
+.sp
+Specify the config file to use to create the package.  By default
+CPackConfig.cmake in the current directory will be used.
+.TP
+.B \fB\-\-verbose,\-V\fP
+enable verbose output
+.sp
+Run cpack with verbose output.
+.TP
+.B \fB\-\-debug\fP
+enable debug output (for CPack developers)
+.sp
+Run cpack with debug output (for CPack developers).
+.TP
+.B \fB\-P <package name>\fP
+override/define CPACK_PACKAGE_NAME
+.sp
+If the package name is not specified on cpack commmand line
+thenCPack.cmake defines it as CMAKE_PROJECT_NAME
+.TP
+.B \fB\-R <package version>\fP
+override/define CPACK_PACKAGE_VERSION
+.sp
+If version is not specified on cpack command line thenCPack.cmake
+defines it from CPACK_PACKAGE_VERSION_[MAJOR|MINOR|PATCH]look into
+CPack.cmake for detail
+.TP
+.B \fB\-B <package directory>\fP
+override/define CPACK_PACKAGE_DIRECTORY
+.sp
+The directory where CPack will be doing its packaging work.The
+resulting package will be found there.  Inside this directoryCPack
+creates \(aq_CPack_Packages\(aq sub\-directory which is theCPack temporary
+directory.
+.TP
+.B \fB\-\-vendor <vendor name>\fP
+override/define CPACK_PACKAGE_VENDOR
+.sp
+If vendor is not specified on cpack command line (or inside
+CMakeLists.txt) thenCPack.cmake defines it with a default value
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP
+Print usage information and exit.
+.sp
+Usage describes the basic command line interface and its options.
+.TP
+.B \fB\-\-version,\-version,/V [<f>]\fP
+Show program name/version banner and exit.
+.sp
+If a file is specified, the version is written into it.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-full [<f>]\fP
+Print all help manuals and exit.
+.sp
+All manuals are printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual <man> [<f>]\fP
+Print one help manual and exit.
+.sp
+The specified manual is printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual\-list [<f>]\fP
+List help manuals available and exit.
+.sp
+The list contains all manuals for which help may be obtained by
+using the \fB\-\-help\-manual\fP option followed by a manual name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command <cmd> [<f>]\fP
+Print help for one command and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command\-list [<f>]\fP
+List commands with help available and exit.
+.sp
+The list contains all commands for which help may be obtained by
+using the \fB\-\-help\-command\fP option followed by a command name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-commands [<f>]\fP
+Print cmake\-commands manual and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module <mod> [<f>]\fP
+Print help for one module and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed
+in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module\-list [<f>]\fP
+List modules with help available and exit.
+.sp
+The list contains all modules for which help may be obtained by
+using the \fB\-\-help\-module\fP option followed by a module name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-modules [<f>]\fP
+Print cmake\-modules manual and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual is printed in a human\-readable
+text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy <cmp> [<f>]\fP
+Print help for one policy and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy\-list [<f>]\fP
+List policies with help available and exit.
+.sp
+The list contains all policies for which help may be obtained by
+using the \fB\-\-help\-policy\fP option followed by a policy name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policies [<f>]\fP
+Print cmake\-policies manual and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property <prop> [<f>]\fP
+Print help for one property and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property\-list [<f>]\fP
+List properties with help available and exit.
+.sp
+The list contains all properties for which help may be obtained by
+using the \fB\-\-help\-property\fP option followed by a property name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-properties [<f>]\fP
+Print cmake\-properties manual and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable <var> [<f>]\fP
+Print help for one variable and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable\-list [<f>]\fP
+List variables with help available and exit.
+.sp
+The list contains all variables for which help may be obtained by
+using the \fB\-\-help\-variable\fP option followed by a variable name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variables [<f>]\fP
+Print cmake\-variables manual and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.UNINDENT
+.SH SEE ALSO
+.sp
+The following resources are available to get help using CMake:
+.INDENT 0.0
+.TP
+.B Home Page
+\fI\%http://www.cmake.org\fP
+.sp
+The primary starting point for learning about CMake.
+.TP
+.B Frequently Asked Questions
+\fI\%http://www.cmake.org/Wiki/CMake_FAQ\fP
+.sp
+A Wiki is provided containing answers to frequently asked questions.
+.TP
+.B Online Documentation
+\fI\%http://www.cmake.org/documentation\fP
+.sp
+Links to available documentation may be found on this web page.
+.TP
+.B Mailing List
+\fI\%http://www.cmake.org/mailing\-lists\fP
+.sp
+For help and discussion about using cmake, a mailing list is
+provided at \fI\%[email protected]\fP\&.  The list is member\-post\-only but one
+may sign up on the CMake web page.  Please first read the full
+documentation at \fI\%http://www.cmake.org\fP before posting questions to
+the list.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man1/ctest.1	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,1353 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CTEST" "1" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+ctest \- CTest Command-Line Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest [<options>]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+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.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-C <cfg>, \-\-build\-config <cfg>\fP
+Choose configuration to test.
+.sp
+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".
+.TP
+.B \fB\-V,\-\-verbose\fP
+Enable verbose output from tests.
+.sp
+Test output is normally suppressed and only summary information is
+displayed.  This option will show all test output.
+.TP
+.B \fB\-VV,\-\-extra\-verbose\fP
+Enable more verbose output from tests.
+.sp
+Test output is normally suppressed and only summary information is
+displayed.  This option will show even more test output.
+.TP
+.B \fB\-\-debug\fP
+Displaying more verbose internals of CTest.
+.sp
+This feature will result in a large number of output that is mostly
+useful for debugging dashboard problems.
+.TP
+.B \fB\-\-output\-on\-failure\fP
+Output anything outputted by the test program if the test should fail.
+This option can also be enabled by setting the environment variable
+\fBCTEST_OUTPUT_ON_FAILURE\fP\&.
+.TP
+.B \fB\-F\fP
+Enable failover.
+.sp
+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.
+.TP
+.B \fB\-j <jobs>, \-\-parallel <jobs>\fP
+Run the tests in parallel using the given number of jobs.
+.sp
+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 \fBCTEST_PARALLEL_LEVEL\fP\&.
+.TP
+.B \fB\-Q,\-\-quiet\fP
+Make ctest quiet.
+.sp
+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.
+.TP
+.B \fB\-O <file>, \-\-output\-log <file>\fP
+Output to log file
+.sp
+This option tells ctest to write all its output to a log file.
+.TP
+.B \fB\-N,\-\-show\-only\fP
+Disable actual execution of tests.
+.sp
+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.
+.TP
+.B \fB\-L <regex>, \-\-label\-regex <regex>\fP
+Run tests with labels matching regular expression.
+.sp
+This option tells ctest to run only the tests whose labels match the
+given regular expression.
+.TP
+.B \fB\-R <regex>, \-\-tests\-regex <regex>\fP
+Run tests matching regular expression.
+.sp
+This option tells ctest to run only the tests whose names match the
+given regular expression.
+.TP
+.B \fB\-E <regex>, \-\-exclude\-regex <regex>\fP
+Exclude tests matching regular expression.
+.sp
+This option tells ctest to NOT run the tests whose names match the
+given regular expression.
+.TP
+.B \fB\-LE <regex>, \-\-label\-exclude <regex>\fP
+Exclude tests with labels matching regular expression.
+.sp
+This option tells ctest to NOT run the tests whose labels match the
+given regular expression.
+.TP
+.B \fB\-D <dashboard>, \-\-dashboard <dashboard>\fP
+Execute dashboard test
+.sp
+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.
+.TP
+.B \fB\-D <var>:<type>=<value>\fP
+Define a variable for script mode
+.sp
+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.
+.TP
+.B \fB\-M <model>, \-\-test\-model <model>\fP
+Sets the model for a dashboard
+.sp
+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
+.TP
+.B \fB\-T <action>, \-\-test\-action <action>\fP
+Sets the dashboard action to perform
+.sp
+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
+.TP
+.B \fB\-\-track <track>\fP
+Specify the track to submit dashboard to
+.sp
+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.
+.TP
+.B \fB\-S <script>, \-\-script <script>\fP
+Execute a dashboard for a configuration
+.sp
+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.
+.TP
+.B \fB\-SP <script>, \-\-script\-new\-process <script>\fP
+Execute a dashboard for a configuration
+.sp
+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.
+.TP
+.B \fB\-A <file>, \-\-add\-notes <file>\fP
+Add a notes file with submission
+.sp
+This option tells ctest to include a notes file when submitting
+dashboard.
+.TP
+.B \fB\-I [Start,End,Stride,test#,test#|Test file], \-\-tests\-information\fP
+Run a specific number of tests by number.
+.sp
+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.
+.TP
+.B \fB\-U, \-\-union\fP
+Take the Union of \-I and \-R
+.sp
+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.
+.TP
+.B \fB\-\-rerun\-failed\fP
+Run only the tests that failed previously
+.sp
+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).
+.TP
+.B \fB\-\-repeat\-until\-fail <n>\fP
+Require each test to run \fB<n>\fP times without failing in order to pass.
+.sp
+This is useful in finding sporadic failures in test cases.
+.TP
+.B \fB\-\-max\-width <width>\fP
+Set the max width for a test name to output
+.sp
+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.
+.TP
+.B \fB\-\-interactive\-debug\-mode [0|1]\fP
+Set the interactive mode to 0 or 1.
+.sp
+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.
+.TP
+.B \fB\-\-no\-label\-summary\fP
+Disable timing summary information for labels.
+.sp
+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.
+.TP
+.B \fB\-\-build\-and\-test\fP
+Configure, build and run a test.
+.sp
+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 \fImust\fP 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
+.TP
+.B \fB\-\-build\-target\fP
+Specify a specific target to build.
+.sp
+This option goes with the \-\-build\-and\-test option, if left out the
+all target is built.
+.TP
+.B \fB\-\-build\-nocmake\fP
+Run the build without running cmake first.
+.sp
+Skip the cmake step.
+.TP
+.B \fB\-\-build\-run\-dir\fP
+Specify directory to run programs from.
+.sp
+Directory where programs will be after it has been compiled.
+.TP
+.B \fB\-\-build\-two\-config\fP
+Run CMake twice
+.TP
+.B \fB\-\-build\-exe\-dir\fP
+Specify the directory for the executable.
+.TP
+.B \fB\-\-build\-generator\fP
+Specify the generator to use.
+.TP
+.B \fB\-\-build\-generator\-platform\fP
+Specify the generator\-specific platform.
+.TP
+.B \fB\-\-build\-generator\-toolset\fP
+Specify the generator\-specific toolset.
+.TP
+.B \fB\-\-build\-project\fP
+Specify the name of the project to build.
+.TP
+.B \fB\-\-build\-makeprogram\fP
+Override the make program chosen by CTest with a given one.
+.TP
+.B \fB\-\-build\-noclean\fP
+Skip the make clean step.
+.TP
+.B \fB\-\-build\-config\-sample\fP
+A sample executable to use to determine the configuration
+.sp
+A sample executable to use to determine the configuration that
+should be used.  e.g.  Debug/Release/etc
+.TP
+.B \fB\-\-build\-options\fP
+Add extra options to the build step.
+.sp
+This option must be the last option with the exception of
+\-\-test\-command
+.TP
+.B \fB\-\-test\-command\fP
+The test to run with the \-\-build\-and\-test option.
+.TP
+.B \fB\-\-test\-timeout\fP
+The time limit in seconds, internal use only.
+.TP
+.B \fB\-\-tomorrow\-tag\fP
+Nightly or experimental starts with next day tag.
+.sp
+This is useful if the build will not finish in one day.
+.TP
+.B \fB\-\-ctest\-config\fP
+The configuration file used to initialize CTest state when submitting dashboards.
+.sp
+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.
+.TP
+.B \fB\-\-overwrite\fP
+Overwrite CTest configuration option.
+.sp
+By default ctest uses configuration options from configuration file.
+This option will overwrite the configuration option.
+.TP
+.B \fB\-\-extra\-submit <file>[;<file>]\fP
+Submit extra files to the dashboard.
+.sp
+This option will submit extra files to the dashboard.
+.TP
+.B \fB\-\-force\-new\-ctest\-process\fP
+Run child CTest instances as new processes
+.sp
+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.
+.TP
+.B \fB\-\-schedule\-random\fP
+Use a random order for scheduling tests
+.sp
+This option will run the tests in a random order.  It is commonly
+used to detect implicit dependencies in a test suite.
+.TP
+.B \fB\-\-submit\-index\fP
+Legacy option for old Dart2 dashboard server feature.
+Do not use.
+.TP
+.B \fB\-\-timeout <seconds>\fP
+Set a global timeout on all tests.
+.sp
+This option will set a global timeout on all tests that do not
+already have a timeout set on them.
+.TP
+.B \fB\-\-stop\-time <time>\fP
+Set a time at which all tests should stop running.
+.sp
+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.
+.TP
+.B \fB\-\-http1.0\fP
+Submit using HTTP 1.0.
+.sp
+This option will force CTest to use HTTP 1.0 to submit files to the
+dashboard, instead of HTTP 1.1.
+.TP
+.B \fB\-\-no\-compress\-output\fP
+Do not compress test output when submitting.
+.sp
+This flag will turn off automatic compression of test output.  Use
+this to maintain compatibility with an older version of CDash which
+doesn\(aqt support compressed test output.
+.TP
+.B \fB\-\-print\-labels\fP
+Print all available test labels.
+.sp
+This option will not run any tests, it will simply print the list of
+all labels associated with the test set.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP
+Print usage information and exit.
+.sp
+Usage describes the basic command line interface and its options.
+.TP
+.B \fB\-\-version,\-version,/V [<f>]\fP
+Show program name/version banner and exit.
+.sp
+If a file is specified, the version is written into it.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-full [<f>]\fP
+Print all help manuals and exit.
+.sp
+All manuals are printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual <man> [<f>]\fP
+Print one help manual and exit.
+.sp
+The specified manual is printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-manual\-list [<f>]\fP
+List help manuals available and exit.
+.sp
+The list contains all manuals for which help may be obtained by
+using the \fB\-\-help\-manual\fP option followed by a manual name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command <cmd> [<f>]\fP
+Print help for one command and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-command\-list [<f>]\fP
+List commands with help available and exit.
+.sp
+The list contains all commands for which help may be obtained by
+using the \fB\-\-help\-command\fP option followed by a command name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-commands [<f>]\fP
+Print cmake\-commands manual and exit.
+.sp
+The \fBcmake\-commands(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module <mod> [<f>]\fP
+Print help for one module and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed
+in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-module\-list [<f>]\fP
+List modules with help available and exit.
+.sp
+The list contains all modules for which help may be obtained by
+using the \fB\-\-help\-module\fP option followed by a module name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-modules [<f>]\fP
+Print cmake\-modules manual and exit.
+.sp
+The \fBcmake\-modules(7)\fP manual is printed in a human\-readable
+text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy <cmp> [<f>]\fP
+Print help for one policy and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policy\-list [<f>]\fP
+List policies with help available and exit.
+.sp
+The list contains all policies for which help may be obtained by
+using the \fB\-\-help\-policy\fP option followed by a policy name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-policies [<f>]\fP
+Print cmake\-policies manual and exit.
+.sp
+The \fBcmake\-policies(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property <prop> [<f>]\fP
+Print help for one property and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-property\-list [<f>]\fP
+List properties with help available and exit.
+.sp
+The list contains all properties for which help may be obtained by
+using the \fB\-\-help\-property\fP option followed by a property name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-properties [<f>]\fP
+Print cmake\-properties manual and exit.
+.sp
+The \fBcmake\-properties(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable <var> [<f>]\fP
+Print help for one variable and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is
+printed in a human\-readable text format.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variable\-list [<f>]\fP
+List variables with help available and exit.
+.sp
+The list contains all variables for which help may be obtained by
+using the \fB\-\-help\-variable\fP option followed by a variable name.
+The help is printed to a named <f>ile if given.
+.TP
+.B \fB\-\-help\-variables [<f>]\fP
+Print cmake\-variables manual and exit.
+.sp
+The \fBcmake\-variables(7)\fP manual is printed in a
+human\-readable text format.
+The help is printed to a named <f>ile if given.
+.UNINDENT
+.SH DASHBOARD CLIENT
+.sp
+CTest can operate as a client for the \fI\%CDash\fP 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 \fI\%CDash\fP server.
+.SS Dashboard Client Steps
+.sp
+CTest defines an ordered list of testing steps of which some or all may
+be run as a dashboard client:
+.INDENT 0.0
+.TP
+.B \fBStart\fP
+Start a new dashboard submission to be composed of results recorded
+by the following steps.
+See the \fI\%CTest Start Step\fP section below.
+.TP
+.B \fBUpdate\fP
+Update the source tree from its version control repository.
+Record the old and new versions and the list of updated source files.
+See the \fI\%CTest Update Step\fP section below.
+.TP
+.B \fBConfigure\fP
+Configure the software by running a command in the build tree.
+Record the configuration output log.
+See the \fI\%CTest Configure Step\fP section below.
+.TP
+.B \fBBuild\fP
+Build the software by running a command in the build tree.
+Record the build output log and detect warnings and errors.
+See the \fI\%CTest Build Step\fP section below.
+.TP
+.B \fBTest\fP
+Test the software by loading a \fBCTestTestfile.cmake\fP
+from the build tree and executing the defined tests.
+Record the output and result of each test.
+See the \fI\%CTest Test Step\fP section below.
+.TP
+.B \fBCoverage\fP
+Compute coverage of the source code by running a coverage
+analysis tool and recording its output.
+See the \fI\%CTest Coverage Step\fP section below.
+.TP
+.B \fBMemCheck\fP
+Run the software test suite through a memory check tool.
+Record the test output, results, and issues reported by the tool.
+See the \fI\%CTest MemCheck Step\fP section below.
+.TP
+.B \fBSubmit\fP
+Submit results recorded from other testing steps to the
+software quality dashboard server.
+See the \fI\%CTest Submit Step\fP section below.
+.UNINDENT
+.SS Dashboard Client Modes
+.sp
+CTest defines three modes of operation as a dashboard client:
+.INDENT 0.0
+.TP
+.B \fBNightly\fP
+This mode is intended to be invoked once per day, typically at night.
+It enables the \fBStart\fP, \fBUpdate\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP,
+\fBCoverage\fP, and \fBSubmit\fP steps by default.  Selected steps run even
+if the \fBUpdate\fP step reports no changes to the source tree.
+.TP
+.B \fBContinuous\fP
+This mode is intended to be invoked repeatedly throughout the day.
+It enables the \fBStart\fP, \fBUpdate\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP,
+\fBCoverage\fP, and \fBSubmit\fP steps by default, but exits after the
+\fBUpdate\fP step if it reports no changes to the source tree.
+.TP
+.B \fBExperimental\fP
+This mode is intended to be invoked by a developer to test local changes.
+It enables the \fBStart\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP, \fBCoverage\fP,
+and \fBSubmit\fP steps by default.
+.UNINDENT
+.SS Dashboard Client via CTest Command\-Line
+.sp
+CTest can perform testing on an already\-generated build tree.
+Run the \fBctest\fP command with the current working directory set
+to the build tree and use one of these signatures:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest \-D <mode>[<step>]
+ctest \-M <mode> [ \-T <step> ]...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fB<mode>\fP must be one of the above \fI\%Dashboard Client Modes\fP,
+and each \fB<step>\fP must be one of the above \fI\%Dashboard Client Steps\fP\&.
+.sp
+CTest reads the \fI\%Dashboard Client Configuration\fP settings from
+a file in the build tree called either \fBCTestConfiguration.ini\fP
+or \fBDartConfiguration.tcl\fP (the names are historical).  The format
+of the file is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# Lines starting in \(aq#\(aq are comments.
+# Other non\-blank lines are key\-value pairs.
+<setting>: <value>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fB<setting>\fP is the setting name and \fB<value>\fP is the
+setting value.
+.sp
+In build trees generated by CMake, this configuration file is
+generated by the \fBCTest\fP module if included by the project.
+The module uses variables to obtain a value for each setting
+as documented with the settings below.
+.SS Dashboard Client via CTest Script
+.sp
+CTest can perform testing driven by a \fBcmake\-language(7)\fP
+script that creates and maintains the source and build tree as
+well as performing the testing steps.  Run the \fBctest\fP command
+with the current working directory set outside of any build tree
+and use one of these signatures:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest \-S <script>
+ctest \-SP <script>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fB<script>\fP file must call CTest Commands commands
+to run testing steps explicitly as documented below.  The commands
+obtain \fI\%Dashboard Client Configuration\fP settings from their
+arguments or from variables set in the script.
+.SH DASHBOARD CLIENT CONFIGURATION
+.sp
+The \fI\%Dashboard Client Steps\fP may be configured by named
+settings as documented in the following sections.
+.SS CTest Start Step
+.sp
+Start a new dashboard submission to be composed of results recorded
+by the following steps.
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_start()\fP 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
+\fBCTEST_CHECKOUT_COMMAND\fP variable, if set, to initialize the source
+directory.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBBuildDirectory\fP
+The full path to the project build tree.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_BINARY_DIRECTORY\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBPROJECT_BINARY_DIR\fP
+.UNINDENT
+.TP
+.B \fBSourceDirectory\fP
+The full path to the project source tree.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SOURCE_DIRECTORY\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBPROJECT_SOURCE_DIR\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Update Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_update()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings to specify the version control tool include:
+.INDENT 0.0
+.TP
+.B \fBBZRCommand\fP
+\fBbzr\fP command\-line tool to use if source tree is managed by Bazaar.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_BZR_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: none
+.UNINDENT
+.TP
+.B \fBBZRUpdateOptions\fP
+Command\-line options to the \fBBZRCommand\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_BZR_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: none
+.UNINDENT
+.TP
+.B \fBCVSCommand\fP
+\fBcvs\fP command\-line tool to use if source tree is managed by CVS.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_CVS_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCVSCOMMAND\fP
+.UNINDENT
+.TP
+.B \fBCVSUpdateOptions\fP
+Command\-line options to the \fBCVSCommand\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_CVS_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCVS_UPDATE_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBGITCommand\fP
+\fBgit\fP command\-line tool to use if source tree is managed by Git.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_GIT_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBGITCOMMAND\fP
+.UNINDENT
+.TP
+.B \fBGITUpdateCustom\fP
+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 \fBGITCommand\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_GIT_UPDATE_CUSTOM\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_GIT_UPDATE_CUSTOM\fP
+.UNINDENT
+.TP
+.B \fBGITUpdateOptions\fP
+Command\-line options to the \fBGITCommand\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_GIT_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBGIT_UPDATE_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBHGCommand\fP
+\fBhg\fP command\-line tool to use if source tree is managed by Mercurial.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_HG_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: none
+.UNINDENT
+.TP
+.B \fBHGUpdateOptions\fP
+Command\-line options to the \fBHGCommand\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_HG_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: none
+.UNINDENT
+.TP
+.B \fBP4Client\fP
+Value of the \fB\-c\fP option to the \fBP4Command\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_P4_CLIENT\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_P4_CLIENT\fP
+.UNINDENT
+.TP
+.B \fBP4Command\fP
+\fBp4\fP command\-line tool to use if source tree is managed by Perforce.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_P4_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBP4COMMAND\fP
+.UNINDENT
+.TP
+.B \fBP4Options\fP
+Command\-line options to the \fBP4Command\fP for all invocations.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_P4_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_P4_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBP4UpdateCustom\fP
+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 \fBP4Command\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_P4_UPDATE_CUSTOM\fP
+.UNINDENT
+.TP
+.B \fBP4UpdateOptions\fP
+Command\-line options to the \fBP4Command\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_P4_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_P4_UPDATE_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBSVNCommand\fP
+\fBsvn\fP command\-line tool to use if source tree is managed by Subversion.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SVN_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBSVNCOMMAND\fP
+.UNINDENT
+.TP
+.B \fBSVNOptions\fP
+Command\-line options to the \fBSVNCommand\fP for all invocations.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SVN_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_SVN_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBSVNUpdateOptions\fP
+Command\-line options to the \fBSVNCommand\fP when updating the source.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SVN_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBSVN_UPDATE_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBUpdateCommand\fP
+Specify the version\-control command\-line tool to use without
+detecting the VCS that manages the source tree.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_UPDATE_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fB<VCS>COMMAND\fP
+when \fBUPDATE_TYPE\fP is \fB<vcs>\fP, else \fBUPDATE_COMMAND\fP
+.UNINDENT
+.TP
+.B \fBUpdateOptions\fP
+Command\-line options to the \fBUpdateCommand\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_UPDATE_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fB<VCS>_UPDATE_OPTIONS\fP
+when \fBUPDATE_TYPE\fP is \fB<vcs>\fP, else \fBUPDATE_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBUpdateType\fP
+Specify the version\-control system that manages the source
+tree if it cannot be detected automatically.
+The value may be \fBbzr\fP, \fBcvs\fP, \fBgit\fP, \fBhg\fP,
+\fBp4\fP, or \fBsvn\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none, detected from source tree
+.IP \(bu 2
+\fBCTest\fP module variable: \fBUPDATE_TYPE\fP if set,
+else \fBCTEST_UPDATE_TYPE\fP
+.UNINDENT
+.TP
+.B \fBUpdateVersionOnly\fP
+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.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_UPDATE_VERSION_ONLY\fP
+.UNINDENT
+.UNINDENT
+.sp
+Additional configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBNightlyStartTime\fP
+In the \fBNightly\fP dashboard mode, specify the "nightly start time".
+With centralized version control systems (\fBcvs\fP and \fBsvn\fP),
+the \fBUpdate\fP 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.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_NIGHTLY_START_TIME\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBNIGHTLY_START_TIME\fP if set,
+else \fBCTEST_NIGHTLY_START_TIME\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Configure Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_configure()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBConfigureCommand\fP
+Command\-line to launch the software configuration process.
+It will be executed in the location specified by the
+\fBBuildDirectory\fP setting.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_CONFIGURE_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCMAKE_COMMAND\fP
+followed by \fBPROJECT_SOURCE_DIR\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Build Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_build()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBDefaultCTestConfigurationType\fP
+When the build system to be launched allows build\-time selection
+of the configuration (e.g. \fBDebug\fP, \fBRelease\fP), this specifies
+the default configuration to be built when no \fB\-C\fP option is
+given to the \fBctest\fP command.  The value will be substituted into
+the value of \fBMakeCommand\fP to replace the literal string
+\fB${CTEST_CONFIGURATION_TYPE}\fP if it appears.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_CONFIGURATION_TYPE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDEFAULT_CTEST_CONFIGURATION_TYPE\fP,
+initialized by the \fBCMAKE_CONFIG_TYPE\fP environment variable
+.UNINDENT
+.TP
+.B \fBMakeCommand\fP
+Command\-line to launch the software build process.
+It will be executed in the location specified by the
+\fBBuildDirectory\fP setting.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_BUILD_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMAKECOMMAND\fP,
+initialized by the \fBbuild_command()\fP command
+.UNINDENT
+.TP
+.B \fBUseLaunchers\fP
+For build trees generated by CMake using one of the
+Makefile Generators or the \fBNinja\fP
+generator, specify whether the
+\fBCTEST_USE_LAUNCHERS\fP feature is enabled by the
+\fBCTestUseLaunchers\fP module (also included by the
+\fBCTest\fP 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.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_USE_LAUNCHERS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_USE_LAUNCHERS\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Test Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_test()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBTimeOut\fP
+The default timeout for each test if not specified by the
+\fBTIMEOUT\fP test property.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_TEST_TIMEOUT\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDART_TESTING_TIMEOUT\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Coverage Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_coverage()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBCoverageCommand\fP
+Command\-line tool to perform software coverage analysis.
+It will be executed in the location specified by the
+\fBBuildDirectory\fP setting.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_COVERAGE_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCOVERAGE_COMMAND\fP
+.UNINDENT
+.TP
+.B \fBCoverageExtraFlags\fP
+Specify command\-line options to the \fBCoverageCommand\fP tool.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_COVERAGE_EXTRA_FLAGS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCOVERAGE_EXTRA_FLAGS\fP
+.UNINDENT
+.UNINDENT
+.SS CTest MemCheck Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_memcheck()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBMemoryCheckCommand\fP
+Command\-line tool to perform dynamic analysis.  Test command lines
+will be launched through this tool.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMEMORYCHECK_COMMAND\fP
+.UNINDENT
+.TP
+.B \fBMemoryCheckCommandOptions\fP
+Specify command\-line options to the \fBMemoryCheckCommand\fP tool.
+They will be placed prior to the test command line.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_COMMAND_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMEMORYCHECK_COMMAND_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBMemoryCheckType\fP
+Specify the type of memory checking to perform.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_TYPE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMEMORYCHECK_TYPE\fP
+.UNINDENT
+.TP
+.B \fBMemoryCheckSanitizerOptions\fP
+Specify options to sanitizers when running with a sanitize\-enabled build.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_SANITIZER_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMEMORYCHECK_SANITIZER_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBMemoryCheckSuppressionFile\fP
+Specify a file containing suppression rules for the
+\fBMemoryCheckCommand\fP tool.  It will be passed with options
+appropriate to the tool.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_SUPPRESSIONS_FILE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBMEMORYCHECK_SUPPRESSIONS_FILE\fP
+.UNINDENT
+.UNINDENT
+.sp
+Additional configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBBoundsCheckerCommand\fP
+Specify a \fBMemoryCheckCommand\fP that is known to be command\-line
+compatible with Bounds Checker.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none
+.IP \(bu 2
+\fBCTest\fP module variable: none
+.UNINDENT
+.TP
+.B \fBPurifyCommand\fP
+Specify a \fBMemoryCheckCommand\fP that is known to be command\-line
+compatible with Purify.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none
+.IP \(bu 2
+\fBCTest\fP module variable: \fBPURIFYCOMMAND\fP
+.UNINDENT
+.TP
+.B \fBValgrindCommand\fP
+Specify a \fBMemoryCheckCommand\fP that is known to be command\-line
+compatible with Valgrind.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none
+.IP \(bu 2
+\fBCTest\fP module variable: \fBVALGRIND_COMMAND\fP
+.UNINDENT
+.TP
+.B \fBValgrindCommandOptions\fP
+Specify command\-line options to the \fBValgrindCommand\fP tool.
+They will be placed prior to the test command line.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none
+.IP \(bu 2
+\fBCTest\fP module variable: \fBVALGRIND_COMMAND_OPTIONS\fP
+.UNINDENT
+.UNINDENT
+.SS CTest Submit Step
+.sp
+In a \fI\%CTest Script\fP, the \fBctest_submit()\fP command runs this step.
+Arguments to the command may specify some of the step settings.
+.sp
+Configuration settings include:
+.INDENT 0.0
+.TP
+.B \fBBuildName\fP
+Describe the dashboard client platform with a short string.
+(Operating system, compiler, etc.)
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_BUILD_NAME\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBBUILDNAME\fP
+.UNINDENT
+.TP
+.B \fBCDashVersion\fP
+Specify the version of \fI\%CDash\fP on the server.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none, detected from server
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_CDASH_VERSION\fP
+.UNINDENT
+.TP
+.B \fBCTestSubmitRetryCount\fP
+Specify a number of attempts to retry submission on network failure.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none,
+use the \fBctest_submit()\fP \fBRETRY_COUNT\fP option.
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_SUBMIT_RETRY_COUNT\fP
+.UNINDENT
+.TP
+.B \fBCTestSubmitRetryDelay\fP
+Specify a delay before retrying submission on network failure.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: none,
+use the \fBctest_submit()\fP \fBRETRY_DELAY\fP option.
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_SUBMIT_RETRY_DELAY\fP
+.UNINDENT
+.TP
+.B \fBCurlOptions\fP
+Specify a semicolon\-separated list of options to control the
+Curl library that CTest uses internally to connect to the
+server.  Possible options are \fBCURLOPT_SSL_VERIFYPEER_OFF\fP
+and \fBCURLOPT_SSL_VERIFYHOST_OFF\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_CURL_OPTIONS\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_CURL_OPTIONS\fP
+.UNINDENT
+.TP
+.B \fBDropLocation\fP
+The path on the dashboard server to send the submission.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_LOCATION\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDROP_LOCATION\fP if set,
+else \fBCTEST_DROP_LOCATION\fP
+.UNINDENT
+.TP
+.B \fBDropMethod\fP
+Specify the method by which results should be submitted to the
+dashboard server.  The value may be \fBcp\fP, \fBftp\fP, \fBhttp\fP,
+\fBhttps\fP, \fBscp\fP, or \fBxmlrpc\fP (if CMake was built with
+support for it).
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_METHOD\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDROP_METHOD\fP if set,
+else \fBCTEST_DROP_METHOD\fP
+.UNINDENT
+.TP
+.B \fBDropSite\fP
+The dashboard server name
+(for \fBftp\fP, \fBhttp\fP, and \fBhttps\fP, \fBscp\fP, and \fBxmlrpc\fP).
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDROP_SITE\fP if set,
+else \fBCTEST_DROP_SITE\fP
+.UNINDENT
+.TP
+.B \fBDropSitePassword\fP
+The dashboard server login password, if any
+(for \fBftp\fP, \fBhttp\fP, and \fBhttps\fP).
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_PASSWORD\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDROP_SITE_PASSWORD\fP if set,
+else \fBCTEST_DROP_SITE_PASWORD\fP
+.UNINDENT
+.TP
+.B \fBDropSiteUser\fP
+The dashboard server login user name, if any
+(for \fBftp\fP, \fBhttp\fP, and \fBhttps\fP).
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_USER\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBDROP_SITE_USER\fP if set,
+else \fBCTEST_DROP_SITE_USER\fP
+.UNINDENT
+.TP
+.B \fBIsCDash\fP
+Specify whether the dashboard server is \fI\%CDash\fP or an older
+dashboard server implementation requiring \fBTriggerSite\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_CDASH\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBCTEST_DROP_SITE_CDASH\fP
+.UNINDENT
+.TP
+.B \fBScpCommand\fP
+\fBscp\fP command\-line tool to use when \fBDropMethod\fP is \fBscp\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SCP_COMMAND\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBSCPCOMMAND\fP
+.UNINDENT
+.TP
+.B \fBSite\fP
+Describe the dashboard client host site with a short string.
+(Hostname, domain, etc.)
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_SITE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBSITE\fP,
+initialized by the \fBsite_name()\fP command
+.UNINDENT
+.TP
+.B \fBTriggerSite\fP
+Legacy option to support older dashboard server implementations.
+Not used when \fBIsCDash\fP is true.
+.INDENT 7.0
+.IP \(bu 2
+\fI\%CTest Script\fP variable: \fBCTEST_TRIGGER_SITE\fP
+.IP \(bu 2
+\fBCTest\fP module variable: \fBTRIGGER_SITE\fP if set,
+else \fBCTEST_TRIGGER_SITE\fP
+.UNINDENT
+.UNINDENT
+.SH SEE ALSO
+.sp
+The following resources are available to get help using CMake:
+.INDENT 0.0
+.TP
+.B Home Page
+\fI\%http://www.cmake.org\fP
+.sp
+The primary starting point for learning about CMake.
+.TP
+.B Frequently Asked Questions
+\fI\%http://www.cmake.org/Wiki/CMake_FAQ\fP
+.sp
+A Wiki is provided containing answers to frequently asked questions.
+.TP
+.B Online Documentation
+\fI\%http://www.cmake.org/documentation\fP
+.sp
+Links to available documentation may be found on this web page.
+.TP
+.B Mailing List
+\fI\%http://www.cmake.org/mailing\-lists\fP
+.sp
+For help and discussion about using cmake, a mailing list is
+provided at \fI\%[email protected]\fP\&.  The list is member\-post\-only but one
+may sign up on the CMake web page.  Please first read the full
+documentation at \fI\%http://www.cmake.org\fP before posting questions to
+the list.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-buildsystem.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,1139 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-BUILDSYSTEM" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-buildsystem \- CMake Buildsystem Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+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.
+.SH BINARY TARGETS
+.sp
+Executables and libraries are defined using the \fBadd_executable()\fP
+and \fBadd_library()\fP commands.  The resulting binary files have
+appropriate prefixes, suffixes and extensions for the platform targeted.
+Dependencies between binary targets are expressed using the
+\fBtarget_link_libraries()\fP command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(archive archive.cpp zip.cpp lzma.cpp)
+add_executable(zipapp zipapp.cpp)
+target_link_libraries(zipapp archive)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBarchive\fP is defined as a static library \-\- an archive containing objects
+compiled from \fBarchive.cpp\fP, \fBzip.cpp\fP, and \fBlzma.cpp\fP\&.  \fBzipapp\fP
+is defined as an executable formed by compiling and linking \fBzipapp.cpp\fP\&.
+When linking the \fBzipapp\fP executable, the \fBarchive\fP static library is
+linked in.
+.SS Binary Executables
+.sp
+The \fBadd_executable()\fP command defines an executable target:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(mytool mytool.cpp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Commands such as \fBadd_custom_command()\fP, which generates rules to be
+run at build time can transparently use an \fBEXECUTABLE\fP
+target as a \fBCOMMAND\fP executable.  The buildsystem rules will ensure that
+the executable is built before attempting to run the command.
+.SS Binary Library Types
+.SS Normal Libraries
+.sp
+By default, the \fBadd_library()\fP command defines a static library,
+unless a type is specified.  A type may be specified when using the command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(archive SHARED archive.cpp zip.cpp lzma.cpp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(archive STATIC archive.cpp zip.cpp lzma.cpp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBBUILD_SHARED_LIBS\fP variable may be enabled to change the
+behavior of \fBadd_library()\fP to build shared libraries by default.
+.sp
+In the context of the buildsystem definition as a whole, it is largely
+irrelevant whether particular libraries are \fBSHARED\fP or \fBSTATIC\fP \-\-
+the commands, dependency specifications and other APIs work similarly
+regardless of the library type.  The \fBMODULE\fP library type is
+dissimilar in that it is generally not linked to \-\- it is not used in
+the right\-hand\-side of the \fBtarget_link_libraries()\fP command.
+It is a type which is loaded as a plugin using runtime techniques.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(archive MODULE 7z.cpp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Object Libraries
+.sp
+The \fBOBJECT\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBOBJECT\fP 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
+\fBtarget_link_libraries()\fP\&.  They also may not be used as the \fBTARGET\fP
+in a use of the \fBadd_custom_command(TARGET)\fP command signature.
+.sp
+Although object libraries may not be named directly in calls to
+the \fBtarget_link_libraries()\fP command, they can be "linked"
+indirectly by using an \fI\%Interface Library\fP
+whose \fBINTERFACE_SOURCES\fP target property is set to name
+\fB$<TARGET_OBJECTS:objlib>\fP\&.
+.SH BUILD SPECIFICATION AND USAGE REQUIREMENTS
+.sp
+The \fBtarget_include_directories()\fP, \fBtarget_compile_definitions()\fP
+and \fBtarget_compile_options()\fP commands specify the build specifications
+and the usage requirements of binary targets.  The commands populate the
+\fBINCLUDE_DIRECTORIES\fP, \fBCOMPILE_DEFINITIONS\fP and
+\fBCOMPILE_OPTIONS\fP target properties respectively, and/or the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP, \fBINTERFACE_COMPILE_DEFINITIONS\fP
+and \fBINTERFACE_COMPILE_OPTIONS\fP target properties.
+.sp
+Each of the commands has a \fBPRIVATE\fP, \fBPUBLIC\fP and \fBINTERFACE\fP mode.  The
+\fBPRIVATE\fP mode populates only the non\-\fBINTERFACE_\fP variant of the target
+property and the \fBINTERFACE\fP mode populates only the \fBINTERFACE_\fP variants.
+The \fBPUBLIC\fP mode populates both variants of the repective target property.
+Each command may be invoked with multiple uses of each keyword:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_compile_definitions(archive
+  PRIVATE BUILDING_WITH_LZMA
+  INTERFACE USING_ARCHIVE_LIB
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that usage requirements are not designed as a way to make downstreams
+use particular \fBCOMPILE_OPTIONS\fP or
+\fBCOMPILE_DEFINITIONS\fP etc for convenience only.  The contents of
+the properties must be \fBrequirements\fP, not merely recommendations or
+convenience.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS Target Properties
+.sp
+The contents of the \fBINCLUDE_DIRECTORIES\fP,
+\fBCOMPILE_DEFINITIONS\fP and \fBCOMPILE_OPTIONS\fP target
+properties are used appropriately when compiling the source files of a
+binary target.
+.sp
+Entries in the \fBINCLUDE_DIRECTORIES\fP are added to the compile line
+with \fB\-I\fP or \fB\-isystem\fP prefixes and in the order of appearance in the
+property value.
+.sp
+Entries in the \fBCOMPILE_DEFINITIONS\fP are prefixed with \fB\-D\fP or
+\fB/D\fP and added to the compile line in an unspecified order.  The
+\fBDEFINE_SYMBOL\fP target property is also added as a compile
+definition as a special convenience case for \fBSHARED\fP and \fBMODULE\fP
+library targets.
+.sp
+Entries in the \fBCOMPILE_OPTIONS\fP 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 \fBPOSITION_INDEPENDENT_CODE\fP\&.
+.sp
+The contents of the \fBINTERFACE_INCLUDE_DIRECTORIES\fP,
+\fBINTERFACE_COMPILE_DEFINITIONS\fP and
+\fBINTERFACE_COMPILE_OPTIONS\fP target properties are
+\fIUsage Requirements\fP \-\- 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 \fBINTERFACE_\fP property on
+each target specified in a \fBtarget_link_libraries()\fP command is
+consumed:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Because it is common to require that the source directory and corresponding
+build directory are added to the \fBINCLUDE_DIRECTORIES\fP, the
+\fBCMAKE_INCLUDE_CURRENT_DIR\fP variable can be enabled to conveniently
+add the corresponding directories to the \fBINCLUDE_DIRECTORIES\fP of
+all targets.  The variable \fBCMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE\fP
+can be enabled to add the corresponding directories to the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of all targets.  This makes use of
+targets in multiple different directories convenient through use of the
+\fBtarget_link_libraries()\fP command.
+.SS Transitive Usage Requirements
+.sp
+The usage requirements of a target can transitively propagate to dependents.
+The \fBtarget_link_libraries()\fP command has \fBPRIVATE\fP,
+\fBINTERFACE\fP and \fBPUBLIC\fP keywords to control the propagation.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Because \fBarchive\fP is a \fBPUBLIC\fP dependency of \fBarchiveExtras\fP, the
+usage requirements of it are propagated to \fBconsumer\fP too.  Because
+\fBserialization\fP is a \fBPRIVATE\fP dependency of \fBarchive\fP, the usage
+requirements of it are not propagated to \fBconsumer\fP\&.
+.sp
+Generally, a dependency should be specified in a use of
+\fBtarget_link_libraries()\fP with the \fBPRIVATE\fP 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 \fBPUBLIC\fP dependency.
+A dependency which is not used by the implementation of a library, but only by
+its headers should be specified as an \fBINTERFACE\fP dependency.  The
+\fBtarget_link_libraries()\fP command may be invoked with multiple uses of
+each keyword:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(archiveExtras
+  PUBLIC archive
+  PRIVATE serialization
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Usage requirements are propagated by reading the \fBINTERFACE_\fP variants
+of target properties from dependencies and appending the values to the
+non\-\fBINTERFACE_\fP variants of the operand.  For example, the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of dependencies is read and
+appended to the \fBINCLUDE_DIRECTORIES\fP of the operand.  In cases
+where order is relevant and maintained, and the order resulting from the
+\fBtarget_link_libraries()\fP calls does not allow correct compilation,
+use of an appropriate command to set the property directly may update the
+order.
+.sp
+For example, if the linked libraries for a target must be specified
+in the order \fBlib1\fP \fBlib2\fP \fBlib3\fP , but the include directories must
+be specified in the order \fBlib3\fP \fBlib1\fP \fBlib2\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myExe lib1 lib2 lib3)
+target_include_directories(myExe
+  PRIVATE $<TARGET_PROPERTY:lib3,INTERFACE_INCLUDE_DIRECTORIES>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that care must be taken when specifying usage requirements for targets
+which will be exported for installation using the \fBinstall(EXPORT)\fP
+command.  See Creating Packages for more.
+.SS Compatible Interface Properties
+.sp
+Some target properties are required to be compatible between a target and
+the interface of each dependency.  For example, the
+\fBPOSITION_INDEPENDENT_CODE\fP 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
+\fBINTERFACE_POSITION_INDEPENDENT_CODE\fP to communicate that
+consumers must be compiled as position\-independent\-code.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Here, both \fBexe1\fP and \fBexe2\fP will be compiled as position\-independent\-code.
+\fBlib1\fP will also be compiled as position\-independent\-code because that is the
+default setting for \fBSHARED\fP libraries.  If dependencies have conflicting,
+non\-compatible requirements \fBcmake(1)\fP issues a diagnostic:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBlib1\fP requirement \fBINTERFACE_POSITION_INDEPENDENT_CODE\fP is not
+"compatible" with the \fBPOSITION_INDEPENDENT_CODE\fP property of the \fBexe1\fP
+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.
+.sp
+The \fBlib1\fP and \fBlib2\fP 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 \fBexe2\fP links to both and they are in conflict, a diagnostic is
+issued.
+.sp
+To be "compatible", the \fBPOSITION_INDEPENDENT_CODE\fP property,
+if set must be either the same, in a boolean sense, as the
+\fBINTERFACE_POSITION_INDEPENDENT_CODE\fP property of all transitively
+specified dependencies on which that property is set.
+.sp
+This property of "compatible interface requirement" may be extended to other
+properties by specifying the property in the content of the
+\fBCOMPATIBLE_INTERFACE_BOOL\fP target property.  Each specified property
+must be compatible between the consuming target and the corresponding property
+with an \fBINTERFACE_\fP prefix from each dependency:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Non\-boolean properties may also participate in "compatible interface"
+computations.  Properties specified in the
+\fBCOMPATIBLE_INTERFACE_STRING\fP
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCOMPATIBLE_INTERFACE_NUMBER_MAX\fP target property specifies
+that content will be evaluated numerically and the maximum number among all
+specified will be calculated:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 lib1Version2 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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Similarly, the \fBCOMPATIBLE_INTERFACE_NUMBER_MIN\fP may be used to
+calculate the numeric minimum value for a property from dependencies.
+.sp
+Each calculated "compatible" property value may be read in the consumer at
+generate\-time using generator expressions.
+.sp
+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.
+.SS Property Origin Debugging
+.sp
+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.
+\fBcmake(1)\fP 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
+\fBCMAKE_DEBUG_TARGET_PROPERTIES\fP variable documentation:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_DEBUG_TARGET_PROPERTIES
+  INCLUDE_DIRECTORIES
+  COMPILE_DEFINITIONS
+  POSITION_INDEPENDENT_CODE
+  CONTAINER_SIZE_REQUIRED
+  LIB_VERSION
+)
+add_executable(exe1 exe1.cpp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In the case of properties listed in \fBCOMPATIBLE_INTERFACE_BOOL\fP or
+\fBCOMPATIBLE_INTERFACE_STRING\fP, the debug output shows which target
+was responsible for setting the property, and which other dependencies also
+defined the property.  In the case of
+\fBCOMPATIBLE_INTERFACE_NUMBER_MAX\fP and
+\fBCOMPATIBLE_INTERFACE_NUMBER_MIN\fP, the debug output shows the
+value of the property from each dependency, and whether the value determines
+the new extreme.
+.SS Build Specification with Generator Expressions
+.sp
+Build specifications may use
+\fBgenerator expressions\fP 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
+\fBTARGET_PROPERTY\fP expression:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In this case, the \fBexe1\fP source files will be compiled with
+\fB\-DCONTAINER_SIZE=200\fP\&.
+.sp
+Configuration determined build specifications may be conveniently set using
+the \fBCONFIG\fP generator expression.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_compile_definitions(exe1 PRIVATE
+    $<$<CONFIG:Debug>:DEBUG_BUILD>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCONFIG\fP parameter is compared case\-insensitively with the configuration
+being built.  In the presence of \fBIMPORTED\fP targets, the content of
+\fBMAP_IMPORTED_CONFIG_DEBUG\fP is also
+accounted for by this expression.
+.sp
+Some buildsystems generated by \fBcmake(1)\fP have a predetermined
+build\-configuration set in the \fBCMAKE_BUILD_TYPE\fP 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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+string(TOLOWER ${CMAKE_BUILD_TYPE} _type)
+if (_type STREQUAL debug)
+  target_compile_definitions(exe1 PRIVATE DEBUG_BUILD)
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+may appear to work for \fBMakefile\fP based and \fBNinja\fP generators, but is not
+portable to IDE generators.  Additionally, the \fBIMPORTED\fP
+configuration\-mappings are not accounted for with code like this, so it should
+be avoided.
+.sp
+The unary \fBTARGET_PROPERTY\fP generator expression and the \fBTARGET_POLICY\fP
+generator expression are evaluated with the consuming target context.  This
+means that a usage requirement specification may be evaluated differently based
+on the consumer:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBexe1\fP executable will be compiled with \fB\-DLIB1_WITH_EXE\fP, while the
+\fBshared_lib\fP shared library will be compiled with \fB\-DLIB1_WITH_SHARED_LIB\fP
+and \fB\-DCONSUMER_CMP0041_NEW\fP, because policy \fBCMP0041\fP is
+\fBNEW\fP at the point where the \fBshared_lib\fP target is created.
+.sp
+The \fBBUILD_INTERFACE\fP 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 \fBexport()\fP command.  The
+\fBINSTALL_INTERFACE\fP expression wraps requirements which are only used when
+consumed from a target which has been installed and exported with the
+\fBinstall(EXPORT)\fP command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In this case, the \fBexe1\fP executable will be compiled with
+\fB\-DClimbingStats_FROM_BUILD_LOCATION\fP\&.  The exporting commands generate
+\fBIMPORTED\fP targets with either the \fBINSTALL_INTERFACE\fP or the
+\fBBUILD_INTERFACE\fP omitted, and the \fB*_INTERFACE\fP marker stripped away.
+A separate project consuming the \fBClimbingStats\fP package would contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(ClimbingStats REQUIRED)
+
+add_executable(Downstream main.cpp)
+target_link_libraries(Downstream Upstream::ClimbingStats)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Depending on whether the \fBClimbingStats\fP package was used from the build
+location or the install location, the \fBDownstream\fP target would be compiled
+with either \fB\-DClimbingStats_FROM_BUILD_LOCATION\fP or
+\fB\-DClimbingStats_FROM_INSTALL_LOCATION\fP\&.  For more about packages and
+exporting see the \fBcmake\-packages(7)\fP manual.
+.SS Include Directories and Usage Requirements
+.sp
+Include directories require some special consideration when specified as usage
+requirements and when used with generator expressions.  The
+\fBtarget_include_directories()\fP command accepts both relative and
+absolute include directories:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(lib1 lib1.cpp)
+target_include_directories(lib1 PRIVATE
+  /absolute/path
+  relative/path
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Relative paths are interpreted relative to the source directory where the
+command appears.  Relative paths are not allowed in the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of \fBIMPORTED\fP targets.
+.sp
+In cases where a non\-trivial generator expression is used, the
+\fBINSTALL_PREFIX\fP expression may be used within the argument of an
+\fBINSTALL_INTERFACE\fP expression.  It is a replacement marker which
+expands to the installation prefix when imported by a consuming project.
+.sp
+Include directories usage requirements commonly differ between the build\-tree
+and the install\-tree.  The \fBBUILD_INTERFACE\fP and \fBINSTALL_INTERFACE\fP
+generator expressions can be used to describe separate usage requirements
+based on the usage location.  Relative paths are allowed within the
+\fBINSTALL_INTERFACE\fP expression and are interpreted relative to the
+installation prefix.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Two convenience APIs are provided relating to include directories usage
+requirements.  The \fBCMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE\fP variable
+may be enabled, with an equivalent effect to:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(TARGET tgt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+for each target affected.  The convenience for installed targets is
+an \fBINCLUDES DESTINATION\fP component with the \fBinstall(TARGETS)\fP
+command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(TARGETS foo bar bat EXPORT tgts ${dest_args}
+  INCLUDES DESTINATION include
+)
+install(EXPORT tgts ${other_args})
+install(FILES ${headers} DESTINATION include)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This is equivalent to appending \fB${CMAKE_INSTALL_PREFIX}/include\fP to the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of each of the installed
+\fBIMPORTED\fP targets when generated by \fBinstall(EXPORT)\fP\&.
+.sp
+When the \fBINTERFACE_INCLUDE_DIRECTORIES\fP of an
+\fI\%imported target\fP is consumed, the entries in the
+property are treated as \fBSYSTEM\fP include directories, as if they were
+listed in the \fBINTERFACE_SYSTEM_INCLUDE_DIRECTORIES\fP of the
+dependency. This can result in omission of compiler warnings for headers
+found in those directories.  This behavior for \fI\%Imported Targets\fP may
+be controlled with the \fBNO_SYSTEM_FROM_IMPORTED\fP target property.
+.sp
+If a binary target is linked transitively to a Mac OX framework, the
+\fBHeaders\fP 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.
+.SS Link Libraries and Generator Expressions
+.sp
+Like build specifications, \fBlink libraries\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+As the value of the \fBPOSITION_INDEPENDENT_CODE\fP property of
+the \fBexe1\fP target is dependent on the linked libraries (\fBlib3\fP), and the
+edge of linking \fBexe1\fP is determined by the same
+\fBPOSITION_INDEPENDENT_CODE\fP property, the dependency graph above
+contains a cycle.  \fBcmake(1)\fP issues a diagnostic in this case.
+.SS Output Artifacts
+.sp
+The buildsystem targets created by the \fBadd_library()\fP and
+\fBadd_executable()\fP 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.  \fBTARGET_FILE\fP,
+\fBTARGET_LINKER_FILE\fP and related expressions can be used to access the
+name and location of generated binaries.  These expressions do not work
+for \fBOBJECT\fP libraries however, as there is no single file generated
+by such libraries which is relevant to the expressions.
+.sp
+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.
+.SS Runtime Output Artifacts
+.sp
+A \fIruntime\fP output artifact of a buildsystem target may be:
+.INDENT 0.0
+.IP \(bu 2
+The executable file (e.g. \fB\&.exe\fP) of an executable target
+created by the \fBadd_executable()\fP command.
+.IP \(bu 2
+On DLL platforms: the executable file (e.g. \fB\&.dll\fP) of a shared
+library target created by the \fBadd_library()\fP command
+with the \fBSHARED\fP option.
+.UNINDENT
+.sp
+The \fBRUNTIME_OUTPUT_DIRECTORY\fP and \fBRUNTIME_OUTPUT_NAME\fP
+target properties may be used to control runtime output artifact locations
+and names in the build tree.
+.SS Library Output Artifacts
+.sp
+A \fIlibrary\fP output artifact of a buildsystem target may be:
+.INDENT 0.0
+.IP \(bu 2
+The loadable module file (e.g. \fB\&.dll\fP or \fB\&.so\fP) of a module
+library target created by the \fBadd_library()\fP command
+with the \fBMODULE\fP option.
+.IP \(bu 2
+On non\-DLL platforms: the shared library file (e.g. \fB\&.so\fP or \fB\&.dylib\fP)
+of a shared shared library target created by the \fBadd_library()\fP
+command with the \fBSHARED\fP option.
+.UNINDENT
+.sp
+The \fBLIBRARY_OUTPUT_DIRECTORY\fP and \fBLIBRARY_OUTPUT_NAME\fP
+target properties may be used to control library output artifact locations
+and names in the build tree.
+.SS Archive Output Artifacts
+.sp
+An \fIarchive\fP output artifact of a buildsystem target may be:
+.INDENT 0.0
+.IP \(bu 2
+The static library file (e.g. \fB\&.lib\fP or \fB\&.a\fP) of a static
+library target created by the \fBadd_library()\fP command
+with the \fBSTATIC\fP option.
+.IP \(bu 2
+On DLL platforms: the import library file (e.g. \fB\&.lib\fP) of a shared
+library target created by the \fBadd_library()\fP command
+with the \fBSHARED\fP option.
+.IP \(bu 2
+On DLL platforms: the import library file (e.g. \fB\&.lib\fP) of an
+executable target created by the \fBadd_executable()\fP command
+when its \fBENABLE_EXPORTS\fP target property is set.
+.UNINDENT
+.sp
+The \fBARCHIVE_OUTPUT_DIRECTORY\fP and \fBARCHIVE_OUTPUT_NAME\fP
+target properties may be used to control archive output artifact locations
+and names in the build tree.
+.SS Directory\-Scoped Commands
+.sp
+The \fBtarget_include_directories()\fP,
+\fBtarget_compile_definitions()\fP and
+\fBtarget_compile_options()\fP commands have an effect on only one
+target at a time.  The commands \fBadd_definitions()\fP,
+\fBadd_compile_options()\fP and \fBinclude_directories()\fP have
+a similar function, but operate at directory scope instead of target
+scope for convenience.
+.SH PSEUDO TARGETS
+.sp
+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.
+.SS Imported Targets
+.sp
+An \fBIMPORTED\fP 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 \fBIMPORTED\fP target in the
+left\-hand\-side of the \fBtarget_compile_definitions()\fP,
+\fBtarget_include_directories()\fP, \fBtarget_compile_options()\fP or
+\fBtarget_link_libraries()\fP commands, as that would be an attempt to
+modify it.  \fBIMPORTED\fP targets are designed to be used only in the
+right\-hand\-side of those commands.
+.sp
+\fBIMPORTED\fP targets may have the same usage requirement properties
+populated as binary targets, such as
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP,
+\fBINTERFACE_COMPILE_DEFINITIONS\fP,
+\fBINTERFACE_COMPILE_OPTIONS\fP,
+\fBINTERFACE_LINK_LIBRARIES\fP, and
+\fBINTERFACE_POSITION_INDEPENDENT_CODE\fP\&.
+.sp
+The \fBLOCATION\fP may also be read from an IMPORTED target, though there
+is rarely reason to do so.  Commands such as \fBadd_custom_command()\fP can
+transparently use an \fBIMPORTED\fP \fBEXECUTABLE\fP target
+as a \fBCOMMAND\fP executable.
+.sp
+The scope of the definition of an \fBIMPORTED\fP 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.
+.sp
+It is also possible to define a \fBGLOBAL\fP \fBIMPORTED\fP target which is
+accessible globally in the buildsystem.
+.sp
+See the \fBcmake\-packages(7)\fP manual for more on creating packages
+with \fBIMPORTED\fP targets.
+.SS Alias Targets
+.sp
+An \fBALIAS\fP target is a name which may be used interchangably with
+a binary target name in read\-only contexts.  A primary use\-case for \fBALIAS\fP
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In another directory, we can link unconditionally to the \fBUpstream::lib1\fP
+target, which may be an \fBIMPORTED\fP target from a package, or an
+\fBALIAS\fP target if built as part of the same buildsystem.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if (NOT TARGET Upstream::lib1)
+  find_package(lib1 REQUIRED)
+endif()
+add_executable(exe1 exe1.cpp)
+target_link_libraries(exe1 Upstream::lib1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBALIAS\fP 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 \fBALIAS\fP name by reading the \fBALIASED_TARGET\fP
+property from it:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_target_property(_aliased Upstream::lib1 ALIASED_TARGET)
+if(_aliased)
+  message(STATUS "The name Upstream::lib1 is an ALIAS for ${_aliased}.")
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Interface Libraries
+.sp
+An \fBINTERFACE\fP target has no \fBLOCATION\fP and is mutable, but is
+otherwise similar to an \fBIMPORTED\fP target.
+.sp
+It may specify usage requirements such as
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP,
+\fBINTERFACE_COMPILE_DEFINITIONS\fP,
+\fBINTERFACE_COMPILE_OPTIONS\fP,
+\fBINTERFACE_LINK_LIBRARIES\fP,
+\fBINTERFACE_SOURCES\fP,
+and \fBINTERFACE_POSITION_INDEPENDENT_CODE\fP\&.
+Only the \fBINTERFACE\fP modes of the \fBtarget_include_directories()\fP,
+\fBtarget_compile_definitions()\fP, \fBtarget_compile_options()\fP,
+\fBtarget_sources()\fP, and \fBtarget_link_libraries()\fP commands
+may be used with \fBINTERFACE\fP libraries.
+.sp
+A primary use\-case for \fBINTERFACE\fP libraries is header\-only libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Here, the usage requirements from the \fBEigen\fP target are consumed and used
+when compiling, but it has no effect on linking.
+.sp
+Another use\-case is to employ an entirely target\-focussed design for usage
+requirements:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This way, the build specification of \fBexe1\fP is expressed entirely as linked
+targets, and the complexity of compiler\-specific flags is encapsulated in an
+\fBINTERFACE\fP library target.
+.sp
+The properties permitted to be set on or read from an \fBINTERFACE\fP library
+are:
+.INDENT 0.0
+.IP \(bu 2
+Properties matching \fBINTERFACE_*\fP
+.IP \(bu 2
+Built\-in properties matching \fBCOMPATIBLE_INTERFACE_*\fP
+.IP \(bu 2
+\fBEXPORT_NAME\fP
+.IP \(bu 2
+\fBIMPORTED\fP
+.IP \(bu 2
+\fBNAME\fP
+.IP \(bu 2
+Properties matching \fBMAP_IMPORTED_CONFIG_*\fP
+.UNINDENT
+.sp
+\fBINTERFACE\fP libraries may be installed and exported.  Any content they refer
+to must be installed separately:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-commands.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,7768 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-COMMANDS" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-commands \- CMake Language Command Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH NORMAL COMMANDS
+.sp
+These commands may be used freely in CMake projects.
+.SS add_compile_options
+.sp
+Adds options to the compilation of source files.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_compile_options(<option> ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Adds options to the compiler command line for targets in the current
+directory and below that are added after this command is invoked.
+See documentation of the \fBdirectory\fP and
+\fBtarget\fP \fBCOMPILE_OPTIONS\fP properties.
+.sp
+This command can be used to add any options, but alternative commands
+exist to add preprocessor definitions (\fBtarget_compile_definitions()\fP
+and \fBadd_definitions()\fP) or include directories
+(\fBtarget_include_directories()\fP and \fBinclude_directories()\fP).
+.sp
+Arguments to \fBadd_compile_options\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS add_custom_command
+.sp
+Add a custom build rule to the generated build system.
+.sp
+There are two main signatures for \fBadd_custom_command\fP\&.
+.SS Generating Files
+.sp
+The first signature is for adding a custom command to produce an output:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This defines a command to generate specified \fBOUTPUT\fP file(s).
+A target created in the same directory (\fBCMakeLists.txt\fP 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 \fBadd_custom_target()\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OUTPUT: MAIN_DEPENDENCY DEPENDS
+        COMMAND
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBAPPEND\fP
+Append the \fBCOMMAND\fP and \fBDEPENDS\fP 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 \fBCOMMENT\fP, \fBMAIN_DEPENDENCY\fP, and \fBWORKING_DIRECTORY\fP
+options are currently ignored when APPEND is given, but may be
+used in the future.
+.TP
+.B \fBBYPRODUCTS\fP
+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 \fBGENERATED\fP
+source file property automatically.
+.sp
+Explicit specification of byproducts is supported by the
+\fBNinja\fP generator to tell the \fBninja\fP 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.
+.sp
+The \fBBYPRODUCTS\fP option is ignored on non\-Ninja generators
+except to mark byproducts \fBGENERATED\fP\&.
+.TP
+.B \fBCOMMAND\fP
+Specify the command\-line(s) to execute at build time.
+If more than one \fBCOMMAND\fP is specified they will be executed in order,
+but \fInot\fP necessarily composed into a stateful shell or batch script.
+(To run a full script, use the \fBconfigure_file()\fP command or the
+\fBfile(GENERATE)\fP command to create it, and then specify
+a \fBCOMMAND\fP to launch it.)
+The optional \fBARGS\fP argument is for backward compatibility and
+will be ignored.
+.sp
+If \fBCOMMAND\fP specifies an executable target (created by the
+\fBadd_executable()\fP command) it will automatically be replaced
+by the location of the executable created at build time.
+(Use the \fBTARGET_FILE\fP
+\fBgenerator expression\fP 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.
+.sp
+Arguments to \fBCOMMAND\fP may use
+\fBgenerator expressions\fP\&.
+References to target names in generator expressions imply target\-level
+dependencies, but NOT file\-level dependencies.  List target names with
+the \fBDEPENDS\fP option to add file\-level dependencies.
+.TP
+.B \fBCOMMENT\fP
+Display the given message before the commands are executed at
+build time.
+.TP
+.B \fBDEPENDS\fP
+Specify files on which the command depends.  If any dependency is
+an \fBOUTPUT\fP of another custom command in the same directory
+(\fBCMakeLists.txt\fP file) CMake automatically brings the other
+custom command into the target in which this command is built.
+If \fBDEPENDS\fP is not specified the command will run whenever
+the \fBOUTPUT\fP is missing; if the command does not actually
+create the \fBOUTPUT\fP then the rule will always run.
+If \fBDEPENDS\fP specifies any target (created by the
+\fBadd_custom_target()\fP, \fBadd_executable()\fP, or
+\fBadd_library()\fP 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.
+.sp
+Arguments to \fBDEPENDS\fP may use
+\fBgenerator expressions\fP\&.
+.TP
+.B \fBIMPLICIT_DEPENDS\fP
+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 \fBC\fP and \fBCXX\fP language scanners are supported.
+The language has to be specified for every file in the
+\fBIMPLICIT_DEPENDS\fP list.  Dependencies discovered from the
+scanning are added to those of the custom command at build time.
+Note that the \fBIMPLICIT_DEPENDS\fP option is currently supported
+only for Makefile generators and will be ignored by other generators.
+.TP
+.B \fBMAIN_DEPENDENCY\fP
+Specify the primary input source file to the command.  This is
+treated just like any value given to the \fBDEPENDS\fP 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.
+.TP
+.B \fBOUTPUT\fP
+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 \fBGENERATED\fP
+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 \fBSYMBOLIC\fP
+source file property.
+.TP
+.B \fBUSES_TERMINAL\fP
+The command will be given direct access to the terminal if possible.
+With the \fBNinja\fP generator, this places the command in
+the \fBconsole\fP \fBpool\fP\&.
+.TP
+.B \fBVERBATIM\fP
+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 \fBVERBATIM\fP is recommended as it enables
+correct behavior.  When \fBVERBATIM\fP is not given the behavior
+is platform specific because there is no protection of
+tool\-specific special characters.
+.TP
+.B \fBWORKING_DIRECTORY\fP
+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.
+.UNINDENT
+.SS Build Events
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This defines a new command that will be associated with building the
+specified target.  When the command will happen is determined by which
+of the following is specified:
+.INDENT 0.0
+.TP
+.B \fBPRE_BUILD\fP
+Run before any other rules are executed within the target.
+This is supported only on Visual Studio 7 or later.
+For all other generators \fBPRE_BUILD\fP will be treated as
+\fBPRE_LINK\fP\&.
+.TP
+.B \fBPRE_LINK\fP
+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
+\fBadd_custom_target()\fP command.
+.TP
+.B \fBPOST_BUILD\fP
+Run after all other rules within the target have been executed.
+.UNINDENT
+.SS add_custom_target
+.sp
+Add a target with no output so it will always be built.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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...]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Adds a target with the given name that executes the given commands.
+The target has no output file and is \fIalways considered out of date\fP
+even if the commands try to create a file with the name of the target.
+Use the \fBadd_custom_command()\fP command to generate a file with
+dependencies.  By default nothing depends on the custom target.  Use
+the \fBadd_dependencies()\fP command to add dependencies to or
+from other targets.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBALL\fP
+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 \fBALL\fP).
+.TP
+.B \fBBYPRODUCTS\fP
+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 \fBGENERATED\fP
+source file property automatically.
+.sp
+Explicit specification of byproducts is supported by the
+\fBNinja\fP generator to tell the \fBninja\fP 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.
+.sp
+The \fBBYPRODUCTS\fP option is ignored on non\-Ninja generators
+except to mark byproducts \fBGENERATED\fP\&.
+.TP
+.B \fBCOMMAND\fP
+Specify the command\-line(s) to execute at build time.
+If more than one \fBCOMMAND\fP is specified they will be executed in order,
+but \fInot\fP necessarily composed into a stateful shell or batch script.
+(To run a full script, use the \fBconfigure_file()\fP command or the
+\fBfile(GENERATE)\fP command to create it, and then specify
+a \fBCOMMAND\fP to launch it.)
+.sp
+If \fBCOMMAND\fP specifies an executable target (created by the
+\fBadd_executable()\fP command) it will automatically be replaced
+by the location of the executable created at build time.
+Additionally a target\-level dependency will be added so that the
+executable target will be built before this custom target.
+.sp
+Arguments to \fBCOMMAND\fP may use
+\fBgenerator expressions\fP\&.
+References to target names in generator expressions imply target\-level
+dependencies.
+.sp
+The command and arguments are optional and if not specified an empty
+target will be created.
+.TP
+.B \fBCOMMENT\fP
+Display the given message before the commands are executed at
+build time.
+.TP
+.B \fBDEPENDS\fP
+Reference files and outputs of custom commands created with
+\fBadd_custom_command()\fP command calls in the same directory
+(\fBCMakeLists.txt\fP file).  They will be brought up to date when
+the target is built.
+.sp
+Use the \fBadd_dependencies()\fP command to add dependencies
+on other targets.
+.TP
+.B \fBSOURCES\fP
+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.
+.TP
+.B \fBVERBATIM\fP
+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 \fBadd_custom_target\fP even sees
+the arguments.  Use of \fBVERBATIM\fP is recommended as it enables
+correct behavior.  When \fBVERBATIM\fP is not given the behavior
+is platform specific because there is no protection of
+tool\-specific special characters.
+.TP
+.B \fBUSES_TERMINAL\fP
+The command will be given direct access to the terminal if possible.
+With the \fBNinja\fP generator, this places the command in
+the \fBconsole\fP \fBpool\fP\&.
+.TP
+.B \fBWORKING_DIRECTORY\fP
+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.
+.UNINDENT
+.SS add_definitions
+.sp
+Adds \-D define flags to the compilation of source files.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_definitions(\-DFOO \-DBAR ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Adds definitions to the compiler command line for targets in the current
+directory and below (whether added before or after this command is invoked).
+This command can be used to add any flags, but it is intended to add
+preprocessor definitions (see the \fBadd_compile_options()\fP command
+to add other flags).
+Flags beginning in \-D or /D that look like preprocessor definitions are
+automatically added to the \fBCOMPILE_DEFINITIONS\fP directory
+property for the current directory.  Definitions with non\-trivial values
+may be left in the set of flags instead of being converted for reasons of
+backwards compatibility.  See documentation of the
+\fBdirectory\fP,
+\fBtarget\fP,
+\fBsource file\fP \fBCOMPILE_DEFINITIONS\fP
+properties for details on adding preprocessor definitions to specific
+scopes and configurations.
+.sp
+See the \fBcmake\-buildsystem(7)\fP manual for more on defining
+buildsystem properties.
+.SS add_dependencies
+.sp
+Add a dependency between top\-level targets.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_dependencies(<target> [<target\-dependency>]...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Make a top\-level \fB<target>\fP depend on other top\-level targets to
+ensure that they build before \fB<target>\fP does.  A top\-level target
+is one created by one of the \fBadd_executable()\fP,
+\fBadd_library()\fP, or \fBadd_custom_target()\fP commands
+(but not targets generated by CMake like \fBinstall\fP).
+.sp
+Dependencies added to an imported target
+or an interface library are followed
+transitively in its place since the target itself does not build.
+.sp
+See the \fBDEPENDS\fP option of \fBadd_custom_target()\fP and
+\fBadd_custom_command()\fP commands for adding file\-level
+dependencies in custom rules.  See the \fBOBJECT_DEPENDS\fP
+source file property to add file\-level dependencies to object files.
+.SS add_executable
+.sp
+Add an executable to the project using the specified source files.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(<name> [WIN32] [MACOSX_BUNDLE]
+               [EXCLUDE_FROM_ALL]
+               source1 [source2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Adds an executable target called \fB<name>\fP to be built from the source
+files listed in the command invocation.  The \fB<name>\fP 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 \fB<name>.exe\fP or just
+\fB<name>\fP\&.
+.sp
+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
+\fBRUNTIME_OUTPUT_DIRECTORY\fP target property to change this
+location.  See documentation of the \fBOUTPUT_NAME\fP target property
+to change the \fB<name>\fP part of the final file name.
+.sp
+If \fBWIN32\fP is given the property \fBWIN32_EXECUTABLE\fP will be
+set on the target created.  See documentation of that target property for
+details.
+.sp
+If \fBMACOSX_BUNDLE\fP is given the corresponding property will be set on
+the created target.  See documentation of the \fBMACOSX_BUNDLE\fP
+target property for details.
+.sp
+If \fBEXCLUDE_FROM_ALL\fP is given the corresponding property will be set on
+the created target.  See documentation of the \fBEXCLUDE_FROM_ALL\fP
+target property for details.
+.sp
+Source arguments to \fBadd_executable\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(<name> IMPORTED [GLOBAL])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+An IMPORTED executable target references an
+executable file located outside the project.  No rules are generated to
+build it, and the \fBIMPORTED\fP target property is \fBTrue\fP\&.  The
+target name has scope in the directory in which it is created and below, but
+the \fBGLOBAL\fP option extends visibility.  It may be referenced like any
+target built within the project.  \fBIMPORTED\fP executables are useful
+for convenient reference from commands like \fBadd_custom_command()\fP\&.
+Details about the imported executable are specified by setting properties
+whose names begin in \fBIMPORTED_\fP\&.  The most important such property is
+\fBIMPORTED_LOCATION\fP (and its per\-configuration version
+\fBIMPORTED_LOCATION_<CONFIG>\fP) which specifies the location of
+the main executable file on disk.  See documentation of the \fBIMPORTED_*\fP
+properties for more information.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(<name> ALIAS <target>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Creates an Alias Target, such that \fB<name>\fP can
+be used to refer to \fB<target>\fP in subsequent commands.  The \fB<name>\fP
+does not appear in the generated buildsystem as a make target.  The
+\fB<target>\fP may not be an Imported Target or an
+\fBALIAS\fP\&.  \fBALIAS\fP targets can be used as targets to read properties
+from, executables for custom commands and custom targets.  They can also be
+tested for existance with the regular \fBif(TARGET)\fP subcommand.
+The \fB<name>\fP may not be used to modify properties of \fB<target>\fP, that
+is, it may not be used as the operand of \fBset_property()\fP,
+\fBset_target_properties()\fP, \fBtarget_link_libraries()\fP etc.
+An \fBALIAS\fP target may not be installed or exported.
+.SS add_library
+.sp
+Add a library to the project using the specified source files.
+.SS Normal Libraries
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(<name> [STATIC | SHARED | MODULE]
+            [EXCLUDE_FROM_ALL]
+            source1 [source2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Adds a library target called \fB<name>\fP to be built from the source files
+listed in the command invocation.  The \fB<name>\fP 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 \fBlib<name>.a\fP or
+\fB<name>.lib\fP).
+.sp
+\fBSTATIC\fP, \fBSHARED\fP, or \fBMODULE\fP may be given to specify the type of
+library to be created.  \fBSTATIC\fP libraries are archives of object files
+for use when linking other targets.  \fBSHARED\fP libraries are linked
+dynamically and loaded at runtime.  \fBMODULE\fP 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 \fBSTATIC\fP or \fBSHARED\fP based on whether the current value of the
+variable \fBBUILD_SHARED_LIBS\fP is \fBON\fP\&.  For \fBSHARED\fP and
+\fBMODULE\fP libraries the \fBPOSITION_INDEPENDENT_CODE\fP target
+property is set to \fBON\fP automatically.
+.sp
+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 \fBARCHIVE_OUTPUT_DIRECTORY\fP,
+\fBLIBRARY_OUTPUT_DIRECTORY\fP, and
+\fBRUNTIME_OUTPUT_DIRECTORY\fP target properties to change this
+location.  See documentation of the \fBOUTPUT_NAME\fP target
+property to change the \fB<name>\fP part of the final file name.
+.sp
+If \fBEXCLUDE_FROM_ALL\fP is given the corresponding property will be set on
+the created target.  See documentation of the \fBEXCLUDE_FROM_ALL\fP
+target property for details.
+.sp
+Source arguments to \fBadd_library\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS Imported Libraries
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(<name> <SHARED|STATIC|MODULE|UNKNOWN> IMPORTED
+            [GLOBAL])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+An IMPORTED library target references a library
+file located outside the project.  No rules are generated to build it, and
+the \fBIMPORTED\fP target property is \fBTrue\fP\&.  The target name has
+scope in the directory in which it is created and below, but the \fBGLOBAL\fP
+option extends visibility.  It may be referenced like any target built
+within the project.  \fBIMPORTED\fP libraries are useful for convenient
+reference from commands like \fBtarget_link_libraries()\fP\&.  Details
+about the imported library are specified by setting properties whose names
+begin in \fBIMPORTED_\fP and \fBINTERFACE_\fP\&.  The most important such
+property is \fBIMPORTED_LOCATION\fP (and its per\-configuration
+variant \fBIMPORTED_LOCATION_<CONFIG>\fP) which specifies the
+location of the main library file on disk.  See documentation of the
+\fBIMPORTED_*\fP and \fBINTERFACE_*\fP properties for more information.
+.SS Object Libraries
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(<name> OBJECT <src>...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Creates an Object Library\&.  An object library
+compiles source files but does not archive or link their object files into a
+library.  Instead other targets created by \fI\%add_library()\fP or
+\fBadd_executable()\fP may reference the objects using an expression of the
+form \fB$<TARGET_OBJECTS:objlib>\fP as a source, where \fBobjlib\fP is the
+object library name.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(... $<TARGET_OBJECTS:objlib> ...)
+add_executable(... $<TARGET_OBJECTS:objlib> ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will include objlib\(aqs 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. \fB\&.txt\fP).
+They may contain custom commands generating such sources, but not
+\fBPRE_BUILD\fP, \fBPRE_LINK\fP, or \fBPOST_BUILD\fP 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
+\fB$<TARGET_OBJECTS:objlib>\fP\&.
+.SS Alias Libraries
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(<name> ALIAS <target>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Creates an Alias Target, such that \fB<name>\fP can be
+used to refer to \fB<target>\fP in subsequent commands.  The \fB<name>\fP does
+not appear in the generatedbuildsystem as a make target.  The \fB<target>\fP
+may not be an Imported Target or an \fBALIAS\fP\&.
+\fBALIAS\fP targets can be used as linkable targets and as targets to
+read properties from.  They can also be tested for existance with the
+regular \fBif(TARGET)\fP subcommand.  The \fB<name>\fP may not be used
+to modify properties of \fB<target>\fP, that is, it may not be used as the
+operand of \fBset_property()\fP, \fBset_target_properties()\fP,
+\fBtarget_link_libraries()\fP etc.  An \fBALIAS\fP target may not be
+installed or exported.
+.SS Interface Libraries
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(<name> INTERFACE [IMPORTED [GLOBAL]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Creates an Interface Library\&.  An \fBINTERFACE\fP
+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 \fBINTERFACE_*\fP properties are populated on
+the interface target using the commands:
+.INDENT 0.0
+.IP \(bu 2
+\fBset_property()\fP,
+.IP \(bu 2
+\fBtarget_link_libraries(INTERFACE)\fP,
+.IP \(bu 2
+\fBtarget_include_directories(INTERFACE)\fP,
+.IP \(bu 2
+\fBtarget_compile_options(INTERFACE)\fP,
+.IP \(bu 2
+\fBtarget_compile_definitions(INTERFACE)\fP, and
+.IP \(bu 2
+\fBtarget_sources(INTERFACE)\fP,
+.UNINDENT
+.sp
+and then it is used as an argument to \fBtarget_link_libraries()\fP
+like any other target.
+.sp
+An \fBINTERFACE\fP Imported Target may also be
+created with this signature.  An \fBIMPORTED\fP 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 \fBGLOBAL\fP option
+extends visibility.  It may be referenced like any target built within
+the project.  \fBIMPORTED\fP libraries are useful for convenient reference
+from commands like \fBtarget_link_libraries()\fP\&.
+.SS add_subdirectory
+.sp
+Add a subdirectory to the build.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_subdirectory(source_dir [binary_dir]
+                 [EXCLUDE_FROM_ALL])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add a subdirectory to the build.  The source_dir specifies the
+directory in which the source CMakeLists.txt and code files are
+located.  If it is a relative path it will be evaluated with respect
+to the current directory (the typical usage), but it may also be an
+absolute path.  The binary_dir specifies the directory in which to
+place the output files.  If it is a relative path it will be evaluated
+with respect to the current output directory, but it may also be an
+absolute path.  If binary_dir is not specified, the value of
+source_dir, before expanding any relative path, will be used (the
+typical usage).  The CMakeLists.txt file in the specified source
+directory will be processed immediately by CMake before processing in
+the current input file continues beyond this command.
+.sp
+If the EXCLUDE_FROM_ALL argument is provided then targets in the
+subdirectory will not be included in the ALL target of the parent
+directory by default, and will be excluded from IDE project files.
+Users must explicitly build targets in the subdirectory.  This is
+meant for use when the subdirectory contains a separate part of the
+project that is useful but not necessary, such as a set of examples.
+Typically the subdirectory should contain its own project() command
+invocation so that a full build system will be generated in the
+subdirectory (such as a VS IDE solution file).  Note that inter\-target
+dependencies supercede this exclusion.  If a target built by the
+parent project depends on a target in the subdirectory, the dependee
+target will be included in the parent project build system to satisfy
+the dependency.
+.SS add_test
+.sp
+Add a test to the project to be run by \fBctest(1)\fP\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_test(NAME <name> COMMAND <command> [<arg>...]
+         [CONFIGURATIONS <config>...]
+         [WORKING_DIRECTORY <dir>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add a test called \fB<name>\fP\&.  The test name may not contain spaces,
+quotes, or other characters special in CMake syntax.  The options are:
+.INDENT 0.0
+.TP
+.B \fBCOMMAND\fP
+Specify the test command\-line.  If \fB<command>\fP specifies an
+executable target (created by \fBadd_executable()\fP) it will
+automatically be replaced by the location of the executable created
+at build time.
+.TP
+.B \fBCONFIGURATIONS\fP
+Restrict execution of the test only to the named configurations.
+.TP
+.B \fBWORKING_DIRECTORY\fP
+Set the \fBWORKING_DIRECTORY\fP test property to
+specify the working directory in which to execute the test.
+If not specified the test will be run with the current working
+directory set to the build directory corresponding to the
+current source directory.
+.UNINDENT
+.sp
+The \fBCOMMAND\fP and \fBWORKING_DIRECTORY\fP options may use "generator
+expressions" with the syntax \fB$<...>\fP\&.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_test(NAME mytest
+         COMMAND testDriver \-\-config $<CONFIGURATION>
+                            \-\-exe $<TARGET_FILE:myexe>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This creates a test \fBmytest\fP whose command runs a \fBtestDriver\fP tool
+passing the configuration name and the full path to the executable
+file produced by target \fBmyexe\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake will generate tests only if the \fBenable_testing()\fP
+command has been invoked.  The \fBCTest\fP module invokes the
+command automatically when the \fBBUILD_TESTING\fP option is \fBON\fP\&.
+.UNINDENT
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_test(<name> <command> [<arg>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add a test called \fB<name>\fP with the given command\-line.  Unlike
+the above \fBNAME\fP signature no transformation is performed on the
+command\-line to support target names or generator expressions.
+.SS aux_source_directory
+.sp
+Find all source files in a directory.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+aux_source_directory(<dir> <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Collects the names of all the source files in the specified directory
+and stores the list in the <variable> provided.  This command is
+intended to be used by projects that use explicit template
+instantiation.  Template instantiation files can be stored in a
+"Templates" subdirectory and collected automatically using this
+command to avoid manually listing all instantiations.
+.sp
+It is tempting to use this command to avoid writing the list of source
+files for a library or executable target.  While this seems to work,
+there is no way for CMake to generate a build system that knows when a
+new source file has been added.  Normally the generated build system
+knows when it needs to rerun CMake because the CMakeLists.txt file is
+modified to add a new source.  When the source is just added to the
+directory without modifying this file, one would have to manually
+rerun CMake to generate a build system incorporating the new file.
+.SS break
+.sp
+Break from an enclosing foreach or while loop.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+break()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Breaks from an enclosing foreach loop or while loop
+.sp
+See also the \fBcontinue()\fP command.
+.SS build_command
+.sp
+Get a command line to build the current project.
+This is mainly intended for internal use by the \fBCTest\fP module.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+build_command(<variable>
+              [CONFIGURATION <config>]
+              [TARGET <target>]
+              [PROJECT_NAME <projname>] # legacy, causes warning
+             )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sets the given \fB<variable>\fP to a command\-line string of the form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<cmake> \-\-build . [\-\-config <config>] [\-\-target <target>] [\-\- \-i]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fB<cmake>\fP is the location of the \fBcmake(1)\fP command\-line
+tool, and \fB<config>\fP and \fB<target>\fP are the values provided to the
+\fBCONFIGURATION\fP and \fBTARGET\fP options, if any.  The trailing \fB\-\- \-i\fP
+option is added for Makefile Generators if policy \fBCMP0061\fP
+is not set to \fBNEW\fP\&.
+.sp
+When invoked, this \fBcmake \-\-build\fP command line will launch the
+underlying build system tool.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+build_command(<cachevariable> <makecommand>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This second signature is deprecated, but still available for backwards
+compatibility.  Use the first signature instead.
+.sp
+It sets the given \fB<cachevariable>\fP to a command\-line string as
+above but without the \fB\-\-target\fP option.
+The \fB<makecommand>\fP is ignored but should be the full path to
+msdev, devenv, nmake, make or one of the end user build tools
+for legacy invocations.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+In CMake versions prior to 3.0 this command returned a command
+line that directly invokes the native build tool for the current
+generator.  Their implementation of the \fBPROJECT_NAME\fP option
+had no useful effects, so CMake now warns on use of the option.
+.UNINDENT
+.UNINDENT
+.SS cmake_host_system_information
+.sp
+Query host system specific information.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_host_system_information(RESULT <variable> QUERY <key> ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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>.
+.sp
+<key> can be one of the following values:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS cmake_minimum_required
+.sp
+Set the minimum required version of cmake for a project.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_minimum_required(VERSION major[.minor[.patch[.tweak]]]
+                       [FATAL_ERROR])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the current version of CMake is lower than that required it will
+stop processing the project and report an error.  When a version
+higher than 2.4 is specified the command implicitly invokes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(VERSION major[.minor[.patch[.tweak]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which sets the cmake policy version level to the version specified.
+When version 2.4 or lower is given the command implicitly invokes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(VERSION 2.4)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which enables compatibility features for CMake 2.4 and lower.
+.sp
+The FATAL_ERROR option is accepted but ignored by CMake 2.6 and
+higher.  It should be specified so CMake versions 2.4 and lower fail
+with an error instead of just a warning.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Call the \fBcmake_minimum_required()\fP command at the beginning of
+the top\-level \fBCMakeLists.txt\fP file even before calling the
+\fBproject()\fP command.  It is important to establish version
+and policy settings before invoking other commands whose behavior
+they may affect.  See also policy \fBCMP0000\fP\&.
+.sp
+Calling \fBcmake_minimum_required()\fP inside a \fBfunction()\fP
+limits some effects to the function scope when invoked.  Such calls
+should not be made with the intention of having global effects.
+.UNINDENT
+.UNINDENT
+.SS cmake_policy
+.sp
+Manage CMake Policy settings.  See the \fBcmake\-policies(7)\fP
+manual for defined policies.
+.sp
+As CMake evolves it is sometimes necessary to change existing behavior
+in order to fix bugs or improve implementations of existing features.
+The CMake Policy mechanism is designed to help keep existing projects
+building as new versions of CMake introduce changes in behavior.  Each
+new policy (behavioral change) is given an identifier of the form
+\fBCMP<NNNN>\fP where \fB<NNNN>\fP is an integer index.  Documentation
+associated with each policy describes the \fBOLD\fP and \fBNEW\fP behavior
+and the reason the policy was introduced.  Projects may set each policy
+to select the desired behavior.  When CMake needs to know which behavior
+to use it checks for a setting specified by the project.  If no
+setting is available the \fBOLD\fP behavior is assumed and a warning is
+produced requesting that the policy be set.
+.SS Setting Policies by CMake Version
+.sp
+The \fBcmake_policy\fP command is used to set policies to \fBOLD\fP or \fBNEW\fP
+behavior.  While setting policies individually is supported, we
+encourage projects to set policies based on CMake versions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(VERSION major.minor[.patch[.tweak]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify that the current CMake code is written for the given
+version of CMake.  All policies introduced in the specified version or
+earlier will be set to use \fBNEW\fP behavior.  All policies introduced
+after the specified version will be unset (unless the
+\fBCMAKE_POLICY_DEFAULT_CMP<NNNN>\fP variable sets a default).
+This effectively requests behavior preferred as of a given CMake
+version and tells newer CMake versions to warn about their new policies.
+The policy version specified must be at least 2.4 or the command will
+report an error.
+.sp
+Note that the \fBcmake_minimum_required(VERSION)\fP
+command implicitly calls \fBcmake_policy(VERSION)\fP too.
+.SS Setting Policies Explicitly
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(SET CMP<NNNN> NEW)
+cmake_policy(SET CMP<NNNN> OLD)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Tell CMake to use the \fBOLD\fP or \fBNEW\fP behavior for a given policy.
+Projects depending on the old behavior of a given policy may silence a
+policy warning by setting the policy state to \fBOLD\fP\&.  Alternatively
+one may fix the project to work with the new behavior and set the
+policy state to \fBNEW\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS Checking Policy Settings
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(GET CMP<NNNN> <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Check whether a given policy is set to \fBOLD\fP or \fBNEW\fP behavior.
+The output \fB<variable>\fP value will be \fBOLD\fP or \fBNEW\fP if the
+policy is set, and empty otherwise.
+.SS CMake Policy Stack
+.sp
+CMake keeps policy settings on a stack, so changes made by the
+cmake_policy command affect only the top of the stack.  A new entry on
+the policy stack is managed automatically for each subdirectory to
+protect its parents and siblings.  CMake also manages a new entry for
+scripts loaded by \fBinclude()\fP and \fBfind_package()\fP commands
+except when invoked with the \fBNO_POLICY_SCOPE\fP option
+(see also policy \fBCMP0011\fP).
+The \fBcmake_policy\fP command provides an interface to manage custom
+entries on the policy stack:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(PUSH)
+cmake_policy(POP)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Each \fBPUSH\fP must have a matching \fBPOP\fP to erase any changes.
+This is useful to make temporary changes to policy settings.
+Calls to the \fBcmake_minimum_required(VERSION)\fP,
+\fBcmake_policy(VERSION)\fP, or \fBcmake_policy(SET)\fP commands
+influence only the current top of the policy stack.
+.sp
+Commands created by the \fBfunction()\fP and \fBmacro()\fP
+commands record policy settings when they are created and
+use the pre\-record policies when they are invoked.  If the function or
+macro implementation sets policies, the changes automatically
+propagate up through callers until they reach the closest nested
+policy stack entry.
+.SS configure_file
+.sp
+Copy a file to another location and modify its contents.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+configure_file(<input> <output>
+               [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
+               [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Copies an \fB<input>\fP file to an \fB<output>\fP file and substitutes
+variable values referenced as \fB@VAR@\fP or \fB${VAR}\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#cmakedefine VAR ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will be replaced with either:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#define VAR ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+or:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+/* #undef VAR */
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+depending on whether \fBVAR\fP is set in CMake to any value not considered
+a false constant by the \fBif()\fP command.  The "..." content on the
+line after the variable name, if any, is processed as above.
+Input file lines of the form \fB#cmakedefine01 VAR\fP will be replaced with
+either \fB#define VAR 1\fP or \fB#define VAR 0\fP similarly.
+.sp
+If the input file is modified the build system will re\-run CMake to
+re\-configure the file and generate the build system again.
+.sp
+The arguments are:
+.INDENT 0.0
+.TP
+.B \fB<input>\fP
+Path to the input file.  A relative path is treated with respect to
+the value of \fBCMAKE_CURRENT_SOURCE_DIR\fP\&.  The input path
+must be a file, not a directory.
+.TP
+.B \fB<output>\fP
+Path to the output file or directory.  A relative path is treated
+with respect to the value of \fBCMAKE_CURRENT_BINARY_DIR\fP\&.
+If the path names an existing directory the output file is placed
+in that directory with the same file name as the input file.
+.TP
+.B \fBCOPYONLY\fP
+Copy the file without replacing any variable references or other
+content.  This option may not be used with \fBNEWLINE_STYLE\fP\&.
+.TP
+.B \fBESCAPE_QUOTES\fP
+Escape any substituted quotes with backslashes (C\-style).
+.TP
+.B \fB@ONLY\fP
+Restrict variable replacement to references of the form \fB@VAR@\fP\&.
+This is useful for configuring scripts that use \fB${VAR}\fP syntax.
+.TP
+.B \fBNEWLINE_STYLE <style>\fP
+Specify the newline style for the output file.  Specify
+\fBUNIX\fP or \fBLF\fP for \fB\en\fP newlines, or specify
+\fBDOS\fP, \fBWIN32\fP, or \fBCRLF\fP for \fB\er\en\fP newlines.
+This option may not be used with \fBCOPYONLY\fP\&.
+.UNINDENT
+.SS Example
+.sp
+Consider a source tree containing a \fBfoo.h.in\fP file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#cmakedefine FOO_ENABLE
+#cmakedefine FOO_STRING "@FOO_STRING@"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+An adjacent \fBCMakeLists.txt\fP may use \fBconfigure_file\fP to
+configure the header:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+option(FOO_ENABLE "Enable Foo" ON)
+if(FOO_ENABLE)
+  set(FOO_STRING "foo")
+endif()
+configure_file(foo.h.in foo.h @ONLY)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This creates a \fBfoo.h\fP in the build directory corresponding to
+this source directory.  If the \fBFOO_ENABLE\fP option is on, the
+configured file will contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#define FOO_ENABLE
+#define FOO_STRING "foo"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Otherwise it will contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+/* #undef FOO_ENABLE */
+/* #undef FOO_STRING */
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+One may then use the \fBinclude_directories()\fP command to
+specify the output directory as an include directory:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+so that sources may include the header as \fB#include <foo.h>\fP\&.
+.SS continue
+.sp
+Continue to the top of enclosing foreach or while loop.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+continue()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBcontinue\fP command allows a cmake script to abort the rest of a block
+in a \fBforeach()\fP or \fBwhile()\fP loop, and start at the top of
+the next iteration.  See also the \fBbreak()\fP command.
+.SS create_test_sourcelist
+.sp
+Create a test driver and source list for building test programs.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+create_test_sourcelist(sourceListName driverName
+                       test1 test2 test3
+                       EXTRA_INCLUDE include.h
+                       FUNCTION function)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+A test driver is a program that links together many small tests into a
+single executable.  This is useful when building static executables
+with large libraries to shrink the total required size.  The list of
+source files needed to build the test driver will be in
+sourceListName.  DriverName is the name of the test driver program.
+The rest of the arguments consist of a list of test source files, can
+be semicolon separated.  Each test source file should have a function
+in it that is the same name as the file with no extension (foo.cxx
+should have int foo(int, char*[]);) DriverName will be able to call
+each of the tests by name on the command line.  If EXTRA_INCLUDE is
+specified, then the next argument is included into the generated file.
+If FUNCTION is specified, then the next argument is taken as a
+function name that is passed a pointer to ac and av.  This can be used
+to add extra command line processing to each test.  The cmake variable
+CMAKE_TESTDRIVER_BEFORE_TESTMAIN can be set to have code that will be
+placed directly before calling the test main function.
+CMAKE_TESTDRIVER_AFTER_TESTMAIN can be set to have code that will be
+placed directly after the call to the test main function.
+.SS define_property
+.sp
+Define and document custom properties.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+define_property(<GLOBAL | DIRECTORY | TARGET | SOURCE |
+                 TEST | VARIABLE | CACHED_VARIABLE>
+                 PROPERTY <name> [INHERITED]
+                 BRIEF_DOCS <brief\-doc> [docs...]
+                 FULL_DOCS <full\-doc> [docs...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Define one property in a scope for use with the set_property and
+get_property commands.  This is primarily useful to associate
+documentation with property names that may be retrieved with the
+get_property command.  The first argument determines the kind of scope
+in which the property should be used.  It must be one of the
+following:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GLOBAL    = associated with the global namespace
+DIRECTORY = associated with one directory
+TARGET    = associated with one target
+SOURCE    = associated with one source file
+TEST      = associated with a test named with add_test
+VARIABLE  = documents a CMake language variable
+CACHED_VARIABLE = documents a CMake cache variable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that unlike set_property and get_property no actual scope needs
+to be given; only the kind of scope is important.
+.sp
+The required PROPERTY option is immediately followed by the name of
+the property being defined.
+.sp
+If the INHERITED option then the get_property command will chain up to
+the next higher scope when the requested property is not set in the
+scope given to the command.  DIRECTORY scope chains to GLOBAL.
+TARGET, SOURCE, and TEST chain to DIRECTORY.
+.sp
+The BRIEF_DOCS and FULL_DOCS options are followed by strings to be
+associated with the property as its brief and full documentation.
+Corresponding options to the get_property command will retrieve the
+documentation.
+.SS elseif
+.sp
+Starts the elseif portion of an if block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+elseif(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the if command.
+.SS else
+.sp
+Starts the else portion of an if block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+else(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the if command.
+.SS enable_language
+.sp
+Enable a language (CXX/C/Fortran/etc)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+enable_language(<lang> [OPTIONAL] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command enables support for the named language in CMake.  This is
+the same as the project command but does not create any of the extra
+variables that are created by the project command.  Example languages
+are CXX, C, Fortran.
+.sp
+This command must be called in file scope, not in a function call.
+Furthermore, it must be called in the highest directory common to all
+targets using the named language directly for compiling sources or
+indirectly through link dependencies.  It is simplest to enable all
+needed languages in the top\-level directory of a project.
+.sp
+The OPTIONAL keyword is a placeholder for future implementation and
+does not currently work.
+.SS enable_testing
+.sp
+Enable testing for current directory and below.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+enable_testing()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Enables testing for this directory and below.  See also the add_test
+command.  Note that ctest expects to find a test file in the build
+directory root.  Therefore, this command should be in the source
+directory root.
+.SS endforeach
+.sp
+Ends a list of commands in a FOREACH block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+endforeach(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the FOREACH command.
+.SS endfunction
+.sp
+Ends a list of commands in a function block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+endfunction(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the function command.
+.SS endif
+.sp
+Ends a list of commands in an if block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+endif(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the if command.
+.SS endmacro
+.sp
+Ends a list of commands in a macro block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+endmacro(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the macro command.
+.SS endwhile
+.sp
+Ends a list of commands in a while block.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+endwhile(expression)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the while command.
+.SS execute_process
+.sp
+Execute one or more child processes.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Options:
+.INDENT 0.0
+.TP
+.B COMMAND
+A child process command line.
+.sp
+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 \fB>\fP
+are treated as normal arguments.
+(Use the \fBINPUT_*\fP, \fBOUTPUT_*\fP, and \fBERROR_*\fP options to
+redirect stdin, stdout, and stderr.)
+.TP
+.B WORKING_DIRECTORY
+The named directory will be set as the current working directory of
+the child processes.
+.TP
+.B TIMEOUT
+The child processes will be terminated if they do not finish in the
+specified number of seconds (fractions are allowed).
+.TP
+.B 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.
+.TP
+.B 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.
+.TP
+.B 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.
+.TP
+.B OUTPUT_QUIET, ERROR_QUIET
+The standard output or standard error results will be quietly ignored.
+.UNINDENT
+.sp
+If more than one \fBOUTPUT_*\fP or \fBERROR_*\fP option is given for the
+same pipe the precedence is not specified.
+If no \fBOUTPUT_*\fP or \fBERROR_*\fP options are given the output will
+be shared with the corresponding pipes of the CMake process itself.
+.sp
+The \fI\%execute_process()\fP command is a newer more powerful version of
+\fBexec_program()\fP, but the old command has been kept for compatibility.
+Both commands run while CMake is processing the project prior to build
+system generation.  Use \fBadd_custom_target()\fP and
+\fBadd_custom_command()\fP to create custom commands that run at
+build time.
+.SS export
+.sp
+Export targets from the build tree for use by outside projects.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+export(EXPORT <export\-name> [NAMESPACE <namespace>] [FILE <filename>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create a file <filename> that may be included by outside projects to
+import targets from the current project\(aqs 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.
+.sp
+Target installations are associated with the export <export\-name>
+using the \fBEXPORT\fP option of the \fBinstall(TARGETS)\fP command.
+.sp
+The file created by this command is specific to the build tree and
+should never be installed.  See the install(EXPORT) command to export
+targets from an installation tree.
+.sp
+The properties set on the generated IMPORTED targets will have the
+same values as the final values of the input TARGETS.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]
+       [APPEND] FILE <filename> [EXPORT_LINK_INTERFACE_LIBRARIES])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This signature is similar to the \fBEXPORT\fP 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
+\fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP 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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+export(PACKAGE <name>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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\(aqs 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 \fBCMAKE_EXPORT_NO_PACKAGE_REGISTRY\fP variable
+is enabled, the \fBexport(PACKAGE)\fP command will do nothing.
+.SS file
+.sp
+File manipulation command.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(WRITE <filename> <content>...)
+file(APPEND <filename> <content>...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Write \fB<content>\fP into a file called \fB<filename>\fP\&.  If the file does
+not exist, it will be created.  If the file already exists, \fBWRITE\fP
+mode will overwrite it and \fBAPPEND\fP mode will append to the end.
+(If the file is a build input, use the \fBconfigure_file()\fP command
+to update the file only when its content changes.)
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(READ <filename> <variable>
+     [OFFSET <offset>] [LIMIT <max\-in>] [HEX])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Read content from a file called \fB<filename>\fP and store it in a
+\fB<variable>\fP\&.  Optionally start from the given \fB<offset>\fP and
+read at most \fB<max\-in>\fP bytes.  The \fBHEX\fP option causes data to
+be converted to a hexadecimal representation (useful for binary data).
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(STRINGS <filename> <variable> [<options>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Parse a list of ASCII strings from \fB<filename>\fP and store it in
+\fB<variable>\fP\&.  Binary data in the file are ignored.  Carriage return
+(\fB\er\fP, CR) characters are ignored.  The options are:
+.INDENT 0.0
+.TP
+.B \fBLENGTH_MAXIMUM <max\-len>\fP
+Consider only strings of at most a given length.
+.TP
+.B \fBLENGTH_MINIMUM <min\-len>\fP
+Consider only strings of at least a given length.
+.TP
+.B \fBLIMIT_COUNT <max\-num>\fP
+Limit the number of distinct strings to be extracted.
+.TP
+.B \fBLIMIT_INPUT <max\-in>\fP
+Limit the number of input bytes to read from the file.
+.TP
+.B \fBLIMIT_OUTPUT <max\-out>\fP
+Limit the number of total bytes to store in the \fB<variable>\fP\&.
+.TP
+.B \fBNEWLINE_CONSUME\fP
+Treat newline characters (\fB\en\fP, LF) as part of string content
+instead of terminating at them.
+.TP
+.B \fBNO_HEX_CONVERSION\fP
+Intel Hex and Motorola S\-record files are automatically converted to
+binary while reading unless this option is given.
+.TP
+.B \fBREGEX <regex>\fP
+Consider only strings that match the given regular expression.
+.TP
+.B \fBENCODING <encoding\-type>\fP
+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.
+.UNINDENT
+.sp
+For example, the code
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(STRINGS myfile.txt myfile)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+stores a list in the variable \fBmyfile\fP in which each item is a line
+from the input file.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512> <filename> <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Compute a cryptographic hash of the content of \fB<filename>\fP and
+store it in a \fB<variable>\fP\&.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Generate a list of files that match the \fB<globbing\-expressions>\fP and
+store it into the \fB<variable>\fP\&.  Globbing expressions are similar to
+regular expressions, but much simpler.  If \fBRELATIVE\fP flag is
+specified, the results will be returned as relative paths to the given
+path.
+.sp
+By default \fBGLOB\fP lists directories \- directories are omited in result if
+\fBLIST_DIRECTORIES\fP is set to false.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+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.
+.UNINDENT
+.UNINDENT
+.sp
+Examples of globbing expressions include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+*.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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBGLOB_RECURSE\fP mode will traverse all the subdirectories of the
+matched directory and match the files.  Subdirectories that are symlinks
+are only traversed if \fBFOLLOW_SYMLINKS\fP is given or policy
+\fBCMP0009\fP is not set to \fBNEW\fP\&.
+.sp
+By default \fBGLOB_RECURSE\fP omits directories from result list \- setting
+\fBLIST_DIRECTORIES\fP to true adds directories to result list.
+If \fBFOLLOW_SYMLINKS\fP is given or policy \fBCMP0009\fP is not set to
+\fBOLD\fP then \fBLIST_DIRECTORIES\fP treats symlinks as directories.
+.sp
+Examples of recursive globbing include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+/dir/*.py  \- match all python files in /dir and subdirectories
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(RENAME <oldname> <newname>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Move a file or directory within a filesystem from \fB<oldname>\fP to
+\fB<newname>\fP, replacing the destination atomically.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(REMOVE [<files>...])
+file(REMOVE_RECURSE [<files>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Remove the given files.  The \fBREMOVE_RECURSE\fP mode will remove the given
+files and directories, also non\-empty directories
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(MAKE_DIRECTORY [<directories>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create the given directories and their parents as needed.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(RELATIVE_PATH <variable> <directory> <file>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Compute the relative path from a \fB<directory>\fP to a \fB<file>\fP and
+store it in the \fB<variable>\fP\&.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(TO_CMAKE_PATH "<path>" <variable>)
+file(TO_NATIVE_PATH "<path>" <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBTO_CMAKE_PATH\fP mode converts a native \fB<path>\fP into a cmake\-style
+path with forward\-slashes (\fB/\fP).  The input can be a single path or a
+system search path like \fB$ENV{PATH}\fP\&.  A search path will be converted
+to a cmake\-style list separated by \fB;\fP characters.
+.sp
+The \fBTO_NATIVE_PATH\fP mode converts a cmake\-style \fB<path>\fP into a native
+path with platform\-specific slashes (\fB\e\fP on Windows and \fB/\fP elsewhere).
+.sp
+Always use double quotes around the \fB<path>\fP to be sure it is treated
+as a single argument to this command.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(DOWNLOAD <url> <file> [<options>...])
+file(UPLOAD   <file> <url> [<options>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBDOWNLOAD\fP mode downloads the given \fB<url>\fP to a local \fB<file>\fP\&.
+The \fBUPLOAD\fP mode uploads a local \fB<file>\fP to a given \fB<url>\fP\&.
+.sp
+Options to both \fBDOWNLOAD\fP and \fBUPLOAD\fP are:
+.INDENT 0.0
+.TP
+.B \fBINACTIVITY_TIMEOUT <seconds>\fP
+Terminate the operation after a period of inactivity.
+.TP
+.B \fBLOG <variable>\fP
+Store a human\-readable log of the operation in a variable.
+.TP
+.B \fBSHOW_PROGRESS\fP
+Print progress information as status messages until the operation is
+complete.
+.TP
+.B \fBSTATUS <variable>\fP
+Store the resulting status of the operation in a variable.
+The status is a \fB;\fP 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 \fB0\fP numeric error means no error in the operation.
+.TP
+.B \fBTIMEOUT <seconds>\fP
+Terminate the operation after a given total time has elapsed.
+.UNINDENT
+.sp
+Additional options to \fBDOWNLOAD\fP are:
+.sp
+\fBEXPECTED_HASH ALGO=<value>\fP
+.INDENT 0.0
+.INDENT 3.5
+Verify that the downloaded content hash matches the expected value, where
+\fBALGO\fP is one of \fBMD5\fP, \fBSHA1\fP, \fBSHA224\fP, \fBSHA256\fP, \fBSHA384\fP, or
+\fBSHA512\fP\&.  If it does not match, the operation fails with an error.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fBEXPECTED_MD5 <value>\fP
+Historical short\-hand for \fBEXPECTED_HASH MD5=<value>\fP\&.
+.TP
+.B \fBTLS_VERIFY <ON|OFF>\fP
+Specify whether to verify the server certificate for \fBhttps://\fP URLs.
+The default is to \fInot\fP verify.
+.TP
+.B \fBTLS_CAINFO <file>\fP
+Specify a custom Certificate Authority file for \fBhttps://\fP URLs.
+.UNINDENT
+.sp
+For \fBhttps://\fP URLs CMake must be built with OpenSSL support.  \fBTLS/SSL\fP
+certificates are not checked by default.  Set \fBTLS_VERIFY\fP to \fBON\fP to
+check certificates and/or use \fBEXPECTED_HASH\fP to verify downloaded content.
+If neither \fBTLS\fP option is given CMake will check variables
+\fBCMAKE_TLS_VERIFY\fP and \fBCMAKE_TLS_CAINFO\fP, respectively.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(TIMESTAMP <filename> <variable> [<format>] [UTC])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Compute a string representation of the modification time of \fB<filename>\fP
+and store it in \fB<variable>\fP\&.  Should the command be unable to obtain a
+timestamp variable will be set to the empty string ("").
+.sp
+See the \fBstring(TIMESTAMP)\fP command for documentation of
+the \fB<format>\fP and \fBUTC\fP options.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(GENERATE OUTPUT output\-file
+     <INPUT input\-file|CONTENT content>
+     [CONDITION expression])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Generate an output file for each build configuration supported by the current
+\fBCMake Generator\fP\&.  Evaluate
+\fBgenerator expressions\fP
+from the input content to produce the output content.  The options are:
+.INDENT 0.0
+.TP
+.B \fBCONDITION <condition>\fP
+Generate the output file for a particular configuration only if
+the condition is true.  The condition must be either \fB0\fP or \fB1\fP
+after evaluating generator expressions.
+.TP
+.B \fBCONTENT <content>\fP
+Use the content given explicitly as input.
+.TP
+.B \fBINPUT <input\-file>\fP
+Use the content from a given file as input.
+.TP
+.B \fBOUTPUT <output\-file>\fP
+Specify the output file name to generate.  Use generator expressions
+such as \fB$<CONFIG>\fP 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 \fB<output\-file>\fP
+must evaluate to an unique name for each configuration.
+.UNINDENT
+.sp
+Exactly one \fBCONTENT\fP or \fBINPUT\fP option must be given.  A specific
+\fBOUTPUT\fP file may be named by at most one invocation of \fBfile(GENERATE)\fP\&.
+Generated files are modified on subsequent cmake runs only if their content
+is changed.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>...]] [...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCOPY\fP 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 \fBNO_SOURCE_PERMISSIONS\fP
+are given (default is \fBUSE_SOURCE_PERMISSIONS\fP).
+.sp
+See the \fBinstall(DIRECTORY)\fP command for documentation of
+permissions, \fBFILES_MATCHING\fP, \fBPATTERN\fP, \fBREGEX\fP, and
+\fBEXCLUDE\fP options.  Copying directories preserves the structure
+of their content even if options are used to select a subset of
+files.
+.sp
+The \fBINSTALL\fP signature differs slightly from \fBCOPY\fP: it prints
+status messages (subject to the \fBCMAKE_INSTALL_MESSAGE\fP variable),
+and \fBNO_SOURCE_PERMISSIONS\fP is default.
+Installation scripts generated by the \fBinstall()\fP command
+use this signature (with some undocumented options for internal use).
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+file(LOCK <path> [DIRECTORY] [RELEASE]
+     [GUARD <FUNCTION|FILE|PROCESS>]
+     [RESULT_VARIABLE <variable>]
+     [TIMEOUT <seconds>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Lock a file specified by \fB<path>\fP if no \fBDIRECTORY\fP option present and file
+\fB<path>/cmake.lock\fP otherwise. File will be locked for scope defined by
+\fBGUARD\fP option (default value is \fBPROCESS\fP). \fBRELEASE\fP option can be used
+to unlock file explicitly. If option \fBTIMEOUT\fP is not specified CMake will
+wait until lock succeed or until fatal error occurs. If \fBTIMEOUT\fP is set to
+\fB0\fP lock will be tried once and result will be reported immediately. If
+\fBTIMEOUT\fP is not \fB0\fP CMake will try to lock file for the period specified
+by \fB<seconds>\fP value. Any errors will be interpreted as fatal if there is no
+\fBRESULT_VARIABLE\fP option. Otherwise result will be stored in \fB<variable>\fP
+and will be \fB0\fP on success or error message on failure.
+.sp
+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 \fBDIRECTORY\fP option \-
+locking parent directory doesn\(aqt prevent other \fBLOCK\fP commands to lock any
+child directory or file.
+.sp
+Trying to lock file twice is not allowed.  Any intermediate directories and
+file itself will be created if they not exist.  \fBGUARD\fP and \fBTIMEOUT\fP
+options ignored on \fBRELEASE\fP operation.
+.SS find_file
+.sp
+A short\-hand signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_file (<VAR> name1 [path1 path2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The general signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_file (
+          <VAR>
+          name | NAMES name1 [name2 ...]
+          [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]
+         )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command is used to find a full path to named file\&.
+A cache entry named by \fB<VAR>\fP is created to store the result
+of this command.
+If the full path to a file 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
+\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
+next time find_file 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 the NAMES argument.   Additional search locations
+can be specified after the PATHS argument.  If ENV var is
+found in the HINTS or PATHS section the environment variable var
+will be read and converted from a system environment variable to
+a cmake style list of paths.  For example ENV PATH would be a way
+to list the system path variable. The argument
+after DOC will be used for the documentation string in
+the cache.
+PATH_SUFFIXES specifies additional subdirectories to check below
+each search path.
+.sp
+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:
+.INDENT 0.0
+.IP 1. 3
+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.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 2. 3
+Search paths specified in cmake\-specific environment variables.
+These are intended to be set in the user\(aqs shell configuration.
+This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 3. 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.
+.IP 4. 3
+Search the standard system environment variables.
+This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
+.INDENT 3.0
+.IP \(bu 2
+Directories in INCLUDE,
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix>/[s]bin in PATH, and
+<entry>/include for other entries in PATH,
+and the directories in PATH itself.
+.UNINDENT
+.IP 5. 3
+Search cmake variables defined in the Platform files
+for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
+is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_FRAMEWORK_PATH
+.UNINDENT
+.IP 6. 3
+Search the paths specified by the PATHS option
+or in the short\-hand version of the command.
+These are typically hard\-coded guesses.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Frameworks, the cmake variable
+CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find frameworks before standard libraries or headers.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find frameworks after standard libraries or headers.
+.IP \(bu 2
+ONLY: Only try to find frameworks.
+.IP \(bu 2
+NEVER: Never try to find frameworks.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Application Bundles, the cmake
+variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
+following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find application bundles before standard programs.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find application bundles after standard programs.
+.IP \(bu 2
+ONLY: Only try to find application bundles.
+.IP \(bu 2
+NEVER: Never try to find application bundles.
+.UNINDENT
+.sp
+The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
+directories to be prepended to all other search directories.  This
+effectively "re\-roots" the entire search under given locations.
+Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
+from this re\-rooting, because that variable is always a path on the host system.
+By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
+.sp
+The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
+directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
+effects.  See the documentation for that variable for more.
+.sp
+These variables are especially useful when cross\-compiling to
+point to the root directory of the target environment and CMake will
+search there too.  By default at first the directories listed in
+\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
+directory is searched, and then the non\-rooted directories will be
+searched.  The default behavior can be adjusted by setting
+\fBCMAKE_FIND_ROOT_PATH_MODE_INCLUDE\fP\&.  This behavior can be manually
+overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
+the search order will be as described above.  If
+NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
+used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
+directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
+.sp
+The default search order is designed to be most\-specific to
+least\-specific for common use cases.
+Projects may override the order by simply calling the command
+multiple times and using the \fBNO_*\fP options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_file (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
+find_file (<VAR> NAMES name)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Once one of the calls succeeds the result variable will be set
+and stored in the cache so that no call will search again.
+.SS find_library
+.sp
+A short\-hand signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_library (<VAR> name1 [path1 path2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The general signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_library (
+          <VAR>
+          name | NAMES name1 [name2 ...] [NAMES_PER_DIR]
+          [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]
+         )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command is used to find a library\&.
+A cache entry named by \fB<VAR>\fP is created to store the result
+of this command.
+If the library 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
+\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
+next time find_library is invoked with the same variable.
+The name of the library that
+is searched for is specified by the names listed
+after the NAMES argument.   Additional search locations
+can be specified after the PATHS argument.  If ENV var is
+found in the HINTS or PATHS section the environment variable var
+will be read and converted from a system environment variable to
+a cmake style list of paths.  For example ENV PATH would be a way
+to list the system path variable. The argument
+after DOC will be used for the documentation string in
+the cache.
+PATH_SUFFIXES specifies additional subdirectories to check below
+each search path.
+.sp
+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:
+.INDENT 0.0
+.IP 1. 3
+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.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/lib for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_LIBRARY_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 2. 3
+Search paths specified in cmake\-specific environment variables.
+These are intended to be set in the user\(aqs shell configuration.
+This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/lib for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_LIBRARY_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 3. 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.
+.IP 4. 3
+Search the standard system environment variables.
+This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
+.INDENT 3.0
+.IP \(bu 2
+Directories in LIB,
+<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/lib for each <prefix>/[s]bin in PATH, and
+<entry>/lib for other entries in PATH,
+and the directories in PATH itself.
+.UNINDENT
+.IP 5. 3
+Search cmake variables defined in the Platform files
+for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
+is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/lib/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/lib for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_LIBRARY_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_FRAMEWORK_PATH
+.UNINDENT
+.IP 6. 3
+Search the paths specified by the PATHS option
+or in the short\-hand version of the command.
+These are typically hard\-coded guesses.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Frameworks, the cmake variable
+CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find frameworks before standard libraries or headers.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find frameworks after standard libraries or headers.
+.IP \(bu 2
+ONLY: Only try to find frameworks.
+.IP \(bu 2
+NEVER: Never try to find frameworks.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Application Bundles, the cmake
+variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
+following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find application bundles before standard programs.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find application bundles after standard programs.
+.IP \(bu 2
+ONLY: Only try to find application bundles.
+.IP \(bu 2
+NEVER: Never try to find application bundles.
+.UNINDENT
+.sp
+The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
+directories to be prepended to all other search directories.  This
+effectively "re\-roots" the entire search under given locations.
+Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
+from this re\-rooting, because that variable is always a path on the host system.
+By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
+.sp
+The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
+directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
+effects.  See the documentation for that variable for more.
+.sp
+These variables are especially useful when cross\-compiling to
+point to the root directory of the target environment and CMake will
+search there too.  By default at first the directories listed in
+\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
+directory is searched, and then the non\-rooted directories will be
+searched.  The default behavior can be adjusted by setting
+\fBCMAKE_FIND_ROOT_PATH_MODE_LIBRARY\fP\&.  This behavior can be manually
+overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
+the search order will be as described above.  If
+NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
+used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
+directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
+.sp
+The default search order is designed to be most\-specific to
+least\-specific for common use cases.
+Projects may override the order by simply calling the command
+multiple times and using the \fBNO_*\fP options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_library (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
+find_library (<VAR> NAMES name)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Once one of the calls succeeds the result variable will be set
+and stored in the cache so that no call will search again.
+.sp
+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.
+.sp
+Each library name given to the \fBNAMES\fP option is first considered
+as a library file name and then considered with platform\-specific
+prefixes (e.g. \fBlib\fP) and suffixes (e.g. \fB\&.so\fP).  Therefore one
+may specify library file names such as \fBlibfoo.a\fP directly.
+This can be used to locate static libraries on UNIX\-like systems.
+.sp
+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.
+.sp
+If the global property FIND_LIBRARY_USE_LIB64_PATHS 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 PROJECT command is
+enabled.
+.SS find_package
+.sp
+Load settings for an external project.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(<package> [version] [EXACT] [QUIET] [MODULE]
+             [REQUIRED] [[COMPONENTS] [components...]]
+             [OPTIONAL_COMPONENTS components...]
+             [NO_POLICY_SCOPE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Finds and loads settings from an external project.  \fB<package>_FOUND\fP
+will be set to indicate whether the package was found.  When the
+package is found package\-specific information is provided through
+variables and Imported Targets documented by the package itself.  The
+\fBQUIET\fP option disables messages if the package cannot be found.  The
+\fBMODULE\fP option disables the second signature documented below.  The
+\fBREQUIRED\fP option stops processing with an error message if the package
+cannot be found.
+.sp
+A package\-specific list of required components may be listed after the
+\fBCOMPONENTS\fP option (or after the \fBREQUIRED\fP option if present).
+Additional optional components may be listed after
+\fBOPTIONAL_COMPONENTS\fP\&.  Available components and their influence on
+whether a package is considered to be found are defined by the target
+package.
+.sp
+The \fB[version]\fP argument requests a version with which the package found
+should be compatible (format is \fBmajor[.minor[.patch[.tweak]]]\fP).  The
+\fBEXACT\fP option requests that the version be matched exactly.  If no
+\fB[version]\fP 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 \fBEXACT\fP flag for
+\fB[version]\fP).  Version support is currently provided only on a
+package\-by\-package basis (details below).
+.sp
+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.
+.sp
+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 \fBFind<package>.cmake\fP in the \fBCMAKE_MODULE_PATH\fP
+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 \fBMODULE\fP
+option is not given the command proceeds to Config mode.
+.sp
+The complete Config mode command signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCONFIG\fP option may be used to skip Module mode explicitly and
+switch to Config mode.  It is synonymous to using \fBNO_MODULE\fP\&.  Config
+mode is also implied by use of options not specified in the reduced
+signature.
+.sp
+Config mode attempts to locate a configuration file provided by the
+package to be found.  A cache entry called \fB<package>_DIR\fP is created to
+hold the directory containing the file.  By default the command
+searches for a package with the name \fB<package>\fP\&.  If the \fBNAMES\fP option
+is given the names following it are used instead of \fB<package>\fP\&.  The
+command searches for a file called \fB<name>Config.cmake\fP or
+\fB<lower\-case\-name>\-config.cmake\fP for each name specified.  A
+replacement set of possible configuration file names may be given
+using the \fBCONFIGS\fP 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 \fB<package>_CONFIG\fP\&.
+.sp
+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 \fB<package>_CONSIDERED_CONFIGS\fP,
+the associated versions in \fB<package>_CONSIDERED_VERSIONS\fP\&.
+.sp
+If the package configuration file cannot be found CMake will generate
+an error describing the problem unless the \fBQUIET\fP argument is
+specified.  If \fBREQUIRED\fP is specified and the package is not found a
+fatal error is generated and the configure step stops executing.  If
+\fB<package>_DIR\fP has been set to a directory not containing a
+configuration file CMake will ignore it and search from scratch.
+.sp
+When the \fB[version]\fP argument is given Config mode will only find a
+version of the package that claims compatibility with the requested
+version (format is \fBmajor[.minor[.patch[.tweak]]]\fP).  If the \fBEXACT\fP
+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
+\fB<config\-file>.cmake\fP the corresponding version file is located next
+to it and named either \fB<config\-file>\-version.cmake\fP or
+\fB<config\-file>Version.cmake\fP\&.  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
+\fBCMakePackageConfigHelpers\fP 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:
+.INDENT 0.0
+.TP
+.B \fBPACKAGE_FIND_NAME\fP
+the \fB<package>\fP name
+.TP
+.B \fBPACKAGE_FIND_VERSION\fP
+full requested version string
+.TP
+.B \fBPACKAGE_FIND_VERSION_MAJOR\fP
+major version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_MINOR\fP
+minor version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_PATCH\fP
+patch version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_TWEAK\fP
+tweak version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_COUNT\fP
+number of version components, 0 to 4
+.UNINDENT
+.sp
+The version file checks whether it satisfies the requested version and
+sets these variables:
+.INDENT 0.0
+.TP
+.B \fBPACKAGE_VERSION\fP
+full provided version string
+.TP
+.B \fBPACKAGE_VERSION_EXACT\fP
+true if version is exact match
+.TP
+.B \fBPACKAGE_VERSION_COMPATIBLE\fP
+true if version is compatible
+.TP
+.B \fBPACKAGE_VERSION_UNSUITABLE\fP
+true if unsuitable as any version
+.UNINDENT
+.sp
+These variables are checked by the \fBfind_package\fP 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:
+.INDENT 0.0
+.TP
+.B \fB<package>_VERSION\fP
+full provided version string
+.TP
+.B \fB<package>_VERSION_MAJOR\fP
+major version if provided, else 0
+.TP
+.B \fB<package>_VERSION_MINOR\fP
+minor version if provided, else 0
+.TP
+.B \fB<package>_VERSION_PATCH\fP
+patch version if provided, else 0
+.TP
+.B \fB<package>_VERSION_TWEAK\fP
+tweak version if provided, else 0
+.TP
+.B \fB<package>_VERSION_COUNT\fP
+number of version components, 0 to 4
+.UNINDENT
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(<package> [major[.minor]] [EXACT] [REQUIRED|QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+On systems supporting OS X Frameworks and Application Bundles the
+following directories are searched for frameworks or bundles
+containing a configuration file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In all cases the \fB<name>\fP is treated as case\-insensitive and corresponds
+to any of the names specified (\fB<package>\fP or names given by \fBNAMES\fP).
+Paths with \fBlib/<arch>\fP are enabled if the
+\fBCMAKE_LIBRARY_ARCHITECTURE\fP variable is set.  If \fBPATH_SUFFIXES\fP
+is specified the suffixes are appended to each (W) or (U) directory entry
+one\-by\-one.
+.sp
+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\(aqs
+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 cmake variables
+\fBCMAKE_FIND_FRAMEWORK\fP and \fBCMAKE_FIND_APPBUNDLE\fP
+determine the order of preference as specified below.
+.sp
+The set of installation prefixes is constructed using the following
+steps.  If \fBNO_DEFAULT_PATH\fP is specified all \fBNO_*\fP options are
+enabled.
+.INDENT 0.0
+.IP 1. 3
+Search paths specified in cmake\-specific cache variables.  These
+are intended to be used on the command line with a \fB\-DVAR=value\fP\&.
+This can be skipped if \fBNO_CMAKE_PATH\fP is passed:
+.INDENT 3.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_PREFIX_PATH
+CMAKE_FRAMEWORK_PATH
+CMAKE_APPBUNDLE_PATH
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.IP 2. 3
+Search paths specified in cmake\-specific environment variables.
+These are intended to be set in the user\(aqs shell configuration.
+This can be skipped if \fBNO_CMAKE_ENVIRONMENT_PATH\fP is passed:
+.INDENT 3.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<package>_DIR
+CMAKE_PREFIX_PATH
+CMAKE_FRAMEWORK_PATH
+CMAKE_APPBUNDLE_PATH
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.IP 3. 3
+Search paths specified by the \fBHINTS\fP 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 \fBPATHS\fP option.
+.IP 4. 3
+Search the standard system environment variables.  This can be
+skipped if \fBNO_SYSTEM_ENVIRONMENT_PATH\fP is passed.  Path entries
+ending in \fB/bin\fP or \fB/sbin\fP are automatically converted to their
+parent directories:
+.INDENT 3.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PATH
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.IP 5. 3
+Search paths stored in the CMake User Package Registry\&.
+This can be skipped if \fBNO_CMAKE_PACKAGE_REGISTRY\fP is passed or by
+setting the \fBCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY\fP
+to \fBTRUE\fP\&.
+See the \fBcmake\-packages(7)\fP manual for details on the user
+package registry.
+.IP 6. 3
+Search cmake variables defined in the Platform files for the
+current system.  This can be skipped if \fBNO_CMAKE_SYSTEM_PATH\fP is
+passed:
+.INDENT 3.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_SYSTEM_PREFIX_PATH
+CMAKE_SYSTEM_FRAMEWORK_PATH
+CMAKE_SYSTEM_APPBUNDLE_PATH
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.IP 7. 3
+Search paths stored in the CMake System Package Registry\&.
+This can be skipped if \fBNO_CMAKE_SYSTEM_PACKAGE_REGISTRY\fP is passed
+or by setting the
+\fBCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY\fP to \fBTRUE\fP\&.
+See the \fBcmake\-packages(7)\fP manual for details on the system
+package registry.
+.IP 8. 3
+Search paths specified by the \fBPATHS\fP option.  These are typically
+hard\-coded guesses.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Frameworks, the cmake variable
+CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find frameworks before standard libraries or headers.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find frameworks after standard libraries or headers.
+.IP \(bu 2
+ONLY: Only try to find frameworks.
+.IP \(bu 2
+NEVER: Never try to find frameworks.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Application Bundles, the cmake
+variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
+following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find application bundles before standard programs.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find application bundles after standard programs.
+.IP \(bu 2
+ONLY: Only try to find application bundles.
+.IP \(bu 2
+NEVER: Never try to find application bundles.
+.UNINDENT
+.sp
+The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
+directories to be prepended to all other search directories.  This
+effectively "re\-roots" the entire search under given locations.
+Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
+from this re\-rooting, because that variable is always a path on the host system.
+By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
+.sp
+The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
+directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
+effects.  See the documentation for that variable for more.
+.sp
+These variables are especially useful when cross\-compiling to
+point to the root directory of the target environment and CMake will
+search there too.  By default at first the directories listed in
+\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
+directory is searched, and then the non\-rooted directories will be
+searched.  The default behavior can be adjusted by setting
+\fBCMAKE_FIND_ROOT_PATH_MODE_PACKAGE\fP\&.  This behavior can be manually
+overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
+the search order will be as described above.  If
+NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
+used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
+directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
+.sp
+The default search order is designed to be most\-specific to
+least\-specific for common use cases.
+Projects may override the order by simply calling the command
+multiple times and using the \fBNO_*\fP options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package (<package> PATHS paths... NO_DEFAULT_PATH)
+find_package (<package>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Once one of the calls succeeds the result variable will be set
+and stored in the cache so that no call will search again.
+.sp
+Every non\-REQUIRED \fBfind_package\fP call can be disabled by setting the
+\fBCMAKE_DISABLE_FIND_PACKAGE_<PackageName>\fP variable to \fBTRUE\fP\&.
+.sp
+When loading a find module or package configuration file \fBfind_package\fP
+defines variables to provide information about the call arguments (and
+restores their original state before returning):
+.INDENT 0.0
+.TP
+.B \fBCMAKE_FIND_PACKAGE_NAME\fP
+the \fB<package>\fP name which is searched for
+.TP
+.B \fB<package>_FIND_REQUIRED\fP
+true if \fBREQUIRED\fP option was given
+.TP
+.B \fB<package>_FIND_QUIETLY\fP
+true if \fBQUIET\fP option was given
+.TP
+.B \fB<package>_FIND_VERSION\fP
+full requested version string
+.TP
+.B \fB<package>_FIND_VERSION_MAJOR\fP
+major version if requested, else 0
+.TP
+.B \fB<package>_FIND_VERSION_MINOR\fP
+minor version if requested, else 0
+.TP
+.B \fB<package>_FIND_VERSION_PATCH\fP
+patch version if requested, else 0
+.TP
+.B \fB<package>_FIND_VERSION_TWEAK\fP
+tweak version if requested, else 0
+.TP
+.B \fB<package>_FIND_VERSION_COUNT\fP
+number of version components, 0 to 4
+.TP
+.B \fB<package>_FIND_VERSION_EXACT\fP
+true if \fBEXACT\fP option was given
+.TP
+.B \fB<package>_FIND_COMPONENTS\fP
+list of requested components
+.TP
+.B \fB<package>_FIND_REQUIRED_<c>\fP
+true if component \fB<c>\fP is required,
+false if component \fB<c>\fP is optional
+.UNINDENT
+.sp
+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 \fBfind_package\fP handles \fBREQUIRED\fP, \fBQUIET\fP, and
+\fB[version]\fP 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
+\fB<package>_FOUND\fP to false to tell \fBfind_package\fP that component
+requirements are not satisfied.
+.sp
+See the \fBcmake_policy()\fP command documentation for discussion
+of the \fBNO_POLICY_SCOPE\fP option.
+.SS find_path
+.sp
+A short\-hand signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_path (<VAR> name1 [path1 path2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The general signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_path (
+          <VAR>
+          name | NAMES name1 [name2 ...]
+          [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]
+         )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command is used to find a directory containing the named file\&.
+A cache entry named by \fB<VAR>\fP is created to store the result
+of this command.
+If the file in a directory 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
+\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
+next time find_path is invoked with the same variable.
+The name of the file in a directory that
+is searched for is specified by the names listed
+after the NAMES argument.   Additional search locations
+can be specified after the PATHS argument.  If ENV var is
+found in the HINTS or PATHS section the environment variable var
+will be read and converted from a system environment variable to
+a cmake style list of paths.  For example ENV PATH would be a way
+to list the system path variable. The argument
+after DOC will be used for the documentation string in
+the cache.
+PATH_SUFFIXES specifies additional subdirectories to check below
+each search path.
+.sp
+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:
+.INDENT 0.0
+.IP 1. 3
+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.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 2. 3
+Search paths specified in cmake\-specific environment variables.
+These are intended to be set in the user\(aqs shell configuration.
+This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_FRAMEWORK_PATH
+.UNINDENT
+.IP 3. 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.
+.IP 4. 3
+Search the standard system environment variables.
+This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
+.INDENT 3.0
+.IP \(bu 2
+Directories in INCLUDE,
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix>/[s]bin in PATH, and
+<entry>/include for other entries in PATH,
+and the directories in PATH itself.
+.UNINDENT
+.IP 5. 3
+Search cmake variables defined in the Platform files
+for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
+is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/include/<arch> if CMAKE_LIBRARY_ARCHITECTURE is set, and
+<prefix>/include for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_INCLUDE_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_FRAMEWORK_PATH
+.UNINDENT
+.IP 6. 3
+Search the paths specified by the PATHS option
+or in the short\-hand version of the command.
+These are typically hard\-coded guesses.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Frameworks, the cmake variable
+CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find frameworks before standard libraries or headers.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find frameworks after standard libraries or headers.
+.IP \(bu 2
+ONLY: Only try to find frameworks.
+.IP \(bu 2
+NEVER: Never try to find frameworks.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Application Bundles, the cmake
+variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
+following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find application bundles before standard programs.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find application bundles after standard programs.
+.IP \(bu 2
+ONLY: Only try to find application bundles.
+.IP \(bu 2
+NEVER: Never try to find application bundles.
+.UNINDENT
+.sp
+The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
+directories to be prepended to all other search directories.  This
+effectively "re\-roots" the entire search under given locations.
+Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
+from this re\-rooting, because that variable is always a path on the host system.
+By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
+.sp
+The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
+directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
+effects.  See the documentation for that variable for more.
+.sp
+These variables are especially useful when cross\-compiling to
+point to the root directory of the target environment and CMake will
+search there too.  By default at first the directories listed in
+\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
+directory is searched, and then the non\-rooted directories will be
+searched.  The default behavior can be adjusted by setting
+\fBCMAKE_FIND_ROOT_PATH_MODE_INCLUDE\fP\&.  This behavior can be manually
+overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
+the search order will be as described above.  If
+NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
+used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
+directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
+.sp
+The default search order is designed to be most\-specific to
+least\-specific for common use cases.
+Projects may override the order by simply calling the command
+multiple times and using the \fBNO_*\fP options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_path (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
+find_path (<VAR> NAMES name)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Once one of the calls succeeds the result variable will be set
+and stored in the cache so that no call will search again.
+.sp
+When searching for frameworks, if the file is specified as A/b.h, then
+the framework search will look for A.framework/Headers/b.h.  If that
+is found the path will be set to the path to the framework.  CMake
+will convert this to the correct \-F option to include the file.
+.SS find_program
+.sp
+A short\-hand signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_program (<VAR> name1 [path1 path2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The general signature is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_program (
+          <VAR>
+          name | NAMES name1 [name2 ...]
+          [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]
+         )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command is used to find a program\&.
+A cache entry named by \fB<VAR>\fP is created to store the result
+of this command.
+If the program 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
+\fB<VAR>\-NOTFOUND\fP, and the search will be attempted again the
+next time find_program is invoked with the same variable.
+The name of the program that
+is searched for is specified by the names listed
+after the NAMES argument.   Additional search locations
+can be specified after the PATHS argument.  If ENV var is
+found in the HINTS or PATHS section the environment variable var
+will be read and converted from a system environment variable to
+a cmake style list of paths.  For example ENV PATH would be a way
+to list the system path variable. The argument
+after DOC will be used for the documentation string in
+the cache.
+PATH_SUFFIXES specifies additional subdirectories to check below
+each search path.
+.sp
+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:
+.INDENT 0.0
+.IP 1. 3
+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.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/[s]bin for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_PROGRAM_PATH
+.IP \(bu 2
+CMAKE_APPBUNDLE_PATH
+.UNINDENT
+.IP 2. 3
+Search paths specified in cmake\-specific environment variables.
+These are intended to be set in the user\(aqs shell configuration.
+This can be skipped if NO_CMAKE_ENVIRONMENT_PATH is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/[s]bin for each <prefix> in CMAKE_PREFIX_PATH
+.IP \(bu 2
+CMAKE_PROGRAM_PATH
+.IP \(bu 2
+CMAKE_APPBUNDLE_PATH
+.UNINDENT
+.IP 3. 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.
+.IP 4. 3
+Search the standard system environment variables.
+This can be skipped if NO_SYSTEM_ENVIRONMENT_PATH is an argument.
+.INDENT 3.0
+.IP \(bu 2
+PATH
+.UNINDENT
+.IP 5. 3
+Search cmake variables defined in the Platform files
+for the current system.  This can be skipped if NO_CMAKE_SYSTEM_PATH
+is passed.
+.INDENT 3.0
+.IP \(bu 2
+<prefix>/[s]bin for each <prefix> in CMAKE_SYSTEM_PREFIX_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_PROGRAM_PATH
+.IP \(bu 2
+CMAKE_SYSTEM_APPBUNDLE_PATH
+.UNINDENT
+.IP 6. 3
+Search the paths specified by the PATHS option
+or in the short\-hand version of the command.
+These are typically hard\-coded guesses.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Frameworks, the cmake variable
+CMAKE_FIND_FRAMEWORK can be set to empty or one of the following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find frameworks before standard libraries or headers.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find frameworks after standard libraries or headers.
+.IP \(bu 2
+ONLY: Only try to find frameworks.
+.IP \(bu 2
+NEVER: Never try to find frameworks.
+.UNINDENT
+.sp
+On Darwin or systems supporting OS X Application Bundles, the cmake
+variable CMAKE_FIND_APPBUNDLE can be set to empty or one of the
+following:
+.INDENT 0.0
+.IP \(bu 2
+FIRST: Try to find application bundles before standard programs.
+This is the default on Darwin.
+.IP \(bu 2
+LAST: Try to find application bundles after standard programs.
+.IP \(bu 2
+ONLY: Only try to find application bundles.
+.IP \(bu 2
+NEVER: Never try to find application bundles.
+.UNINDENT
+.sp
+The CMake variable \fBCMAKE_FIND_ROOT_PATH\fP specifies one or more
+directories to be prepended to all other search directories.  This
+effectively "re\-roots" the entire search under given locations.
+Paths which are descendants of the \fBCMAKE_STAGING_PREFIX\fP are excluded
+from this re\-rooting, because that variable is always a path on the host system.
+By default the \fBCMAKE_FIND_ROOT_PATH\fP is empty.
+.sp
+The \fBCMAKE_SYSROOT\fP variable can also be used to specify exactly one
+directory to use as a prefix.  Setting \fBCMAKE_SYSROOT\fP also has other
+effects.  See the documentation for that variable for more.
+.sp
+These variables are especially useful when cross\-compiling to
+point to the root directory of the target environment and CMake will
+search there too.  By default at first the directories listed in
+\fBCMAKE_FIND_ROOT_PATH\fP are searched, then the \fBCMAKE_SYSROOT\fP
+directory is searched, and then the non\-rooted directories will be
+searched.  The default behavior can be adjusted by setting
+\fBCMAKE_FIND_ROOT_PATH_MODE_PROGRAM\fP\&.  This behavior can be manually
+overridden on a per\-call basis.  By using CMAKE_FIND_ROOT_PATH_BOTH
+the search order will be as described above.  If
+NO_CMAKE_FIND_ROOT_PATH is used then \fBCMAKE_FIND_ROOT_PATH\fP will not be
+used.  If ONLY_CMAKE_FIND_ROOT_PATH is used then only the re\-rooted
+directories and directories below \fBCMAKE_STAGING_PREFIX\fP will be searched.
+.sp
+The default search order is designed to be most\-specific to
+least\-specific for common use cases.
+Projects may override the order by simply calling the command
+multiple times and using the \fBNO_*\fP options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_program (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH)
+find_program (<VAR> NAMES name)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Once one of the calls succeeds the result variable will be set
+and stored in the cache so that no call will search again.
+.SS fltk_wrap_ui
+.sp
+Create FLTK user interfaces Wrappers.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+fltk_wrap_ui(resultingLibraryName source1
+             source2 ... sourceN )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Produce .h and .cxx files for all the .fl and .fld files listed.  The
+resulting .h and .cxx files will be added to a variable named
+resultingLibraryName_FLTK_UI_SRCS which should be added to your
+library.
+.SS foreach
+.sp
+Evaluate a group of commands for each value in a list.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+foreach(loop_var arg1 arg2 ...)
+  COMMAND1(ARGS ...)
+  COMMAND2(ARGS ...)
+  ...
+endforeach(loop_var)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+All commands between foreach and the matching endforeach are recorded
+without being invoked.  Once the endforeach is evaluated, the recorded
+list of commands is invoked once for each argument listed in the
+original foreach command.  Before each iteration of the loop
+"${loop_var}" will be set as a variable with the current value in the
+list.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+foreach(loop_var RANGE total)
+foreach(loop_var RANGE start stop [step])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Foreach can also iterate over a generated range of numbers.  There are
+three types of this iteration:
+.INDENT 0.0
+.IP \(bu 2
+When specifying single number, the range will have elements 0 to
+"total".
+.IP \(bu 2
+When specifying two numbers, the range will have elements from the
+first number to the second number.
+.IP \(bu 2
+The third optional number is the increment used to iterate from the
+first number to the second number.
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+foreach(loop_var IN [LISTS [list1 [...]]]
+                    [ITEMS [item1 [...]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Iterates over a precise list of items.  The LISTS option names
+list\-valued variables to be traversed, including empty elements (an
+empty string is a zero\-length list).  (Note macro
+arguments are not variables.)  The ITEMS option ends argument
+parsing and includes all arguments following it in the iteration.
+.SS function
+.sp
+Start recording a function for later invocation as a command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+function(<name> [arg1 [arg2 [arg3 ...]]])
+  COMMAND1(ARGS ...)
+  COMMAND2(ARGS ...)
+  ...
+endfunction(<name>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Define a function named \fB<name>\fP that takes arguments named \fBarg1\fP,
+\fBarg2\fP, \fBarg3\fP, (...).
+Commands listed after function, but before the matching
+\fBendfunction()\fP, are not invoked until the function is invoked.
+When it is invoked, the commands recorded in the function are first
+modified by replacing formal parameters (\fB${arg1}\fP) with the arguments
+passed, and then invoked as normal commands.
+In addition to referencing the formal parameters you can reference the
+\fBARGC\fP variable which will be set to the number of arguments passed
+into the function as well as \fBARGV0\fP, \fBARGV1\fP, \fBARGV2\fP, ...  which
+will have the actual values of the arguments passed in.
+This facilitates creating functions with optional arguments.
+Additionally \fBARGV\fP holds the list of all arguments given to the
+function and \fBARGN\fP holds the list of arguments past the last expected
+argument.
+Referencing to \fBARGV#\fP arguments beyond \fBARGC\fP have undefined
+behavior. Checking that \fBARGC\fP is greater than \fB#\fP is the only way
+to ensure that \fBARGV#\fP was passed to the function as an extra
+argument.
+.sp
+A function opens a new scope: see \fBset(var PARENT_SCOPE)\fP for
+details.
+.sp
+See the \fBcmake_policy()\fP command documentation for the behavior
+of policies inside functions.
+.SS get_cmake_property
+.sp
+Get a property of the CMake instance.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_cmake_property(VAR property)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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".  Some supported properties include: VARIABLES,
+CACHE_VARIABLES, COMMANDS, MACROS, and COMPONENTS.
+.sp
+See also the more general get_property() command.
+.SS get_directory_property
+.sp
+Get a property of DIRECTORY scope.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_directory_property(<variable> [DIRECTORY <dir>] <prop\-name>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Store a property of directory scope in the named variable.  If the
+property is not defined the empty\-string is returned.  The DIRECTORY
+argument specifies another directory from which to retrieve the
+property value.  The specified directory must have already been
+traversed by CMake.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_directory_property(<variable> [DIRECTORY <dir>]
+                       DEFINITION <var\-name>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Get a variable definition from a directory.  This form is useful to
+get a variable definition from another directory.
+.sp
+See also the more general get_property() command.
+.SS get_filename_component
+.sp
+Get a specific component of a full filename.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_filename_component(<VAR> <FileName> <COMP> [CACHE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set <VAR> to a component of <FileName>, where <COMP> is one of:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+DIRECTORY = Directory without file name
+NAME      = File name without directory
+EXT       = File name longest extension (.b.c from d/a.b.c)
+NAME_WE   = File name without directory or longest extension
+ABSOLUTE  = Full path to file
+REALPATH  = Full path to existing file with symlinks resolved
+PATH      = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Paths are returned with forward slashes and have no trailing slahes.
+The longest file extension is always considered.  If the optional
+CACHE argument is specified, the result variable is added to the
+cache.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_filename_component(<VAR> FileName
+                       PROGRAM [PROGRAM_ARGS <ARG_VAR>]
+                       [CACHE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The program in FileName will be found in the system search path or
+left as a full path.  If PROGRAM_ARGS is present with PROGRAM, then
+any command\-line arguments present in the FileName string are split
+from the program name and stored in <ARG_VAR>.  This is used to
+separate a program name from its arguments in a command line string.
+.SS get_property
+.sp
+Get a property.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_property(<variable>
+             <GLOBAL             |
+              DIRECTORY [dir]    |
+              TARGET    <target> |
+              SOURCE    <source> |
+              INSTALL   <file>   |
+              TEST      <test>   |
+              CACHE     <entry>  |
+              VARIABLE>
+             PROPERTY <name>
+             [SET | DEFINED | BRIEF_DOCS | FULL_DOCS])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Get one property from one object in a scope.  The first argument
+specifies the variable in which to store the result.  The second
+argument determines the scope from which to get the property.  It must
+be one of the following:
+.INDENT 0.0
+.TP
+.B \fBGLOBAL\fP
+Scope is unique and does not accept a name.
+.TP
+.B \fBDIRECTORY\fP
+Scope defaults to the current directory but another
+directory (already processed by CMake) may be named by full or
+relative path.
+.TP
+.B \fBTARGET\fP
+Scope must name one existing target.
+.TP
+.B \fBSOURCE\fP
+Scope must name one source file.
+.TP
+.B \fBINSTALL\fP
+Scope must name one installed file path.
+.TP
+.B \fBTEST\fP
+Scope must name one existing test.
+.TP
+.B \fBCACHE\fP
+Scope must name one cache entry.
+.TP
+.B \fBVARIABLE\fP
+Scope is unique and does not accept a name.
+.UNINDENT
+.sp
+The required \fBPROPERTY\fP option is immediately followed by the name of
+the property to get.  If the property is not set an empty value is
+returned.  If the \fBSET\fP option is given the variable is set to a boolean
+value indicating whether the property has been set.  If the \fBDEFINED\fP
+option is given the variable is set to a boolean value indicating
+whether the property has been defined such as with the
+\fBdefine_property()\fP command.
+If \fBBRIEF_DOCS\fP or \fBFULL_DOCS\fP is given then the variable is set to a
+string containing documentation for the requested property.  If
+documentation is requested for a property that has not been defined
+\fBNOTFOUND\fP is returned.
+.SS get_source_file_property
+.sp
+Get a property for a source file.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_source_file_property(VAR file property)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Get a property from a source file.  The value of the property is
+stored in the variable VAR.  If the property is not found, VAR will be
+set to "NOTFOUND".  Use set_source_files_properties to set property
+values.  Source file properties usually control how the file is built.
+One property that is always there is LOCATION
+.sp
+See also the more general get_property() command.
+.SS get_target_property
+.sp
+Get a property from a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_target_property(VAR target property)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Get a property from a target.  The value of the property is stored in
+the variable VAR.  If the property is not found, VAR will be set to
+"NOTFOUND".  Use set_target_properties to set property values.
+Properties are usually used to control how a target is built, but some
+query the target instead.  This command can get properties for any
+target so far created.  The targets do not need to be in the current
+CMakeLists.txt file.
+.sp
+See also the more general get_property() command.
+.SS get_test_property
+.sp
+Get a property of the test.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+get_test_property(test property VAR)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Get a property from the test.  The value of the property is stored in
+the variable VAR.  If the test or property is not found, VAR will be
+set to "NOTFOUND".  For a list of standard properties you can type cmake
+\-\-help\-property\-list.
+.sp
+See also the more general get_property() command.
+.SS if
+.sp
+Conditionally execute a group of commands.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fBEXISTS\fP,
+\fBCOMMAND\fP, and \fBDEFINED\fP\&.  Then any binary tests such as
+\fBEQUAL\fP, \fBLESS\fP, \fBGREATER\fP, \fBSTRLESS\fP, \fBSTRGREATER\fP,
+\fBSTREQUAL\fP, and \fBMATCHES\fP will be evaluated.  Then boolean \fBNOT\fP
+operators and finally boolean \fBAND\fP and then \fBOR\fP operators will
+be evaluated.
+.sp
+Possible expressions are:
+.INDENT 0.0
+.TP
+.B \fBif(<constant>)\fP
+True if the constant is \fB1\fP, \fBON\fP, \fBYES\fP, \fBTRUE\fP, \fBY\fP,
+or a non\-zero number.  False if the constant is \fB0\fP, \fBOFF\fP,
+\fBNO\fP, \fBFALSE\fP, \fBN\fP, \fBIGNORE\fP, \fBNOTFOUND\fP, the empty string,
+or ends in the suffix \fB\-NOTFOUND\fP\&.  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.
+.TP
+.B \fBif(<variable|string>)\fP
+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.)
+.TP
+.B \fBif(NOT <expression>)\fP
+True if the expression is not true.
+.TP
+.B \fBif(<expr1> AND <expr2>)\fP
+True if both expressions would be considered true individually.
+.TP
+.B \fBif(<expr1> OR <expr2>)\fP
+True if either expression would be considered true individually.
+.TP
+.B \fBif(COMMAND command\-name)\fP
+True if the given name is a command, macro or function that can be
+invoked.
+.TP
+.B \fBif(POLICY policy\-id)\fP
+True if the given name is an existing policy (of the form \fBCMP<NNNN>\fP).
+.TP
+.B \fBif(TARGET target\-name)\fP
+True if the given name is an existing logical target name such as those
+created by the \fBadd_executable()\fP, \fBadd_library()\fP, or
+\fBadd_custom_target()\fP commands.
+.TP
+.B \fBif(EXISTS path\-to\-file\-or\-directory)\fP
+True if the named file or directory exists.  Behavior is well\-defined
+only for full paths.
+.TP
+.B \fBif(file1 IS_NEWER_THAN file2)\fP
+True if file1 is newer than file2 or if one of the two files doesn\(aqt
+exist.  Behavior is well\-defined only for full paths.  If the file
+time stamps are exactly the same, an \fBIS_NEWER_THAN\fP 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.
+.TP
+.B \fBif(IS_DIRECTORY path\-to\-directory)\fP
+True if the given name is a directory.  Behavior is well\-defined only
+for full paths.
+.TP
+.B \fBif(IS_SYMLINK file\-name)\fP
+True if the given name is a symbolic link.  Behavior is well\-defined
+only for full paths.
+.TP
+.B \fBif(IS_ABSOLUTE path)\fP
+True if the given path is an absolute path.
+.TP
+.B \fBif(<variable|string> MATCHES regex)\fP
+True if the given string or variable\(aqs value matches the given regular
+expression.
+.TP
+.B \fBif(<variable|string> LESS <variable|string>)\fP
+True if the given string or variable\(aqs value is a valid number and less
+than that on the right.
+.TP
+.B \fBif(<variable|string> GREATER <variable|string>)\fP
+True if the given string or variable\(aqs value is a valid number and greater
+than that on the right.
+.TP
+.B \fBif(<variable|string> EQUAL <variable|string>)\fP
+True if the given string or variable\(aqs value is a valid number and equal
+to that on the right.
+.TP
+.B \fBif(<variable|string> STRLESS <variable|string>)\fP
+True if the given string or variable\(aqs value is lexicographically less
+than the string or variable on the right.
+.TP
+.B \fBif(<variable|string> STRGREATER <variable|string>)\fP
+True if the given string or variable\(aqs value is lexicographically greater
+than the string or variable on the right.
+.TP
+.B \fBif(<variable|string> STREQUAL <variable|string>)\fP
+True if the given string or variable\(aqs value is lexicographically equal
+to the string or variable on the right.
+.TP
+.B \fBif(<variable|string> VERSION_LESS <variable|string>)\fP
+Component\-wise integer version number comparison (version format is
+\fBmajor[.minor[.patch[.tweak]]]\fP).
+.TP
+.B \fBif(<variable|string> VERSION_EQUAL <variable|string>)\fP
+Component\-wise integer version number comparison (version format is
+\fBmajor[.minor[.patch[.tweak]]]\fP).
+.TP
+.B \fBif(<variable|string> VERSION_GREATER <variable|string>)\fP
+Component\-wise integer version number comparison (version format is
+\fBmajor[.minor[.patch[.tweak]]]\fP).
+.TP
+.B \fBif(<variable|string> IN_LIST <variable>)\fP
+True if the given element is contained in the named list variable.
+.TP
+.B \fBif(DEFINED <variable>)\fP
+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.)
+.TP
+.B \fBif((expression) AND (expression OR (expression)))\fP
+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.
+.UNINDENT
+.sp
+The if command was written very early in CMake\(aqs history, predating
+the \fB${}\fP variable evaluation syntax, and for convenience evaluates
+variables named by its arguments as shown in the above signatures.
+Note that normal variable evaluation with \fB${}\fP applies before the if
+command even receives the arguments.  Therefore code like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(var1 OFF)
+set(var2 "var1")
+if(${var2})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+appears to the if command as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(var1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and is evaluated according to the \fBif(<variable>)\fP case documented
+above.  The result is \fBOFF\fP which is false.  However, if we remove the
+\fB${}\fP from the example then the command sees:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(var2)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which is true because \fBvar2\fP is defined to "var1" which is not a false
+constant.
+.sp
+Automatic evaluation applies in the other cases whenever the
+above\-documented signature accepts \fB<variable|string>\fP:
+.INDENT 0.0
+.IP \(bu 2
+The left hand argument to \fBMATCHES\fP is first checked to see if it is
+a defined variable, if so the variable\(aqs value is used, otherwise the
+original value is used.
+.IP \(bu 2
+If the left hand argument to \fBMATCHES\fP is missing it returns false
+without error
+.IP \(bu 2
+Both left and right hand arguments to \fBLESS\fP, \fBGREATER\fP, and
+\fBEQUAL\fP are independently tested to see if they are defined
+variables, if so their defined values are used otherwise the original
+value is used.
+.IP \(bu 2
+Both left and right hand arguments to \fBSTRLESS\fP, \fBSTREQUAL\fP, and
+\fBSTRGREATER\fP are independently tested to see if they are defined
+variables, if so their defined values are used otherwise the original
+value is used.
+.IP \(bu 2
+Both left and right hand arguments to \fBVERSION_LESS\fP,
+\fBVERSION_EQUAL\fP, and \fBVERSION_GREATER\fP are independently tested
+to see if they are defined variables, if so their defined values are
+used otherwise the original value is used.
+.IP \(bu 2
+The right hand argument to \fBNOT\fP 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.
+.IP \(bu 2
+The left and right hand arguments to \fBAND\fP and \fBOR\fP 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.
+.UNINDENT
+.sp
+To prevent ambiguity, potential variable or keyword names can be
+specified in a Quoted Argument or a Bracket Argument\&.
+A quoted or bracketed variable or keyword will be interpreted as a
+string and not dereferenced or interpreted.
+See policy \fBCMP0054\fP\&.
+.SS include_directories
+.sp
+Add include directories to the build.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add the given directories to those the compiler uses to search for
+include files.  Relative paths are interpreted as relative to the
+current source directory.
+.sp
+The include directories are added to the \fBINCLUDE_DIRECTORIES\fP
+directory property for the current \fBCMakeLists\fP file.  They are also
+added to the \fBINCLUDE_DIRECTORIES\fP target property for each
+target in the current \fBCMakeLists\fP file.  The target property values
+are the ones used by the generators.
+.sp
+By default the directories specified are appended onto the current list of
+directories.  This default behavior can be changed by setting
+\fBCMAKE_INCLUDE_DIRECTORIES_BEFORE\fP to \fBON\fP\&.  By using
+\fBAFTER\fP or \fBBEFORE\fP explicitly, you can select between appending and
+prepending, independent of the default.
+.sp
+If the \fBSYSTEM\fP option is given, the compiler will be told the
+directories are meant as system include directories on some platforms.
+Signalling this setting might achieve effects such as the compiler
+skipping warnings, or these fixed\-install system files not being
+considered in dependency calculations \- see compiler docs.
+.sp
+Arguments to \fBinclude_directories\fP may use "generator expressions" with
+the syntax "$<...>".  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS include_external_msproject
+.sp
+Include an external Microsoft project file in a workspace.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include_external_msproject(projectname location
+                           [TYPE projectTypeGUID]
+                           [GUID projectGUID]
+                           [PLATFORM platformName]
+                           dep1 dep2 ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 add_dependencies command
+to make things depend on the external project.
+.sp
+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).  These options are not
+supported by the Visual Studio 6 generator.
+.SS include_regular_expression
+.sp
+Set the regular expression used for dependency checking.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include_regular_expression(regex_match [regex_complain])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set the regular expressions used in dependency checking.  Only files
+matching regex_match will be traced as dependencies.  Only files
+matching regex_complain will generate warnings if they cannot be found
+(standard header paths are not searched).  The defaults are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+regex_match    = "^.*$" (match everything)
+regex_complain = "^$" (match empty string only)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS include
+.sp
+Load and run CMake code from a file or module.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(<file|module> [OPTIONAL] [RESULT_VARIABLE <VAR>]
+                      [NO_POLICY_SCOPE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+If a module is specified instead of a file, the file with name
+<modulename>.cmake is searched first in 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
+CMAKE_MODULE_PATH afterwards.  See also policy CMP0017.
+.sp
+See the cmake_policy() command documentation for discussion of the
+NO_POLICY_SCOPE option.
+.SS install
+.sp
+Specify rules to run at install time.
+.SS Introduction
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.TP
+.B \fBDESTINATION\fP
+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 \fBCMAKE_INSTALL_PREFIX\fP variable.
+The prefix can be relocated at install time using the \fBDESTDIR\fP
+mechanism explained in the \fBCMAKE_INSTALL_PREFIX\fP variable
+documentation.
+.TP
+.B \fBPERMISSIONS\fP
+Specify permissions for installed files.  Valid permissions are
+\fBOWNER_READ\fP, \fBOWNER_WRITE\fP, \fBOWNER_EXECUTE\fP, \fBGROUP_READ\fP,
+\fBGROUP_WRITE\fP, \fBGROUP_EXECUTE\fP, \fBWORLD_READ\fP, \fBWORLD_WRITE\fP,
+\fBWORLD_EXECUTE\fP, \fBSETUID\fP, and \fBSETGID\fP\&.  Permissions that do
+not make sense on certain platforms are ignored on those platforms.
+.TP
+.B \fBCONFIGURATIONS\fP
+Specify a list of build configurations for which the install rule
+applies (Debug, Release, etc.).
+.TP
+.B \fBCOMPONENT\fP
+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.  If \fBCOMPONENT\fP is not provided a
+default component "Unspecified" is created.  The default component
+name may be controlled with the
+\fBCMAKE_INSTALL_DEFAULT_COMPONENT_NAME\fP variable.
+.TP
+.B \fBRENAME\fP
+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.
+.TP
+.B \fBOPTIONAL\fP
+Specify that it is not an error if the file to be installed does
+not exist.
+.UNINDENT
+.sp
+Command signatures that install files may print messages during
+installation.  Use the \fBCMAKE_INSTALL_MESSAGE\fP variable
+to control which messages are printed.
+.SS Installing Targets
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(TARGETS targets... [EXPORT <export\-name>]
+        [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE|
+          PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE]
+         [DESTINATION <dir>]
+         [INCLUDES DESTINATION [<dir> ...]]
+         [PERMISSIONS permissions...]
+         [CONFIGURATIONS [Debug|Release|...]]
+         [COMPONENT <component>]
+         [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
+        ] [...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBTARGETS\fP form specifies rules for installing targets from a
+project.  There are five kinds of target files that may be installed:
+\fBARCHIVE\fP, \fBLIBRARY\fP, \fBRUNTIME\fP, \fBFRAMEWORK\fP, and \fBBUNDLE\fP\&.
+Executables are treated as \fBRUNTIME\fP targets, except that those
+marked with the \fBMACOSX_BUNDLE\fP property are treated as \fBBUNDLE\fP
+targets on OS X.  Static libraries are always treated as \fBARCHIVE\fP
+targets.  Module libraries are always treated as \fBLIBRARY\fP targets.
+For non\-DLL platforms shared libraries are treated as \fBLIBRARY\fP
+targets, except that those marked with the \fBFRAMEWORK\fP property are
+treated as \fBFRAMEWORK\fP targets on OS X.  For DLL platforms the DLL
+part of a shared library is treated as a \fBRUNTIME\fP target and the
+corresponding import library is treated as an \fBARCHIVE\fP target.
+All Windows\-based systems including Cygwin are DLL platforms.
+The \fBARCHIVE\fP, \fBLIBRARY\fP, \fBRUNTIME\fP, and \fBFRAMEWORK\fP 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 \fBINCLUDES DESTINATION\fP specifies a list of directories
+which will be added to the \fBINTERFACE_INCLUDE_DIRECTORIES\fP
+target property of the \fB<targets>\fP when exported by the
+\fI\%install(EXPORT)\fP command.  If a relative path is
+specified, it is treated as relative to the \fB$<INSTALL_PREFIX>\fP\&.
+.sp
+The \fBPRIVATE_HEADER\fP, \fBPUBLIC_HEADER\fP, and \fBRESOURCE\fP arguments
+cause subsequent properties to be applied to installing a \fBFRAMEWORK\fP
+shared library target\(aqs 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
+\fBPRIVATE_HEADER\fP, \fBPUBLIC_HEADER\fP, and
+\fBRESOURCE\fP target properties for details.
+.sp
+Either \fBNAMELINK_ONLY\fP or \fBNAMELINK_SKIP\fP may be specified as a
+\fBLIBRARY\fP option.  On some platforms a versioned shared library
+has a symbolic link such as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+lib<name>.so \-> lib<name>.so.1
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fBlib<name>.so.1\fP is the soname of the library and \fBlib<name>.so\fP
+is a "namelink" allowing linkers to find the library when given
+\fB\-l<name>\fP\&.  The \fBNAMELINK_ONLY\fP option causes installation of only the
+namelink when a library target is installed.  The \fBNAMELINK_SKIP\fP 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
+\fBNAMELINK_SKIP\fP option installs the library and the \fBNAMELINK_ONLY\fP
+option installs nothing.  See the \fBVERSION\fP and
+\fBSOVERSION\fP target properties for details on creating versioned
+shared libraries.
+.sp
+One or more groups of properties may be specified in a single call to
+the \fBTARGETS\fP form of this command.  A target may be installed more than
+once to different locations.  Consider hypothetical targets \fBmyExe\fP,
+\fBmySharedLib\fP, and \fBmyStaticLib\fP\&.  The code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(TARGETS myExe mySharedLib myStaticLib
+        RUNTIME DESTINATION bin
+        LIBRARY DESTINATION lib
+        ARCHIVE DESTINATION lib/static)
+install(TARGETS mySharedLib DESTINATION /some/full/path)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will install \fBmyExe\fP to \fB<prefix>/bin\fP and \fBmyStaticLib\fP to
+\fB<prefix>/lib/static\fP\&.  On non\-DLL platforms \fBmySharedLib\fP will be
+installed to \fB<prefix>/lib\fP and \fB/some/full/path\fP\&.  On DLL platforms
+the \fBmySharedLib\fP DLL will be installed to \fB<prefix>/bin\fP and
+\fB/some/full/path\fP and its import library will be installed to
+\fB<prefix>/lib/static\fP and \fB/some/full/path\fP\&.
+.sp
+The \fBEXPORT\fP option associates the installed target files with an
+export called \fB<export\-name>\fP\&.  It must appear before any \fBRUNTIME\fP,
+\fBLIBRARY\fP, or \fBARCHIVE\fP options.  To actually install the export
+file itself, call \fBinstall(EXPORT)\fP, documented below.
+.sp
+Installing a target with the \fBEXCLUDE_FROM_ALL\fP target property
+set to \fBTRUE\fP has undefined behavior.
+.sp
+The install destination given to the target install \fBDESTINATION\fP may
+use "generator expressions" with the syntax \fB$<...>\fP\&.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
+.SS Installing Files
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(<FILES|PROGRAMS> files... DESTINATION <dir>
+        [PERMISSIONS permissions...]
+        [CONFIGURATIONS [Debug|Release|...]]
+        [COMPONENT <component>]
+        [RENAME <name>] [OPTIONAL])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBFILES\fP 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 \fBOWNER_WRITE\fP, \fBOWNER_READ\fP, \fBGROUP_READ\fP, and
+\fBWORLD_READ\fP if no \fBPERMISSIONS\fP argument is given.
+.sp
+The \fBPROGRAMS\fP form is identical to the \fBFILES\fP form except that the
+default permissions for the installed file also include \fBOWNER_EXECUTE\fP,
+\fBGROUP_EXECUTE\fP, and \fBWORLD_EXECUTE\fP\&.  This form is intended to install
+programs that are not targets, such as shell scripts.  Use the \fBTARGETS\fP
+form to install targets built within the project.
+.sp
+The list of \fBfiles...\fP given to \fBFILES\fP or \fBPROGRAMS\fP may use
+"generator expressions" with the syntax \fB$<...>\fP\&.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
+However, if any item begins in a generator expression it must evaluate
+to a full path.
+.SS Installing Directories
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(DIRECTORY dirs... DESTINATION <dir>
+        [FILE_PERMISSIONS permissions...]
+        [DIRECTORY_PERMISSIONS permissions...]
+        [USE_SOURCE_PERMISSIONS] [OPTIONAL] [MESSAGE_NEVER]
+        [CONFIGURATIONS [Debug|Release|...]]
+        [COMPONENT <component>] [FILES_MATCHING]
+        [[PATTERN <pattern> | REGEX <regex>]
+         [EXCLUDE] [PERMISSIONS permissions...]] [...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBDIRECTORY\fP 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 \fBFILE_PERMISSIONS\fP and \fBDIRECTORY_PERMISSIONS\fP options
+specify permissions given to files and directories in the destination.
+If \fBUSE_SOURCE_PERMISSIONS\fP is specified and \fBFILE_PERMISSIONS\fP 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 \fBFILES\fP form of the command, and the
+directories will be given the default permissions specified in the
+\fBPROGRAMS\fP form of the command.
+.sp
+The \fBMESSAGE_NEVER\fP option disables file installation status output.
+.sp
+Installation of directories may be controlled with fine granularity
+using the \fBPATTERN\fP or \fBREGEX\fP 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 \fBPATTERN\fP 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 \fBREGEX\fP will match any portion of the full path but it may
+use \fB/\fP and \fB$\fP to simulate the \fBPATTERN\fP behavior.  By default all
+files and directories are installed whether or not they are matched.
+The \fBFILES_MATCHING\fP 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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(DIRECTORY src/ DESTINATION include/myproj
+        FILES_MATCHING PATTERN "*.h")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will extract and install header files from a source tree.
+.sp
+Some options may follow a \fBPATTERN\fP or \fBREGEX\fP expression and are applied
+only to files or directories matching them.  The \fBEXCLUDE\fP option will
+skip the matched file or directory.  The \fBPERMISSIONS\fP option overrides
+the permissions setting for the matched file or directory.  For
+example the code
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(DIRECTORY icons scripts/ DESTINATION share/myproj
+        PATTERN "CVS" EXCLUDE
+        PATTERN "scripts/*"
+        PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+                    GROUP_EXECUTE GROUP_READ)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will install the \fBicons\fP directory to \fBshare/myproj/icons\fP and the
+\fBscripts\fP directory to \fBshare/myproj\fP\&.  The icons will get default
+file permissions, the scripts will be given specific permissions, and any
+\fBCVS\fP directories will be excluded.
+.SS Custom Installation Logic
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install([[SCRIPT <file>] [CODE <code>]]
+        [COMPONENT <component>] [...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBSCRIPT\fP 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 \fBCODE\fP
+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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(CODE "MESSAGE(\e"Sample install message.\e")")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will print a message during installation.
+.SS Installing Exports
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(EXPORT <export\-name> DESTINATION <dir>
+        [NAMESPACE <namespace>] [FILE <name>.cmake]
+        [PERMISSIONS permissions...]
+        [CONFIGURATIONS [Debug|Release|...]]
+        [EXPORT_LINK_INTERFACE_LIBRARIES]
+        [COMPONENT <component>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBEXPORT\fP 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 \fB<export\-name>\fP
+using the \fBEXPORT\fP option of the \fBinstall(TARGETS)\fP signature
+documented above.  The \fBNAMESPACE\fP option will prepend \fB<namespace>\fP to
+the target names as they are written to the import file.  By default
+the generated file will be called \fB<export\-name>.cmake\fP but the \fBFILE\fP
+option may be used to specify a different name.  The value given to
+the \fBFILE\fP option must be a file name with the \fB\&.cmake\fP extension.
+If a \fBCONFIGURATIONS\fP 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 \fBEXPORT_LINK_INTERFACE_LIBRARIES\fP keyword, if
+present, causes the contents of the properties matching
+\fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP to be exported, when
+policy \fBCMP0022\fP is \fBNEW\fP\&.  If a \fBCOMPONENT\fP option is
+specified that does not match that given to the targets associated with
+\fB<export\-name>\fP 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.
+.sp
+The \fBEXPORT\fP form is useful to help outside projects use targets built
+and installed by the current project.  For example, the code
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install(TARGETS myexe EXPORT myproj DESTINATION bin)
+install(EXPORT myproj NAMESPACE mp_ DESTINATION lib/myproj)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will install the executable myexe to \fB<prefix>/bin\fP and code to import
+it in the file \fB<prefix>/lib/myproj/myproj.cmake\fP\&.  An outside project
+may load this file with the include command and reference the \fBmyexe\fP
+executable from the installation tree using the imported target name
+\fBmp_myexe\fP as if the target were built in its own tree.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This command supercedes the \fBinstall_targets()\fP command and
+the \fBPRE_INSTALL_SCRIPT\fP and \fBPOST_INSTALL_SCRIPT\fP
+target properties.  It also replaces the \fBFILES\fP forms of the
+\fBinstall_files()\fP and \fBinstall_programs()\fP commands.
+The processing order of these install rules relative to
+those generated by \fBinstall_targets()\fP,
+\fBinstall_files()\fP, and \fBinstall_programs()\fP commands
+is not defined.
+.UNINDENT
+.UNINDENT
+.SS link_directories
+.sp
+Specify directories in which the linker will look for libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+link_directories(directory1 directory2 ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify the paths in which the linker should search for libraries.
+The command will apply only to targets created after it is called.
+Relative paths given to this command are interpreted as relative to
+the current source directory, see CMP0015.
+.sp
+Note that this command is rarely necessary.  Library locations
+returned by find_package() and find_library() are absolute paths.
+Pass these absolute library file paths directly to the
+target_link_libraries() command.  CMake will ensure the linker finds
+them.
+.SS link_libraries
+.sp
+Link libraries to all targets added later.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+link_libraries([item1 [item2 [...]]]
+               [[debug|optimized|general] <item>] ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify libraries or flags to use when linking any targets created later in
+the current directory or below by commands such as \fBadd_executable()\fP
+or \fBadd_library()\fP\&.  See the \fBtarget_link_libraries()\fP command
+for meaning of arguments.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBtarget_link_libraries()\fP command should be preferred whenever
+possible.  Library dependencies are chained automatically, so directory\-wide
+specification of link libraries is rarely needed.
+.UNINDENT
+.UNINDENT
+.SS list
+.sp
+List operations.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+list(LENGTH <list> <output variable>)
+list(GET <list> <element index> [<element index> ...]
+     <output variable>)
+list(APPEND <list> [<element> ...])
+list(FIND <list> <value> <output variable>)
+list(INSERT <list> <element_index> <element> [<element> ...])
+list(REMOVE_ITEM <list> <value> [<value> ...])
+list(REMOVE_AT <list> <index> [<index> ...])
+list(REMOVE_DUPLICATES <list>)
+list(REVERSE <list>)
+list(SORT <list>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+LENGTH will return a given list\(aqs length.
+.sp
+GET will return list of elements specified by indices from the list.
+.sp
+APPEND will append elements to the list.
+.sp
+FIND will return the index of the element specified in the list or \-1
+if it wasn\(aqt found.
+.sp
+INSERT will insert elements to the list to the specified location.
+.sp
+REMOVE_AT and REMOVE_ITEM will remove items from the list.  The
+difference is that REMOVE_ITEM will remove the given items, while
+REMOVE_AT will remove the items at the given indices.
+.sp
+REMOVE_DUPLICATES will remove duplicated items in the list.
+.sp
+REVERSE reverses the contents of the list in\-place.
+.sp
+SORT sorts the list in\-place alphabetically.
+.sp
+The list subcommands APPEND, INSERT, REMOVE_AT, REMOVE_ITEM,
+REMOVE_DUPLICATES, REVERSE and SORT may create new values for the list
+within the current CMake variable scope.  Similar to the SET command,
+the LIST command creates new variable values in the current scope,
+even if the list itself is actually defined in a parent scope.  To
+propagate the results of these operations upwards, use SET with
+PARENT_SCOPE, SET with CACHE INTERNAL, or some other means of value
+propagation.
+.sp
+NOTES: A list in cmake is a ; separated group of strings.  To create a
+list the set command can be used.  For example, set(var a b c d e)
+creates a list with a;b;c;d;e, and set(var "a b c d e") creates a
+string or a list with one item in it.   (Note macro arguments are not
+variables, and therefore cannot be used in LIST commands.)
+.sp
+When specifying index values, if <element index> is 0 or greater, it
+is indexed from the beginning of the list, with 0 representing the
+first list element.  If <element index> is \-1 or lesser, it is indexed
+from the end of the list, with \-1 representing the last list element.
+Be careful when counting with negative indices: they do not start from
+0.  \-0 is equivalent to 0, the first list element.
+.SS load_cache
+.sp
+Load in the values from another project\(aqs CMake cache.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+load_cache(pathToCacheFile READ_WITH_PREFIX
+           prefix entry1...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Read the cache and store the requested entries in variables with their
+name prefixed with the given prefix.  This only reads the values, and
+does not create entries in the local project\(aqs cache.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+load_cache(pathToCacheFile [EXCLUDE entry1...]
+           [INCLUDE_INTERNALS entry1...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Load in the values from another cache and store them in the local
+project\(aqs cache as internal entries.  This is useful for a project
+that depends on another project built in a different tree.  EXCLUDE
+option can be used to provide a list of entries to be excluded.
+INCLUDE_INTERNALS can be used to provide a list of internal entries to
+be included.  Normally, no internal entries are brought in.  Use of
+this form of the command is strongly discouraged, but it is provided
+for backward compatibility.
+.SS load_command
+.sp
+Disallowed.  See CMake Policy \fBCMP0031\fP\&.
+.sp
+Load a command into a running CMake.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+load_command(COMMAND_NAME <loc1> [loc2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The given locations are searched for a library whose name is
+cmCOMMAND_NAME.  If found, it is loaded as a module and the command is
+added to the set of available CMake commands.  Usually, TRY_COMPILE is
+used before this command to compile the module.  If the command is
+successfully loaded a variable named
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_LOADED_COMMAND_<COMMAND_NAME>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will be set to the full path of the module that was loaded.  Otherwise
+the variable will not be set.
+.SS macro
+.sp
+Start recording a macro for later invocation as a command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+macro(<name> [arg1 [arg2 [arg3 ...]]])
+  COMMAND1(ARGS ...)
+  COMMAND2(ARGS ...)
+  ...
+endmacro(<name>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Define a macro named \fB<name>\fP that takes arguments named \fBarg1\fP,
+\fBarg2\fP, \fBarg3\fP, (...).
+Commands listed after macro, but before the matching
+\fBendmacro()\fP, are not invoked until the macro is invoked.
+When it is invoked, the commands recorded in the macro are first
+modified by replacing formal parameters (\fB${arg1}\fP) with the arguments
+passed, and then invoked as normal commands.
+In addition to referencing the formal parameters you can reference the
+values \fB${ARGC}\fP which will be set to the number of arguments passed
+into the function as well as \fB${ARGV0}\fP, \fB${ARGV1}\fP, \fB${ARGV2}\fP,
+...  which will have the actual values of the arguments passed in.
+This facilitates creating macros with optional arguments.
+Additionally \fB${ARGV}\fP holds the list of all arguments given to the
+macro and \fB${ARGN}\fP holds the list of arguments past the last expected
+argument.
+Referencing to \fB${ARGV#}\fP arguments beyond \fB${ARGC}\fP have undefined
+behavior. Checking that \fB${ARGC}\fP is greater than \fB#\fP is the only
+way to ensure that \fB${ARGV#}\fP was passed to the function as an extra
+argument.
+.sp
+See the \fBcmake_policy()\fP command documentation for the behavior
+of policies inside macros.
+.SS Macro Argument Caveats
+.sp
+Note that the parameters to a macro and values such as \fBARGN\fP are
+not variables in the usual CMake sense.  They are string
+replacements much like the C preprocessor would do with a macro.
+Therefore you will NOT be able to use commands like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(ARGV1) # ARGV1 is not a variable
+if(DEFINED ARGV2) # ARGV2 is not a variable
+if(ARGC GREATER 2) # ARGC is not a variable
+foreach(loop_var IN LISTS ARGN) # ARGN is not a variable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In the first case, you can use \fBif(${ARGV1})\fP\&.
+In the second and third case, the proper way to check if an optional
+variable was passed to the macro is to use \fBif(${ARGC} GREATER 2)\fP\&.
+In the last case, you can use \fBforeach(loop_var ${ARGN})\fP but this
+will skip empty arguments.
+If you need to include them, you can use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(list_var "${ARGN}")
+foreach(loop_var IN LISTS list_var)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that if you have a variable with the same name in the scope from
+which the macro is called, using unreferenced names will use the
+existing variable instead of the arguments. For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+macro(_BAR)
+  foreach(arg IN LISTS ARGN)
+    [...]
+  endforeach()
+endmacro()
+
+function(_FOO)
+  _bar(x y z)
+endfunction()
+
+_foo(a b c)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Will loop over \fBa;b;c\fP and not over \fBx;y;z\fP as one might be expecting.
+If you want true CMake variables and/or better CMake scope control you
+should look at the function command.
+.SS mark_as_advanced
+.sp
+Mark cmake cached variables as advanced.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+mark_as_advanced([CLEAR|FORCE] VAR [VAR2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Mark the named cached variables as advanced.  An advanced variable
+will not be displayed in any of the cmake GUIs unless the show
+advanced option is on.  If CLEAR is the first argument advanced
+variables are changed back to unadvanced.  If FORCE is the first
+argument, then the variable is made advanced.  If neither FORCE nor
+CLEAR is specified, new values will be marked as advanced, but if the
+variable already has an advanced/non\-advanced state, it will not be
+changed.
+.sp
+It does nothing in script mode.
+.SS math
+.sp
+Mathematical expressions.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+math(EXPR <output variable> <math expression>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+EXPR evaluates mathematical expression and returns result in the
+output variable.  Example mathematical expression is \(aq5 * ( 10 + 13
+)\(aq.  Supported operators are + \- * / % | & ^ ~ << >> * / %.  They have
+the same meaning as they do in C code.
+.SS message
+.sp
+Display a message to the user.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+message([<mode>] "message to display" ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The optional <mode> keyword determines the type of message:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+(none)         = Important information
+STATUS         = Incidental information
+WARNING        = CMake Warning, continue processing
+AUTHOR_WARNING = CMake Warning (dev), continue processing
+SEND_ERROR     = CMake Error, continue processing,
+                              but skip generation
+FATAL_ERROR    = CMake Error, stop processing and generation
+DEPRECATION    = CMake Deprecation Error or Warning if variable
+                 CMAKE_ERROR_DEPRECATED or CMAKE_WARN_DEPRECATED
+                 is enabled, respectively, else no message.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The CMake command\-line tool displays STATUS messages on stdout and all
+other message types on stderr.  The CMake GUI displays all messages in
+its log area.  The interactive dialogs (ccmake and CMakeSetup) show
+STATUS messages one at a time on a status line and other messages in
+interactive pop\-up boxes.
+.sp
+CMake Warning and Error message text displays using a simple markup
+language.  Non\-indented text is formatted in line\-wrapped paragraphs
+delimited by newlines.  Indented text is considered pre\-formatted.
+.SS option
+.sp
+Provides an option that the user can optionally select.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+option(<option_variable> "help string describing option"
+       [initial value])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Provide an option for the user to select as ON or OFF.  If no initial
+value is provided, OFF is used.
+.sp
+If you have options that depend on the values of other options, see
+the module help for CMakeDependentOption.
+.SS project
+.sp
+Set a name, version, and enable languages for the entire project.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+project(<PROJECT\-NAME> [LANGUAGES] [<language\-name>...])
+project(<PROJECT\-NAME>
+        [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
+        [LANGUAGES <language\-name>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sets the name of the project and stores the name in the
+\fBPROJECT_NAME\fP variable.  Additionally this sets variables
+.INDENT 0.0
+.IP \(bu 2
+\fBPROJECT_SOURCE_DIR\fP,
+\fB<PROJECT\-NAME>_SOURCE_DIR\fP
+.IP \(bu 2
+\fBPROJECT_BINARY_DIR\fP,
+\fB<PROJECT\-NAME>_BINARY_DIR\fP
+.UNINDENT
+.sp
+If \fBVERSION\fP is specified, given components must be non\-negative integers.
+If \fBVERSION\fP is not specified, the default version is the empty string.
+The \fBVERSION\fP option may not be used unless policy \fBCMP0048\fP is
+set to \fBNEW\fP\&.
+.sp
+The \fI\%project()\fP command stores the version number and its components
+in variables
+.INDENT 0.0
+.IP \(bu 2
+\fBPROJECT_VERSION\fP,
+\fB<PROJECT\-NAME>_VERSION\fP
+.IP \(bu 2
+\fBPROJECT_VERSION_MAJOR\fP,
+\fB<PROJECT\-NAME>_VERSION_MAJOR\fP
+.IP \(bu 2
+\fBPROJECT_VERSION_MINOR\fP,
+\fB<PROJECT\-NAME>_VERSION_MINOR\fP
+.IP \(bu 2
+\fBPROJECT_VERSION_PATCH\fP,
+\fB<PROJECT\-NAME>_VERSION_PATCH\fP
+.IP \(bu 2
+\fBPROJECT_VERSION_TWEAK\fP,
+\fB<PROJECT\-NAME>_VERSION_TWEAK\fP
+.UNINDENT
+.sp
+Variables corresponding to unspecified versions are set to the empty string
+(if policy \fBCMP0048\fP is set to \fBNEW\fP).
+.sp
+Optionally you can specify which languages your project supports.
+Example languages are \fBC\fP, \fBCXX\fP (i.e.  C++), \fBFortran\fP, etc.
+By default \fBC\fP and \fBCXX\fP are enabled if no language options are
+given.  Specify language \fBNONE\fP, or use the \fBLANGUAGES\fP keyword
+and list no languages, to skip enabling any languages.
+.sp
+If a variable exists called \fBCMAKE_PROJECT_<PROJECT\-NAME>_INCLUDE\fP,
+the file pointed to by that variable will be included as the last step of the
+project command.
+.sp
+The top\-level \fBCMakeLists.txt\fP file for a project must contain a
+literal, direct call to the \fI\%project()\fP command; loading one
+through the \fBinclude()\fP command is not sufficient.  If no such
+call exists CMake will implicitly add one to the top that enables the
+default languages (\fBC\fP and \fBCXX\fP).
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Call the \fBcmake_minimum_required()\fP command at the beginning
+of the top\-level \fBCMakeLists.txt\fP file even before calling the
+\fBproject()\fP command.  It is important to establish version and
+policy settings before invoking other commands whose behavior they
+may affect.  See also policy \fBCMP0000\fP\&.
+.UNINDENT
+.UNINDENT
+.SS qt_wrap_cpp
+.sp
+Create Qt Wrappers.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+qt_wrap_cpp(resultingLibraryName DestName
+            SourceLists ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Produce moc files for all the .h files listed in the SourceLists.  The
+moc files will be added to the library using the DestName source list.
+.SS qt_wrap_ui
+.sp
+Create Qt user interfaces Wrappers.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+qt_wrap_ui(resultingLibraryName HeadersDestName
+           SourcesDestName SourceLists ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Produce .h and .cxx files for all the .ui files listed in the
+SourceLists.  The .h files will be added to the library using the
+HeadersDestNamesource list.  The .cxx files will be added to the
+library using the SourcesDestNamesource list.
+.SS remove_definitions
+.sp
+Removes \-D define flags added by add_definitions.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+remove_definitions(\-DFOO \-DBAR ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Removes flags (added by add_definitions) from the compiler command
+line for sources in the current directory and below.
+.SS return
+.sp
+Return from a file, directory or function.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+return()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Returns from a file, directory or function.  When this command is
+encountered in an included file (via include() or find_package()), it
+causes processing of the current file to stop and control is returned
+to the including file.  If it is encountered in a file which is not
+included by another file, e.g.  a CMakeLists.txt, control is returned
+to the parent directory if there is one.  If return is called in a
+function, control is returned to the caller of the function.  Note
+that a macro is not a function and does not handle return like a
+function does.
+.SS separate_arguments
+.sp
+Parse space\-separated arguments into a semicolon\-separated list.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+separate_arguments(<var> <UNIX|WINDOWS>_COMMAND "<args>")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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).
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+separate_arguments(VARIABLE)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Convert the value of VARIABLE to a semi\-colon separated list.  All
+spaces are replaced with \(aq;\(aq.  This helps with generating command
+lines.
+.SS set_directory_properties
+.sp
+Set a property of the directory.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_directory_properties(PROPERTIES prop1 value1 prop2 value2)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set a property for the current directory and subdirectories. See
+Directory Properties for the list of properties known
+to CMake.
+.SS set_property
+.sp
+Set a named property in a given scope.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(<GLOBAL                            |
+              DIRECTORY [dir]                   |
+              TARGET    [target1 [target2 ...]] |
+              SOURCE    [src1 [src2 ...]]       |
+              INSTALL   [file1 [file2 ...]]     |
+              TEST      [test1 [test2 ...]]     |
+              CACHE     [entry1 [entry2 ...]]>
+             [APPEND] [APPEND_STRING]
+             PROPERTY <name> [value1 [value2 ...]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set one property on zero or more objects of a scope.  The first
+argument determines the scope in which the property is set.  It must
+be one of the following:
+.INDENT 0.0
+.TP
+.B \fBGLOBAL\fP
+Scope is unique and does not accept a name.
+.TP
+.B \fBDIRECTORY\fP
+Scope defaults to the current directory but another
+directory (already processed by CMake) may be named by full or
+relative path.
+.TP
+.B \fBTARGET\fP
+Scope may name zero or more existing targets.
+.TP
+.B \fBSOURCE\fP
+Scope may name zero or more source files.  Note that source
+file properties are visible only to targets added in the same
+directory (CMakeLists.txt).
+.TP
+.B \fBINSTALL\fP
+Scope may name zero or more installed file paths.
+These are made available to CPack to influence deployment.
+.sp
+Both the property key and value may use generator expressions.
+Specific properties may apply to installed files and/or directories.
+.sp
+Path components have to be separated by forward slashes,
+must be normalized and are case sensitive.
+.sp
+To reference the installation prefix itself with a relative path use ".".
+.sp
+Currently installed file properties are only defined for
+the WIX generator where the given paths are relative
+to the installation prefix.
+.TP
+.B \fBTEST\fP
+Scope may name zero or more existing tests.
+.TP
+.B \fBCACHE\fP
+Scope must name zero or more cache existing entries.
+.UNINDENT
+.sp
+The required \fBPROPERTY\fP option is immediately followed by the name of
+the property to set.  Remaining arguments are used to compose the
+property value in the form of a semicolon\-separated list.  If the
+\fBAPPEND\fP option is given the list is appended to any existing property
+value.  If the \fBAPPEND_STRING\fP option is given the string is append to any
+existing property value as string, i.e.  it results in a longer string
+and not a list of strings.
+.SS set
+.sp
+Set a normal, cache, or environment variable to a given value.
+See the cmake\-language(7) variables
+documentation for the scopes and interaction of normal variables
+and cache entries.
+.sp
+Signatures of this command that specify a \fB<value>...\fP placeholder
+expect zero or more arguments.  Multiple arguments will be joined as
+a ;\-list to form the actual variable
+value to be set.  Zero arguments will cause normal variables to be
+unset.  See the \fBunset()\fP command to unset variables explicitly.
+.SS Set Normal Variable
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(<variable> <value>... [PARENT_SCOPE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set the given \fB<variable>\fP in the current function or directory scope.
+.sp
+If the \fBPARENT_SCOPE\fP 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).
+.SS Set Cache Entry
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(<variable> <value>... CACHE <type> <docstring> [FORCE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set the given cache \fB<variable>\fP (cache entry).  Since cache entries
+are meant to provide user\-settable values this does not overwrite
+existing cache entries by default.  Use the \fBFORCE\fP option to
+overwrite existing entries.
+.sp
+The \fB<type>\fP must be specified as one of:
+.INDENT 0.0
+.TP
+.B \fBBOOL\fP
+Boolean \fBON/OFF\fP value.  \fBcmake\-gui(1)\fP offers a checkbox.
+.TP
+.B \fBFILEPATH\fP
+Path to a file on disk.  \fBcmake\-gui(1)\fP offers a file dialog.
+.TP
+.B \fBPATH\fP
+Path to a directory on disk.  \fBcmake\-gui(1)\fP offers a file dialog.
+.TP
+.B \fBSTRING\fP
+A line of text.  \fBcmake\-gui(1)\fP offers a text field or a
+drop\-down selection if the \fBSTRINGS\fP cache entry
+property is set.
+.TP
+.B \fBINTERNAL\fP
+A line of text.  \fBcmake\-gui(1)\fP does not show internal entries.
+They may be used to store variables persistently across runs.
+Use of this type implies \fBFORCE\fP\&.
+.UNINDENT
+.sp
+The \fB<docstring>\fP must be specified as a line of text providing
+a quick summary of the option for presentation to \fBcmake\-gui(1)\fP
+users.
+.sp
+If the cache entry does not exist prior to the call or the \fBFORCE\fP
+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.
+.sp
+It is possible for the cache entry to exist prior to the call but
+have no type set if it was created on the \fBcmake(1)\fP command
+line by a user through the \fB\-D<var>=<value>\fP option without
+specifying a type.  In this case the \fBset\fP command will add the
+type.  Furthermore, if the \fB<type>\fP is \fBPATH\fP or \fBFILEPATH\fP
+and the \fB<value>\fP provided on the command line is a relative path,
+then the \fBset\fP command will treat the path as relative to the
+current working directory and convert it to an absolute path.
+.SS Set Environment Variable
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(ENV{<variable>} <value>...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set the current process environment \fB<variable>\fP to the given value.
+.SS set_source_files_properties
+.sp
+Source files can have properties that affect how they are built.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_source_files_properties([file1 [file2 [...]]]
+                            PROPERTIES prop1 value1
+                            [prop2 value2 [...]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set properties associated with source files using a key/value paired
+list.  See Source File Properties for the list of properties known
+to CMake.  Source file properties are visible only to targets added
+in the same directory (CMakeLists.txt).
+.SS set_target_properties
+.sp
+Targets can have properties that affect how they are built.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_target_properties(target1 target2 ...
+                      PROPERTIES prop1 value1
+                      prop2 value2 ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set properties on a target.  The syntax for the command is to list all
+the files you want to change, and then provide the values you want to
+set next.  You can use any prop value pair you want and extract it
+later with the GET_TARGET_PROPERTY command.
+.sp
+Properties that affect the name of a target\(aqs output file are as
+follows.  The PREFIX and SUFFIX properties override the default target
+name prefix (such as "lib") and suffix (such as ".so").  IMPORT_PREFIX
+and IMPORT_SUFFIX are the equivalent properties for the import library
+corresponding to a DLL (for SHARED library targets).  OUTPUT_NAME sets
+the real name of a target when it is built and can be used to help
+create two targets of the same name even though CMake requires unique
+logical target names.  There is also a <CONFIG>_OUTPUT_NAME that can
+set the output name on a per\-configuration basis.  <CONFIG>_POSTFIX
+sets a postfix for the real name of the target when it is built under
+the configuration named by <CONFIG> (in upper\-case, such as
+"DEBUG_POSTFIX").  The value of this property is initialized when the
+target is created to the value of the variable CMAKE_<CONFIG>_POSTFIX
+(except for executable targets because earlier CMake versions which
+did not use this variable for executables).
+.sp
+The LINK_FLAGS property can be used to add extra flags to the link
+step of a target.  LINK_FLAGS_<CONFIG> will add to the configuration
+<CONFIG>, for example, DEBUG, RELEASE, MINSIZEREL, RELWITHDEBINFO.
+DEFINE_SYMBOL sets the name of the preprocessor symbol defined when
+compiling sources in a shared library.  If not set here then it is set
+to target_EXPORTS by default (with some substitutions if the target is
+not a valid C identifier).  This is useful for headers to know whether
+they are being included from inside their library or outside to
+properly setup dllexport/dllimport decorations.  The COMPILE_FLAGS
+property sets additional compiler flags used to build sources within
+the target.  It may also be used to pass additional preprocessor
+definitions.
+.sp
+The LINKER_LANGUAGE property is used to change the tool used to link
+an executable or shared library.  The default is set the language to
+match the files in the library.  CXX and C are common values for this
+property.
+.sp
+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.
+.sp
+There are a few properties used to specify RPATH rules.  INSTALL_RPATH
+is a semicolon\-separated list specifying the rpath to use in installed
+targets (for platforms that support it).  INSTALL_RPATH_USE_LINK_PATH
+is a boolean that if set to true will append directories in the linker
+search path and outside the project to the INSTALL_RPATH.
+SKIP_BUILD_RPATH is a boolean specifying whether to skip automatic
+generation of an rpath allowing the target to run from the build tree.
+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.  INSTALL_NAME_DIR is a string specifying the
+directory portion of the "install_name" field of shared libraries on
+Mac OSX to use in the installed targets.  When the target is created
+the values of the variables CMAKE_INSTALL_RPATH,
+CMAKE_INSTALL_RPATH_USE_LINK_PATH, CMAKE_SKIP_BUILD_RPATH,
+CMAKE_BUILD_WITH_INSTALL_RPATH, and CMAKE_INSTALL_NAME_DIR are used to
+initialize these properties.
+.sp
+PROJECT_LABEL can be used to change the name of the target in an IDE
+like visual studio.  VS_KEYWORD can be set to change the visual studio
+keyword, for example Qt integration works better if this is set to
+Qt4VSv1.0.
+.sp
+VS_SCC_PROJECTNAME, VS_SCC_LOCALPATH, VS_SCC_PROVIDER and
+VS_SCC_AUXPATH can be set to add support for source control bindings
+in a Visual Studio project file.
+.sp
+VS_GLOBAL_<variable> can be set to add a Visual Studio
+project\-specific global variable.  Qt integration works better if
+VS_GLOBAL_QtVersion is set to the Qt version FindQt4.cmake found.  For
+example, "4.7.3"
+.sp
+The PRE_INSTALL_SCRIPT and POST_INSTALL_SCRIPT properties are the old
+way to specify CMake scripts to run before and after installing a
+target.  They are used only when the old INSTALL_TARGETS command is
+used to install the target.  Use the INSTALL command instead.
+.sp
+The EXCLUDE_FROM_DEFAULT_BUILD property is used by the visual studio
+generators.  If it is set to 1 the target will not be part of the
+default build when you select "Build Solution".  This can also be set
+on a per\-configuration basis using
+EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>.
+.SS set_tests_properties
+.sp
+Set a property of the tests.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Set a property for the tests.  If the test is not found, CMake
+will report an error.
+\fBGenerator expressions\fP will be
+expanded the same as supported by the test\(aqs \fBadd_test()\fP call.  See
+Test Properties for the list of properties known to CMake.
+.SS site_name
+.sp
+Set the given variable to the name of the computer.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+site_name(variable)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS source_group
+.sp
+Define a grouping for source files in IDE project generation.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.TP
+.B \fBFILES\fP
+Any source file specified explicitly will be placed in group
+\fB<name>\fP\&.  Relative paths are interpreted with respect to the
+current source directory.
+.TP
+.B \fBREGULAR_EXPRESSION\fP
+Any source file whose name matches the regular expression will
+be placed in group \fB<name>\fP\&.
+.UNINDENT
+.sp
+If a source file matches multiple groups, the \fIlast\fP group that
+explicitly lists the file with \fBFILES\fP will be favored, if any.
+If no group explicitly lists the file, the \fIlast\fP group whose
+regular expression matches the file will be favored.
+.sp
+The \fB<name>\fP of the group may contain backslashes to specify subgroups:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+source_group(outer\e\einner ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For backwards compatibility, the short\-hand signature
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+source_group(<name> <regex>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+is equivalent to
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+source_group(<name> REGULAR_EXPRESSION <regex>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS string
+.sp
+String operations.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+string(REGEX MATCH <regular_expression>
+       <output variable> <input> [<input>...])
+string(REGEX MATCHALL <regular_expression>
+       <output variable> <input> [<input>...])
+string(REGEX REPLACE <regular_expression>
+       <replace_expression> <output variable>
+       <input> [<input>...])
+string(REPLACE <match_string>
+       <replace_string> <output variable>
+       <input> [<input>...])
+string(CONCAT <output variable> [<input>...])
+string(<MD5|SHA1|SHA224|SHA256|SHA384|SHA512>
+       <output variable> <input>)
+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>)
+string(ASCII <number> [<number> ...] <output variable>)
+string(CONFIGURE <string1> <output variable>
+       [@ONLY] [ESCAPE_QUOTES])
+string(TOUPPER <string1> <output variable>)
+string(TOLOWER <string1> <output variable>)
+string(LENGTH <string> <output variable>)
+string(SUBSTRING <string> <begin> <length> <output variable>)
+string(STRIP <string> <output variable>)
+string(RANDOM [LENGTH <length>] [ALPHABET <alphabet>]
+       [RANDOM_SEED <seed>] <output variable>)
+string(FIND <string> <substring> <output variable> [REVERSE])
+string(TIMESTAMP <output variable> [<format string>] [UTC])
+string(MAKE_C_IDENTIFIER <input string> <output variable>)
+string(GENEX_STRIP <input string> <output variable>)
+string(UUID <output variable> NAMESPACE <namespace> NAME <name>
+       TYPE <MD5|SHA1> [UPPER])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+REGEX MATCH will match the regular expression once and store the match
+in the output variable.
+.sp
+REGEX MATCHALL will match the regular expression as many times as
+possible and store the matches in the output variable as a list.
+.sp
+REGEX REPLACE will match the regular expression as many times as
+possible and substitute the replacement expression for the match in
+the output.  The replace expression may refer to paren\-delimited
+subexpressions of the match using 1, 2, ..., 9.  Note that two
+backslashes (\e1) are required in CMake code to get a backslash
+through argument parsing.
+.sp
+REPLACE will replace all occurrences of match_string in the input with
+replace_string and store the result in the output.
+.sp
+CONCAT will concatenate all the input arguments together and store
+the result in the named output variable.
+.sp
+MD5, SHA1, SHA224, SHA256, SHA384, and SHA512 will compute a
+cryptographic hash of the input string.
+.sp
+COMPARE EQUAL/NOTEQUAL/LESS/GREATER will compare the strings and store
+true or false in the output variable.
+.sp
+ASCII will convert all numbers into corresponding ASCII characters.
+.sp
+CONFIGURE will transform a string like CONFIGURE_FILE transforms a
+file.
+.sp
+TOUPPER/TOLOWER will convert string to upper/lower characters.
+.sp
+LENGTH will return a given string\(aqs length.
+.sp
+SUBSTRING will return 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.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake 3.1 and below reported an error if length pointed past
+the end of string.
+.UNINDENT
+.UNINDENT
+.sp
+STRIP will return a substring of a given string with leading and
+trailing spaces removed.
+.sp
+RANDOM will 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.
+.sp
+FIND will 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.
+.sp
+The following characters have special meaning in regular expressions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+^         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).
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fB*\fP, \fB+\fP and \fB?\fP 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".
+.sp
+TIMESTAMP will write a string representation of the current date
+and/or time to the output variable.
+.sp
+Should the command be unable to obtain a timestamp the output variable
+will be set to the empty string "".
+.sp
+The optional UTC flag requests the current date/time representation to
+be in Coordinated Universal Time (UTC) rather than local time.
+.sp
+The optional <format string> may contain the following format
+specifiers:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+%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        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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Unknown format specifiers will be ignored and copied to the output
+as\-is.
+.sp
+If no explicit <format string> is given it will default to:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+%Y\-%m\-%dT%H:%M:%S    for local time.
+%Y\-%m\-%dT%H:%M:%SZ   for UTC.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+MAKE_C_IDENTIFIER will write a string which can be used as an
+identifier in C.
+.sp
+\fBGENEX_STRIP\fP will strip any
+\fBgenerator expressions\fP from the
+\fBinput string\fP and store the result in the \fBoutput variable\fP\&.
+.sp
+UUID creates 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 \fBMD5\fP (Version 3 UUID) or
+\fBSHA1\fP (Version 5 UUID).
+A UUID has the format \fBxxxxxxxx\-xxxx\-xxxx\-xxxx\-xxxxxxxxxxxx\fP
+where each \fIx\fP represents a lower case hexadecimal character.
+Where required an uppercase representation can be requested
+with the optional \fBUPPER\fP flag.
+.SS target_compile_definitions
+.sp
+Add compile definitions to a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_compile_definitions(<target>
+  <INTERFACE|PUBLIC|PRIVATE> [items1...]
+  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify compile definitions to use when compiling a given \fB<target>\fP\&.  The
+named \fB<target>\fP must have been created by a command such as
+\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
+Imported Target\&.
+.sp
+The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
+specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
+items will populate the \fBCOMPILE_DEFINITIONS\fP property of
+\fB<target>\fP\&. \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
+\fBINTERFACE_COMPILE_DEFINITIONS\fP property of \fB<target>\fP\&.  The
+following arguments specify compile definitions.  Repeated calls for the
+same \fB<target>\fP append items in the order called.
+.sp
+Arguments to \fBtarget_compile_definitions\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS target_compile_features
+.sp
+Add expected compiler features to a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_compile_features(<target> <PRIVATE|PUBLIC|INTERFACE> <feature> [...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify compiler features required when compiling a given target.  If the
+feature is not listed in the \fBCMAKE_C_COMPILE_FEATURES\fP variable
+or \fBCMAKE_CXX_COMPILE_FEATURES\fP variable,
+then an error will be reported by CMake.  If the use of the feature requires
+an additional compiler flag, such as \fB\-std=gnu++11\fP, the flag will be added
+automatically.
+.sp
+The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
+specify the scope of the features.  \fBPRIVATE\fP and \fBPUBLIC\fP items will
+populate the \fBCOMPILE_FEATURES\fP property of \fB<target>\fP\&.
+\fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
+\fBINTERFACE_COMPILE_FEATURES\fP property of \fB<target>\fP\&.  Repeated
+calls for the same \fB<target>\fP append items.
+.sp
+The named \fB<target>\fP must have been created by a command such as
+\fBadd_executable()\fP or \fBadd_library()\fP and must not be
+an \fBIMPORTED\fP target.
+.sp
+Arguments to \fBtarget_compile_features\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.
+See the \fBcmake\-generator\-expressions(7)\fP manual for available
+expressions.  See the \fBcmake\-compile\-features(7)\fP manual for
+information on compile features and a list of supported compilers.
+.SS target_compile_options
+.sp
+Add compile options to a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_compile_options(<target> [BEFORE]
+  <INTERFACE|PUBLIC|PRIVATE> [items1...]
+  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify compile options to use when compiling a given target.  The
+named \fB<target>\fP must have been created by a command such as
+\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
+IMPORTED Target\&.  If \fBBEFORE\fP is specified,
+the content will be prepended to the property instead of being appended.
+.sp
+This command can be used to add any options, but
+alternative commands exist to add preprocessor definitions
+(\fBtarget_compile_definitions()\fP and \fBadd_definitions()\fP) or
+include directories (\fBtarget_include_directories()\fP and
+\fBinclude_directories()\fP).  See documentation of the
+\fBdirectory\fP and
+\fBtarget\fP \fBCOMPILE_OPTIONS\fP properties.
+.sp
+The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
+specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
+items will populate the \fBCOMPILE_OPTIONS\fP property of
+\fB<target>\fP\&.  \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
+\fBINTERFACE_COMPILE_OPTIONS\fP property of \fB<target>\fP\&.  The
+following arguments specify compile options.  Repeated calls for the same
+\fB<target>\fP append items in the order called.
+.sp
+Arguments to \fBtarget_compile_options\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&. See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS target_include_directories
+.sp
+Add include directories to a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_include_directories(<target> [SYSTEM] [BEFORE]
+  <INTERFACE|PUBLIC|PRIVATE> [items1...]
+  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify include directories to use when compiling a given target.
+The named \fB<target>\fP must have been created by a command such
+as \fBadd_executable()\fP or \fBadd_library()\fP and must not be an
+\fBIMPORTED\fP target.
+.sp
+If \fBBEFORE\fP is specified, the content will be prepended to the property
+instead of being appended.
+.sp
+The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to specify
+the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP items will
+populate the \fBINCLUDE_DIRECTORIES\fP property of \fB<target>\fP\&.
+\fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP
+property of \fB<target>\fP\&.  The following arguments specify include
+directories.
+.sp
+Specified include directories may be absolute paths or relative paths.
+Repeated calls for the same <target> append items in the order called.  If
+\fBSYSTEM\fP is specified, the compiler will be told the
+directories are meant as system include directories on some platforms
+(signalling this setting might achieve effects such as the compiler
+skipping warnings, or these fixed\-install system files not being
+considered in dependency calculations \- see compiler docs).  If \fBSYSTEM\fP
+is used together with \fBPUBLIC\fP or \fBINTERFACE\fP, the
+\fBINTERFACE_SYSTEM_INCLUDE_DIRECTORIES\fP target property will be
+populated with the specified directories.
+.sp
+Arguments to \fBtarget_include_directories\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.sp
+Include directories usage requirements commonly differ between the build\-tree
+and the install\-tree.  The \fBBUILD_INTERFACE\fP and \fBINSTALL_INTERFACE\fP
+generator expressions can be used to describe separate usage requirements
+based on the usage location.  Relative paths are allowed within the
+\fBINSTALL_INTERFACE\fP expression and are interpreted relative to the
+installation prefix.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_include_directories(mylib PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/mylib>
+  $<INSTALL_INTERFACE:include/mylib>  # <prefix>/include/mylib
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the \fBINSTALL_INTERFACE\fP of the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of a target with absolute paths to the include
+directories of dependencies.  That would hard\-code into installed packages
+the include directory paths for dependencies
+\fBas found on the machine the package was made on\fP\&.
+.sp
+The \fBINSTALL_INTERFACE\fP of the \fBINTERFACE_INCLUDE_DIRECTORIES\fP is only
+suitable for specifying the required include directories for headers
+provided with the target itself, not those provided by the transitive
+dependencies listed in its \fBINTERFACE_LINK_LIBRARIES\fP target
+property.  Those dependencies should themselves be targets that specify
+their own header locations in \fBINTERFACE_INCLUDE_DIRECTORIES\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS target_link_libraries
+.sp
+Specify libraries or flags to use when linking a given target and/or
+its dependents.  Usage requirements
+from linked library targets will be propagated.  Usage requirements
+of a target\(aqs dependencies affect compilation of its own sources.
+.SS Overview
+.sp
+This command has several signatures as detailed in subsections below.
+All of them have the general form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(<target> ... <item>... ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The named \fB<target>\fP must have been created in the current directory by
+a command such as \fBadd_executable()\fP or \fBadd_library()\fP\&.
+Repeated calls for the same \fB<target>\fP append items in the order called.
+Each \fB<item>\fP may be:
+.INDENT 0.0
+.IP \(bu 2
+\fBA library target name\fP: 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 \fB<target>\fP if
+the library file changes.
+.sp
+The named target must be created by \fBadd_library()\fP within
+the project or as an IMPORTED library\&.
+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 \fB<target>\fP links.
+.sp
+If an imported library has the \fBIMPORTED_NO_SONAME\fP
+target property set, CMake may ask the linker to search for
+the library instead of using the full path
+(e.g. \fB/usr/lib/libfoo.so\fP becomes \fB\-lfoo\fP).
+.IP \(bu 2
+\fBA full path to a library file\fP: The generated link line will
+normally preserve the full path to the file. The buildsystem will
+have a dependency to re\-link \fB<target>\fP if the library file changes.
+.sp
+There are some cases where CMake may ask the linker to search for
+the library (e.g. \fB/usr/lib/libfoo.so\fP becomes \fB\-lfoo\fP), such
+as when a shared library is detected to have no \fBSONAME\fP field.
+See policy \fBCMP0060\fP for discussion of another case.
+.sp
+If the library file is in a Mac OSX framework, the \fBHeaders\fP directory
+of the framework will also be processed as a
+usage requirement\&.  This has the same
+effect as passing the framework directory as an include directory.
+.IP \(bu 2
+\fBA plain library name\fP: The generated link line will ask the linker
+to search for the library (e.g. \fBfoo\fP becomes \fB\-lfoo\fP or \fBfoo.lib\fP).
+.IP \(bu 2
+\fBA link flag\fP: Item names starting with \fB\-\fP, but not \fB\-l\fP or
+\fB\-framework\fP, 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.
+.IP \(bu 2
+A \fBdebug\fP, \fBoptimized\fP, or \fBgeneral\fP keyword immediately followed
+by another \fB<item>\fP\&.  The item following such a keyword will be used
+only for the corresponding build configuration.  The \fBdebug\fP keyword
+corresponds to the \fBDebug\fP configuration (or to configurations named
+in the \fBDEBUG_CONFIGURATIONS\fP global property if it is set).
+The \fBoptimized\fP keyword corresponds to all other configurations.  The
+\fBgeneral\fP keyword corresponds to all configurations, and is purely
+optional.  Higher granularity may be achieved for per\-configuration
+rules by creating and linking to
+IMPORTED library targets\&.
+.UNINDENT
+.sp
+Items containing \fB::\fP, such as \fBFoo::Bar\fP, are assumed to be
+IMPORTED or ALIAS library
+target names and will cause an error if no such target exists.
+See policy \fBCMP0028\fP\&.
+.sp
+Arguments to \fBtarget_link_libraries\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  Note however, that generator expressions
+will not be used in OLD handling of \fBCMP0003\fP or \fBCMP0004\fP\&.
+See the \fBcmake\-generator\-expressions(7)\fP manual for available
+expressions.  See the \fBcmake\-buildsystem(7)\fP manual for more on
+defining buildsystem properties.
+.SS Libraries for a Target and/or its Dependents
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(<target>
+                      <PRIVATE|PUBLIC|INTERFACE> <item>...
+                     [<PRIVATE|PUBLIC|INTERFACE> <item>...]...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBPUBLIC\fP, \fBPRIVATE\fP and \fBINTERFACE\fP keywords can be used to
+specify both the link dependencies and the link interface in one command.
+Libraries and targets following \fBPUBLIC\fP are linked to, and are made
+part of the link interface.  Libraries and targets following \fBPRIVATE\fP
+are linked to, but are not made part of the link interface.  Libraries
+following \fBINTERFACE\fP are appended to the link interface and are not
+used for linking \fB<target>\fP\&.
+.SS Libraries for both a Target and its Dependents
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(<target> <item>...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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
+\fBINTERFACE_LINK_LIBRARIES\fP target property and may be overridden
+by setting the property directly.  When \fBCMP0022\fP is not set to
+\fBNEW\fP, transitive linking is built in but may be overridden by the
+\fBLINK_INTERFACE_LIBRARIES\fP property.  Calls to other signatures
+of this command may set the property making any libraries linked
+exclusively by this signature private.
+.SS Libraries for a Target and/or its Dependents (Legacy)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(<target>
+                      <LINK_PRIVATE|LINK_PUBLIC> <lib>...
+                     [<LINK_PRIVATE|LINK_PUBLIC> <lib>...]...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBLINK_PUBLIC\fP and \fBLINK_PRIVATE\fP modes can be used to specify both
+the link dependencies and the link interface in one command.
+.sp
+This signature is for compatibility only.  Prefer the \fBPUBLIC\fP or
+\fBPRIVATE\fP keywords instead.
+.sp
+Libraries and targets following \fBLINK_PUBLIC\fP are linked to, and are
+made part of the \fBINTERFACE_LINK_LIBRARIES\fP\&.  If policy
+\fBCMP0022\fP is not \fBNEW\fP, they are also made part of the
+\fBLINK_INTERFACE_LIBRARIES\fP\&.  Libraries and targets following
+\fBLINK_PRIVATE\fP are linked to, but are not made part of the
+\fBINTERFACE_LINK_LIBRARIES\fP (or \fBLINK_INTERFACE_LIBRARIES\fP).
+.SS Libraries for Dependents Only (Legacy)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(<target> LINK_INTERFACE_LIBRARIES <item>...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBLINK_INTERFACE_LIBRARIES\fP mode appends the libraries to the
+\fBINTERFACE_LINK_LIBRARIES\fP target property instead of using them
+for linking.  If policy \fBCMP0022\fP is not \fBNEW\fP, then this mode
+also appends libraries to the \fBLINK_INTERFACE_LIBRARIES\fP and its
+per\-configuration equivalent.
+.sp
+This signature is for compatibility only.  Prefer the \fBINTERFACE\fP mode
+instead.
+.sp
+Libraries specified as \fBdebug\fP are wrapped in a generator expression to
+correspond to debug builds.  If policy \fBCMP0022\fP is
+not \fBNEW\fP, the libraries are also appended to the
+\fBLINK_INTERFACE_LIBRARIES_DEBUG\fP
+property (or to the properties corresponding to configurations listed in
+the \fBDEBUG_CONFIGURATIONS\fP global property if it is set).
+Libraries specified as \fBoptimized\fP are appended to the
+\fBINTERFACE_LINK_LIBRARIES\fP property.  If policy \fBCMP0022\fP
+is not \fBNEW\fP, they are also appended to the
+\fBLINK_INTERFACE_LIBRARIES\fP property.  Libraries specified as
+\fBgeneral\fP (or without any keyword) are treated as if specified for both
+\fBdebug\fP and \fBoptimized\fP\&.
+.SS Cyclic Dependencies of Static Libraries
+.sp
+The library dependency graph is normally acyclic (a DAG), but in the case
+of mutually\-dependent \fBSTATIC\fP 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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+links \fBmain\fP to \fBA B A B\fP\&.  While one repetition is usually
+sufficient, pathological object file and symbol arrangements can require
+more.  One may handle such cases by using the
+\fBLINK_INTERFACE_MULTIPLICITY\fP target property or by manually
+repeating the component in the last \fBtarget_link_libraries\fP call.
+However, if two archives are really so interdependent they should probably
+be combined into a single archive, perhaps by using Object Libraries\&.
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the
+\fBINTERFACE_LINK_LIBRARIES\fP of a target with absolute paths to dependencies.
+That would hard\-code into installed packages the library file paths
+for dependencies \fBas found on the machine the package was made on\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS target_sources
+.sp
+Add sources to a target.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_sources(<target>
+  <INTERFACE|PUBLIC|PRIVATE> [items1...]
+  [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify sources to use when compiling a given target.  The
+named \fB<target>\fP must have been created by a command such as
+\fBadd_executable()\fP or \fBadd_library()\fP and must not be an
+IMPORTED Target\&.
+.sp
+The \fBINTERFACE\fP, \fBPUBLIC\fP and \fBPRIVATE\fP keywords are required to
+specify the scope of the following arguments.  \fBPRIVATE\fP and \fBPUBLIC\fP
+items will populate the \fBSOURCES\fP property of
+\fB<target>\fP\&.  \fBPUBLIC\fP and \fBINTERFACE\fP items will populate the
+\fBINTERFACE_SOURCES\fP property of \fB<target>\fP\&.  The
+following arguments specify sources.  Repeated calls for the same
+\fB<target>\fP append items in the order called.
+.sp
+Arguments to \fBtarget_sources\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&. See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS try_compile
+.sp
+Try building some code.
+.SS Try Compiling Whole Projects
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+try_compile(RESULT_VAR <bindir> <srcdir>
+            <projectName> [<targetName>] [CMAKE_FLAGS <flags>...]
+            [OUTPUT_VARIABLE <var>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Try building a project.  The success or failure of the \fBtry_compile\fP,
+i.e. \fBTRUE\fP or \fBFALSE\fP respectively, is returned in \fBRESULT_VAR\fP\&.
+.sp
+In this form, \fB<srcdir>\fP should contain a complete CMake project with a
+\fBCMakeLists.txt\fP file and all sources.  The \fB<bindir>\fP and \fB<srcdir>\fP
+will not be deleted after this command is run.  Specify \fB<targetName>\fP to
+build a specific target instead of the \fBall\fP or \fBALL_BUILD\fP target.  See
+below for the meaning of other options.
+.SS Try Compiling Source Files
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Try building an executable from one or more source files.  The success or
+failure of the \fBtry_compile\fP, i.e. \fBTRUE\fP or \fBFALSE\fP respectively, is
+returned in \fBRESULT_VAR\fP\&.
+.sp
+In this form the user need only supply one or more source files that include a
+definition for \fBmain\fP\&.  CMake will create a \fBCMakeLists.txt\fP file to build
+the source(s) as an executable that looks something like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_FLAGS <flags>...\fP
+Specify flags of the form \fB\-DVAR:TYPE=VALUE\fP to be passed to
+the \fBcmake\fP command\-line used to drive the test build.
+The above example shows how values for variables
+\fBINCLUDE_DIRECTORIES\fP, \fBLINK_DIRECTORIES\fP, and \fBLINK_LIBRARIES\fP
+are used.
+.TP
+.B \fBCOMPILE_DEFINITIONS <defs>...\fP
+Specify \fB\-Ddefinition\fP arguments to pass to \fBadd_definitions\fP
+in the generated test project.
+.TP
+.B \fBCOPY_FILE <fileName>\fP
+Copy the linked executable to the given \fB<fileName>\fP\&.
+.TP
+.B \fBCOPY_FILE_ERROR <var>\fP
+Use after \fBCOPY_FILE\fP to capture into variable \fB<var>\fP any error
+message encountered while trying to copy the file.
+.TP
+.B \fBLINK_LIBRARIES <libs>...\fP
+Specify libraries to be linked in the generated project.
+The list of libraries may refer to system libraries and to
+Imported Targets from the calling project.
+.sp
+If this option is specified, any \fB\-DLINK_LIBRARIES=...\fP value
+given to the \fBCMAKE_FLAGS\fP option will be ignored.
+.TP
+.B \fBOUTPUT_VARIABLE <var>\fP
+Store the output from the build process the given variable.
+.UNINDENT
+.sp
+In this version all files in \fB<bindir>/CMakeFiles/CMakeTmp\fP will be
+cleaned automatically.  For debugging, \fB\-\-debug\-trycompile\fP can be
+passed to \fBcmake\fP to avoid this clean.  However, multiple sequential
+\fBtry_compile\fP operations reuse this single output directory.  If you use
+\fB\-\-debug\-trycompile\fP, you can only debug one \fBtry_compile\fP call at a time.
+The recommended procedure is to protect all \fBtry_compile\fP calls in your
+project by \fBif(NOT DEFINED RESULT_VAR)\fP 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
+\fB\-\-debug\-trycompile\fP\&.
+.SS Other Behavior Settings
+.sp
+Set the \fBCMAKE_TRY_COMPILE_CONFIGURATION\fP variable to choose
+a build configuration.
+.SS try_run
+.sp
+Try compiling and then running some code.
+.SS Try Compiling and Running Source Files
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR
+        bindir srcfile [CMAKE_FLAGS <flags>...]
+        [COMPILE_DEFINITIONS <defs>...]
+        [LINK_LIBRARIES <libs>...]
+        [COMPILE_OUTPUT_VARIABLE <var>]
+        [RUN_OUTPUT_VARIABLE <var>]
+        [OUTPUT_VARIABLE <var>]
+        [ARGS <args>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Try compiling a \fB<srcfile>\fP\&.  Returns \fBTRUE\fP or \fBFALSE\fP for success
+or failure in \fBCOMPILE_RESULT_VAR\fP\&.  If the compile succeeded, runs the
+executable and returns its exit code in \fBRUN_RESULT_VAR\fP\&.  If the
+executable was built, but failed to run, then \fBRUN_RESULT_VAR\fP will be
+set to \fBFAILED_TO_RUN\fP\&.  See the \fBtry_compile()\fP command for
+information on how the test project is constructed to build the source file.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_FLAGS <flags>...\fP
+Specify flags of the form \fB\-DVAR:TYPE=VALUE\fP to be passed to
+the \fBcmake\fP command\-line used to drive the test build.
+The example in \fBtry_compile()\fP shows how values for variables
+\fBINCLUDE_DIRECTORIES\fP, \fBLINK_DIRECTORIES\fP, and \fBLINK_LIBRARIES\fP
+are used.
+.TP
+.B \fBCOMPILE_DEFINITIONS <defs>...\fP
+Specify \fB\-Ddefinition\fP arguments to pass to \fBadd_definitions\fP
+in the generated test project.
+.TP
+.B \fBCOMPILE_OUTPUT_VARIABLE <var>\fP
+Report the compile step build output in a given variable.
+.TP
+.B \fBLINK_LIBRARIES <libs>...\fP
+Specify libraries to be linked in the generated project.
+The list of libraries may refer to system libraries and to
+Imported Targets from the calling project.
+.sp
+If this option is specified, any \fB\-DLINK_LIBRARIES=...\fP value
+given to the \fBCMAKE_FLAGS\fP option will be ignored.
+.TP
+.B \fBOUTPUT_VARIABLE <var>\fP
+Report the compile build output and the output from running the executable
+in the given variable.  This option exists for legacy reasons.  Prefer
+\fBCOMPILE_OUTPUT_VARIABLE\fP and \fBRUN_OUTPUT_VARIABLE\fP instead.
+.TP
+.B \fBRUN_OUTPUT_VARIABLE <var>\fP
+Report the output from running the executable in a given variable.
+.UNINDENT
+.SS Other Behavior Settings
+.sp
+Set the \fBCMAKE_TRY_COMPILE_CONFIGURATION\fP variable to choose
+a build configuration.
+.SS Behavior when Cross Compiling
+.sp
+When cross compiling, the executable compiled in the first step
+usually cannot be run on the build host.  The \fBtry_run\fP command checks
+the \fBCMAKE_CROSSCOMPILING\fP variable to detect whether CMake is in
+cross\-compiling mode.  If that is the case, it will still try to compile
+the executable, but it will not try to run the executable unless the
+\fBCMAKE_CROSSCOMPILING_EMULATOR\fP variable is set.  Instead it
+will create cache variables which must be filled by the user or by
+presetting them in some CMake script file to the values the executable
+would have produced if it had been run on its actual target platform.
+These cache entries are:
+.INDENT 0.0
+.TP
+.B \fB<RUN_RESULT_VAR>\fP
+Exit code if the executable were to be run on the target platform.
+.TP
+.B \fB<RUN_RESULT_VAR>__TRYRUN_OUTPUT\fP
+Output from stdout and stderr if the executable were to be run on
+the target platform.  This is created only if the
+\fBRUN_OUTPUT_VARIABLE\fP or \fBOUTPUT_VARIABLE\fP option was used.
+.UNINDENT
+.sp
+In order to make cross compiling your project easier, use \fBtry_run\fP
+only if really required.  If you use \fBtry_run\fP, use the
+\fBRUN_OUTPUT_VARIABLE\fP or \fBOUTPUT_VARIABLE\fP options only if really
+required.  Using them will require that when cross\-compiling, the cache
+variables will have to be set manually to the output of the executable.
+You can also "guard" the calls to \fBtry_run\fP with an \fBif()\fP
+block checking the \fBCMAKE_CROSSCOMPILING\fP variable and
+provide an easy\-to\-preset alternative for this case.
+.SS unset
+.sp
+Unset a variable, cache variable, or environment variable.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+unset(<variable> [CACHE | PARENT_SCOPE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Removes the specified variable causing it to become undefined.  If
+CACHE is present then the variable is removed from the cache instead
+of the current scope.
+.sp
+If PARENT_SCOPE is present then the variable is removed from the scope
+above the current scope.  See the same option in the set() command for
+further details.
+.sp
+<variable> can be an environment variable such as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+unset(ENV{LD_LIBRARY_PATH})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+in which case the variable will be removed from the current
+environment.
+.SS variable_watch
+.sp
+Watch the CMake variable for change.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+variable_watch(<variable name> [<command to execute>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the specified variable changes, the message will be printed about
+the variable being changed.  If the command is specified, the command
+will be executed.  The command will receive the following arguments:
+COMMAND(<variable> <access> <value> <current list file> <stack>)
+.SS while
+.sp
+Evaluate a group of commands while a condition is true
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+while(condition)
+  COMMAND1(ARGS ...)
+  COMMAND2(ARGS ...)
+  ...
+endwhile(condition)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+All commands between while and the matching endwhile are recorded
+without being invoked.  Once the endwhile is evaluated, the recorded
+list of commands is invoked as long as the condition is true.  The
+condition is evaluated using the same logic as the if command.
+.SH DEPRECATED COMMANDS
+.sp
+These commands are available only for compatibility with older
+versions of CMake.  Do not use them in new code.
+.SS build_name
+.sp
+Disallowed.  See CMake Policy \fBCMP0036\fP\&.
+.sp
+Use ${CMAKE_SYSTEM} and ${CMAKE_CXX_COMPILER} instead.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+build_name(variable)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sets the specified variable to a string representing the platform and
+compiler settings.  These values are now available through the
+CMAKE_SYSTEM and CMAKE_CXX_COMPILER variables.
+.SS exec_program
+.sp
+Deprecated.  Use the execute_process() command instead.
+.sp
+Run an executable program during the processing of the CMakeList.txt
+file.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+exec_program(Executable [directory in which to run]
+             [ARGS <arguments to executable>]
+             [OUTPUT_VARIABLE <var>]
+             [RETURN_VALUE <var>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The executable is run in the optionally specified directory.  The
+executable can include arguments if it is double quoted, but it is
+better to use the optional ARGS argument to specify arguments to the
+program.  This is because cmake will then be able to escape spaces in
+the executable path.  An optional argument OUTPUT_VARIABLE specifies a
+variable in which to store the output.  To capture the return value of
+the execution, provide a RETURN_VALUE.  If OUTPUT_VARIABLE is
+specified, then no output will go to the stdout/stderr of the console
+running cmake.
+.SS export_library_dependencies
+.sp
+Disallowed.  See CMake Policy \fBCMP0033\fP\&.
+.sp
+Use \fBinstall(EXPORT)\fP or \fBexport()\fP command.
+.sp
+This command generates an old\-style library dependencies file.
+Projects requiring CMake 2.6 or later should not use the command.  Use
+instead the install(EXPORT) command to help export targets from an
+installation tree and the export() command to export targets from a
+build tree.
+.sp
+The old\-style library dependencies file does not take into account
+per\-configuration names of libraries or the LINK_INTERFACE_LIBRARIES
+target property.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+export_library_dependencies(<file> [APPEND])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create a file named <file> that can be included into a CMake listfile
+with the INCLUDE command.  The file will contain a number of SET
+commands that will set all the variables needed for library dependency
+information.  This should be the last command in the top level
+CMakeLists.txt file of the project.  If the APPEND option is
+specified, the SET commands will be appended to the given file instead
+of replacing it.
+.SS install_files
+.sp
+Deprecated.  Use the install(FILES ) command instead.
+.sp
+This command has been superceded by the install command.  It is
+provided for compatibility with older CMake code.  The FILES form is
+directly replaced by the FILES form of the install command.  The
+regexp form can be expressed more clearly using the GLOB form of the
+file command.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_files(<dir> extension file file ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create rules to install the listed files with the given extension into
+the given directory.  Only files existing in the current source tree
+or its corresponding location in the binary tree may be listed.  If a
+file specified already has an extension, that extension will be
+removed first.  This is useful for providing lists of source files
+such as foo.cxx when you want the corresponding foo.h to be installed.
+A typical extension is \(aq.h\(aq.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_files(<dir> regexp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Any files in the current source directory that match the regular
+expression will be installed.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_files(<dir> FILES file file ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Any files listed after the FILES keyword will be installed explicitly
+from the names given.  Full paths are allowed in this form.
+.sp
+The directory <dir> is relative to the installation prefix, which is
+stored in the variable CMAKE_INSTALL_PREFIX.
+.SS install_programs
+.sp
+Deprecated. Use the install(PROGRAMS ) command instead.
+.sp
+This command has been superceded by the install command.  It is
+provided for compatibility with older CMake code.  The FILES form is
+directly replaced by the PROGRAMS form of the INSTALL command.  The
+regexp form can be expressed more clearly using the GLOB form of the
+FILE command.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_programs(<dir> file1 file2 [file3 ...])
+install_programs(<dir> FILES file1 [file2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create rules to install the listed programs into the given directory.
+Use the FILES argument to guarantee that the file list version of the
+command will be used even when there is only one argument.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_programs(<dir> regexp)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In the second form any program in the current source directory that
+matches the regular expression will be installed.
+.sp
+This command is intended to install programs that are not built by
+cmake, such as shell scripts.  See the TARGETS form of the INSTALL
+command to create installation rules for targets built by cmake.
+.sp
+The directory <dir> is relative to the installation prefix, which is
+stored in the variable CMAKE_INSTALL_PREFIX.
+.SS install_targets
+.sp
+Deprecated. Use the install(TARGETS )  command instead.
+.sp
+This command has been superceded by the install command.  It is
+provided for compatibility with older CMake code.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_targets(<dir> [RUNTIME_DIRECTORY dir] target target)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create rules to install the listed targets into the given directory.
+The directory <dir> is relative to the installation prefix, which is
+stored in the variable CMAKE_INSTALL_PREFIX.  If RUNTIME_DIRECTORY is
+specified, then on systems with special runtime files (Windows DLL),
+the files will be copied to that directory.
+.SS make_directory
+.sp
+Deprecated. Use the file(MAKE_DIRECTORY ) command instead.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+make_directory(directory)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Creates the specified directory.  Full paths should be given.  Any
+parent directories that do not exist will also be created.  Use with
+care.
+.SS output_required_files
+.sp
+Disallowed.  See CMake Policy \fBCMP0032\fP\&.
+.sp
+Approximate C preprocessor dependency scanning.
+.sp
+This command exists only because ancient CMake versions provided it.
+CMake handles preprocessor dependency scanning automatically using a
+more advanced scanner.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+output_required_files(srcfile outputfile)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Outputs a list of all the source files that are required by the
+specified srcfile.  This list is written into outputfile.  This is
+similar to writing out the dependencies for srcfile except that it
+jumps from .h files into .cxx, .c and .cpp files if possible.
+.SS remove
+.sp
+Deprecated. Use the list(REMOVE_ITEM ) command instead.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+remove(VAR VALUE VALUE ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Removes VALUE from the variable VAR.  This is typically used to remove
+entries from a vector (e.g.  semicolon separated list).  VALUE is
+expanded.
+.SS subdir_depends
+.sp
+Disallowed.  See CMake Policy \fBCMP0029\fP\&.
+.sp
+Does nothing.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+subdir_depends(subdir dep1 dep2 ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Does not do anything.  This command used to help projects order
+parallel builds correctly.  This functionality is now automatic.
+.SS subdirs
+.sp
+Deprecated. Use the add_subdirectory() command instead.
+.sp
+Add a list of subdirectories to the build.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+subdirs(dir1 dir2 ...[EXCLUDE_FROM_ALL exclude_dir1 exclude_dir2 ...]
+        [PREORDER] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add a list of subdirectories to the build.  The add_subdirectory
+command should be used instead of subdirs although subdirs will still
+work.  This will cause any CMakeLists.txt files in the sub directories
+to be processed by CMake.  Any directories after the PREORDER flag are
+traversed first by makefile builds, the PREORDER flag has no effect on
+IDE projects.  Any directories after the EXCLUDE_FROM_ALL marker will
+not be included in the top level makefile or project file.  This is
+useful for having CMake create makefiles or projects for a set of
+examples in a project.  You would want CMake to generate makefiles or
+project files for all the examples at the same time, but you would not
+want them to show up in the top level project or be built each time
+make is run from the top.
+.SS use_mangled_mesa
+.sp
+Disallowed.  See CMake Policy \fBCMP0030\fP\&.
+.sp
+Copy mesa headers for use in combination with system GL.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+use_mangled_mesa(PATH_TO_MESA OUTPUT_DIRECTORY)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The path to mesa includes, should contain gl_mangle.h.  The mesa
+headers are copied to the specified output directory.  This allows
+mangled mesa headers to override other GL headers by being added to
+the include directory path earlier.
+.SS utility_source
+.sp
+Disallowed.  See CMake Policy \fBCMP0034\fP\&.
+.sp
+Specify the source tree of a third\-party utility.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+utility_source(cache_entry executable_name
+               path_to_source [file1 file2 ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+When a third\-party utility\(aqs source is included in the distribution,
+this command specifies its location and name.  The cache entry will
+not be set unless the path_to_source and all listed files exist.  It
+is assumed that the source tree of the utility will have been built
+before it is needed.
+.sp
+When cross compiling CMake will print a warning if a utility_source()
+command is executed, because in many cases it is used to build an
+executable which is executed later on.  This doesn\(aqt work when cross
+compiling, since the executable can run only on their target platform.
+So in this case the cache entry has to be adjusted manually so it
+points to an executable which is runnable on the build host.
+.SS variable_requires
+.sp
+Disallowed.  See CMake Policy \fBCMP0035\fP\&.
+.sp
+Use the if() command instead.
+.sp
+Assert satisfaction of an option\(aqs required variables.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+variable_requires(TEST_VARIABLE RESULT_VARIABLE
+                  REQUIRED_VARIABLE1
+                  REQUIRED_VARIABLE2 ...)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The first argument (TEST_VARIABLE) is the name of the variable to be
+tested, if that variable is false nothing else is done.  If
+TEST_VARIABLE is true, then the next argument (RESULT_VARIABLE) is a
+variable that is set to true if all the required variables are set.
+The rest of the arguments are variables that must be true or not set
+to NOTFOUND to avoid an error.  If any are not true, an error is
+reported.
+.SS write_file
+.sp
+Deprecated. Use the file(WRITE ) command instead.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_file(filename "message to write"... [APPEND])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The first argument is the file name, the rest of the arguments are
+messages to write.  If the argument APPEND is specified, then the
+message will be appended.
+.sp
+NOTE 1: file(WRITE ...  and file(APPEND ...  do exactly the same as
+this one but add some more functionality.
+.sp
+NOTE 2: When using write_file the produced file cannot be used as an
+input to CMake (CONFIGURE_FILE, source file ...) because it will lead
+to an infinite loop.  Use configure_file if you want to generate input
+files to CMake.
+.SH CTEST COMMANDS
+.sp
+These commands are available only in ctest scripts.
+.SS ctest_build
+.sp
+Perform the CTest Build Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+            )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Build the project and store results in \fBBuild.xml\fP
+for submission with the \fBctest_submit()\fP command.
+.sp
+The \fBCTEST_BUILD_COMMAND\fP variable may be set to explicitly
+specify the build command line.  Otherwise the build command line is
+computed automatically based on the options given.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBBUILD <build\-dir>\fP
+Specify the top\-level build directory.  If not given, the
+\fBCTEST_BINARY_DIRECTORY\fP variable is used.
+.TP
+.B \fBAPPEND\fP
+Mark results for append to those previously submitted to a
+dashboard server since the last \fBctest_start()\fP call.
+Append semantics are defined by the dashboard server in use.
+.TP
+.B \fBCONFIGURATION <config>\fP
+Specify the build configuration (e.g. \fBDebug\fP).  If not
+specified the \fBCTEST_BUILD_CONFIGURATION\fP variable will be checked.
+Otherwise the \fB\-C <cfg>\fP option given to the \fBctest(1)\fP
+command will be used, if any.
+.TP
+.B \fBFLAGS <flags>\fP
+Pass additional arguments to the underlying build command.
+If not specified the \fBCTEST_BUILD_FLAGS\fP variable will be checked.
+This can, e.g., be used to trigger a parallel build using the
+\fB\-j\fP option of make. See the \fBProcessorCount\fP module
+for an example.
+.TP
+.B \fBPROJECT_NAME <project\-name>\fP
+Set the name of the project to build.  This should correspond
+to the top\-level call to the \fBproject()\fP command.
+If not specified the \fBCTEST_PROJECT_NAME\fP variable will be checked.
+.TP
+.B \fBTARGET <target\-name>\fP
+Specify the name of a target to build.  If not specified the
+\fBCTEST_BUILD_TARGET\fP variable will be checked.  Otherwise the
+default target will be built.  This is the "all" target
+(called \fBALL_BUILD\fP in Visual Studio Generators).
+.TP
+.B \fBNUMBER_ERRORS <num\-err\-var>\fP
+Store the number of build errors detected in the given variable.
+.TP
+.B \fBNUMBER_WARNINGS <num\-warn\-var>\fP
+Store the number of build warnings detected in the given variable.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store the return value of the native build tool in the given variable.
+.TP
+.B \fBQUIET\fP
+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.
+.UNINDENT
+.SS ctest_configure
+.sp
+Perform the CTest Configure Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_configure([BUILD <build\-dir>] [SOURCE <source\-dir>] [APPEND]
+                [OPTIONS <options>] [RETURN_VALUE <result\-var>] [QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Configure the project build tree and record results in \fBConfigure.xml\fP
+for submission with the \fBctest_submit()\fP command.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBBUILD <build\-dir>\fP
+Specify the top\-level build directory.  If not given, the
+\fBCTEST_BINARY_DIRECTORY\fP variable is used.
+.TP
+.B \fBSOURCE <source\-dir>\fP
+Specify the source directory.  If not given, the
+\fBCTEST_SOURCE_DIRECTORY\fP variable is used.
+.TP
+.B \fBAPPEND\fP
+Mark results for append to those previously submitted to a
+dashboard server since the last \fBctest_start()\fP call.
+Append semantics are defined by the dashboard server in use.
+.TP
+.B \fBOPTIONS <options>\fP
+Specify command\-line arguments to pass to the configuration tool.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store in the \fB<result\-var>\fP variable the return value of the native
+configuration tool.
+.TP
+.B \fBQUIET\fP
+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.
+.UNINDENT
+.SS ctest_coverage
+.sp
+Perform the CTest Coverage Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_coverage([BUILD <build\-dir>] [APPEND]
+               [LABELS <label>...]
+               [RETURN_VALUE <result\-var>]
+               [QUIET]
+               )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Collect coverage tool results and stores them in \fBCoverage.xml\fP
+for submission with the \fBctest_submit()\fP command.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBBUILD <build\-dir>\fP
+Specify the top\-level build directory.  If not given, the
+\fBCTEST_BINARY_DIRECTORY\fP variable is used.
+.TP
+.B \fBAPPEND\fP
+Mark results for append to those previously submitted to a
+dashboard server since the last \fBctest_start()\fP call.
+Append semantics are defined by the dashboard server in use.
+.TP
+.B \fBLABELS\fP
+Filter the coverage report to include only source files labeled
+with at least one of the labels specified.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store in the \fB<result\-var>\fP variable \fB0\fP if coverage tools
+ran without error and non\-zero otherwise.
+.TP
+.B \fBQUIET\fP
+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.
+.UNINDENT
+.SS ctest_empty_binary_directory
+.sp
+empties the binary directory
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_empty_binary_directory( directory )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Removes a binary directory.  This command will perform some checks
+prior to deleting the directory in an attempt to avoid malicious or
+accidental directory deletion.
+.SS ctest_memcheck
+.sp
+Perform the CTest MemCheck Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+               [SCHEDULE_RANDOM <ON|OFF>]
+               [STOP_TIME <time\-of\-day>]
+               [RETURN_VALUE <result\-var>]
+               [QUIET]
+               )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Run tests with a dynamic analysis tool and store results in
+\fBMemCheck.xml\fP for submission with the \fBctest_submit()\fP
+command.
+.sp
+The options are the same as those for the \fBctest_test()\fP command.
+.SS ctest_read_custom_files
+.sp
+read CTestCustom files.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_read_custom_files( directory ... )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Read all the CTestCustom.ctest or CTestCustom.cmake files from the
+given directory.
+.SS ctest_run_script
+.sp
+runs a ctest \-S script
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_run_script([NEW_PROCESS] script_file_name script_file_name1
+            script_file_name2 ... [RETURN_VALUE var])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Runs a script or scripts much like if it was run from ctest \-S.  If no
+argument is provided then the current script is run using the current
+settings of the variables.  If NEW_PROCESS is specified then each
+script will be run in a separate process.If RETURN_VALUE is specified
+the return value of the last script run will be put into var.
+.SS ctest_sleep
+.sp
+sleeps for some amount of time
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_sleep(<seconds>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sleep for given number of seconds.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_sleep(<time1> <duration> <time2>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sleep for t=(time1 + duration \- time2) seconds if t > 0.
+.SS ctest_start
+.sp
+Starts the testing for a given model
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_start(Model [TRACK <track>] [APPEND] [source [binary]] [QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Starts the testing for a given model.  The command should be called
+after the binary directory is initialized.  If the \(aqsource\(aq and
+\(aqbinary\(aq directory are not specified, it reads the
+\fBCTEST_SOURCE_DIRECTORY\fP and \fBCTEST_BINARY_DIRECTORY\fP\&.
+If the track is
+specified, the submissions will go to the specified track.  If APPEND
+is used, the existing TAG is used rather than creating a new one based
+on the current time stamp.  If QUIET is used, CTest will suppress any
+non\-error messages that it otherwise would have printed to the console.
+.sp
+If the \fBCTEST_CHECKOUT_COMMAND\fP variable
+(or the \fBCTEST_CVS_CHECKOUT\fP variable)
+is set, its content is treated as command\-line.  The command is
+invoked with the current working directory set to the parent of the source
+directory, even if the source directory already exists.  This can be used
+to create the source tree from a version control repository.
+.SS ctest_submit
+.sp
+Perform the CTest Submit Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_submit([PARTS <part>...] [FILES <file>...]
+             [RETRY_COUNT <count>]
+             [RETRY_DELAY <delay>]
+             [RETURN_VALUE <result\-var>]
+             [QUIET]
+             )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Submit results to a dashboard server.
+By default all available parts are submitted.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBPARTS <part>...\fP
+Specify a subset of parts to submit.  Valid part names are:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.TP
+.B \fBFILES <file>...\fP
+Specify an explicit list of specific files to be submitted.
+Each individual file must exist at the time of the call.
+.TP
+.B \fBRETRY_COUNT <count>\fP
+Specify how many times to retry a timed\-out submission.
+.TP
+.B \fBRETRY_DELAY <delay>\fP
+Specify how long (in seconds) to wait after a timed\-out submission
+before attempting to re\-submit.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store in the \fB<result\-var>\fP variable \fB0\fP for success and
+non\-zero on failure.
+.TP
+.B \fBQUIET\fP
+Suppress all non\-error messages that would have otherwise been
+printed to the console.
+.UNINDENT
+.SS Submit to CDash Upload API
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS ctest_test
+.sp
+Perform the CTest Test Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+           [SCHEDULE_RANDOM <ON|OFF>]
+           [STOP_TIME <time\-of\-day>]
+           [RETURN_VALUE <result\-var>]
+           [QUIET]
+           )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Run tests in the project build tree and store results in
+\fBTest.xml\fP for submission with the \fBctest_submit()\fP command.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBBUILD <build\-dir>\fP
+Specify the top\-level build directory.  If not given, the
+\fBCTEST_BINARY_DIRECTORY\fP variable is used.
+.TP
+.B \fBAPPEND\fP
+Mark results for append to those previously submitted to a
+dashboard server since the last \fBctest_start()\fP call.
+Append semantics are defined by the dashboard server in use.
+.TP
+.B \fBSTART <start\-number>\fP
+Specify the beginning of a range of test numbers.
+.TP
+.B \fBEND <end\-number>\fP
+Specify the end of a range of test numbers.
+.TP
+.B \fBSTRIDE <stride\-number>\fP
+Specify the stride by which to step acorss a range of test numbers.
+.TP
+.B \fBEXCLUDE <exclude\-regex>\fP
+Specify a regular expression matching test names to exclude.
+.TP
+.B \fBINCLUDE <include\-regex>\fP
+Specify a regular expression matching test names to include.
+Tests not matching this expression are excluded.
+.TP
+.B \fBEXCLUDE_LABEL <label\-exclude\-regex>\fP
+Specify a regular expression matching test labels to exclude.
+.TP
+.B \fBINCLUDE_LABEL <label\-include\-regex>\fP
+Specify a regular expression matching test labels to include.
+Tests not matching this expression are excluded.
+.TP
+.B \fBPARALLEL_LEVEL <level>\fP
+Specify a positive number representing the number of tests to
+be run in parallel.
+.TP
+.B \fBSCHEDULE_RANDOM <ON|OFF>\fP
+Launch tests in a random order.  This may be useful for detecting
+implicit test dependencies.
+.TP
+.B \fBSTOP_TIME <time\-of\-day>\fP
+Specify a time of day at which the tests should all stop running.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store in the \fB<result\-var>\fP variable \fB0\fP if all tests passed.
+Store non\-zero if anything went wrong.
+.TP
+.B \fBQUIET\fP
+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 \fBQUIET\fP option.
+.UNINDENT
+.SS ctest_update
+.sp
+Perform the CTest Update Step as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_update([SOURCE <source\-dir>] [RETURN_VALUE <result\-var>] [QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Update the source tree from version control and record results in
+\fBUpdate.xml\fP for submission with the \fBctest_submit()\fP command.
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBSOURCE <source\-dir>\fP
+Specify the source directory.  If not given, the
+\fBCTEST_SOURCE_DIRECTORY\fP variable is used.
+.TP
+.B \fBRETURN_VALUE <result\-var>\fP
+Store in the \fB<result\-var>\fP variable the number of files
+updated or \fB\-1\fP on error.
+.TP
+.B \fBQUIET\fP
+Tell CTest to suppress most non\-error messages that it would
+have otherwise printed to the console.  CTest will still report
+the new revision of the repository and any conflicting files
+that were found.
+.UNINDENT
+.SS ctest_upload
+.sp
+Upload files to a dashboard server as a Dashboard Client\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_upload(FILES <file>... [QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The options are:
+.INDENT 0.0
+.TP
+.B \fBFILES <file>...\fP
+Specify a list of files to be sent along with the build results to the
+dashboard server.
+.TP
+.B \fBQUIET\fP
+Suppress any CTest\-specific non\-error output that would have been
+printed to the console otherwise.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-compile-features.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,401 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-COMPILE-FEATURES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-compile-features \- CMake Compile Features Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+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:
+\fI\%Compile Feature Requirements\fP, \fI\%Optional Compile Features\fP
+and \fI\%Conditional Compilation Options\fP\&.
+.sp
+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.
+.sp
+The \fBCMAKE_C_KNOWN_FEATURES\fP and
+\fBCMAKE_CXX_KNOWN_FEATURES\fP global properties contain all the
+features known to CMake, regardless of compiler support for the feature.
+The \fBCMAKE_C_COMPILE_FEATURES\fP and
+\fBCMAKE_CXX_COMPILE_FEATURES\fP variables contain all features
+CMake knows are known to the compiler, regardless of language standard
+or compile flags needed to use them.
+.sp
+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 \fBcxx_final\fP and \fBcxx_override\fP instead of the single
+\fBcxx_override_control\fP used by Clang.
+.SH COMPILE FEATURE REQUIREMENTS
+.sp
+Compile feature requirements may be specified with the
+\fBtarget_compile_features()\fP command.  For example, if a target must
+be compiled with compiler support for the
+\fBcxx_constexpr\fP feature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(mylib requires_constexpr.cpp)
+target_compile_features(mylib PRIVATE cxx_constexpr)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In processing the requirement for the \fBcxx_constexpr\fP feature,
+\fBcmake(1)\fP will ensure that the in\-use C++ compiler is capable
+of the feature, and will add any necessary flags such as \fB\-std=gnu++11\fP
+to the compile lines of C++ files in the \fBmylib\fP target.  A
+\fBFATAL_ERROR\fP is issued if the compiler is not capable of the
+feature.
+.sp
+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.
+.sp
+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 \fB\-std=gnu++98\fP is
+used.  CMake adds the \fB\-std=gnu++11\fP flag if \fBcxx_variadic_templates\fP
+is specified as a requirement.
+.sp
+In the above example, \fBmylib\fP requires \fBcxx_constexpr\fP when it
+is built itself, but consumers of \fBmylib\fP are not required to use a
+compiler which supports \fBcxx_constexpr\fP\&.  If the interface of
+\fBmylib\fP does require the \fBcxx_constexpr\fP feature (or any other
+known feature), that may be specified with the \fBPUBLIC\fP or
+\fBINTERFACE\fP signatures of \fBtarget_compile_features()\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Feature requirements are evaluated transitively by consuming the link
+implementation.  See \fBcmake\-buildsystem(7)\fP for more on
+transitive behavior of build properties and usage requirements.
+.sp
+Because the \fBCXX_EXTENSIONS\fP target property is \fBON\fP by default,
+CMake uses extended variants of language dialects by default, such as
+\fB\-std=gnu++11\fP instead of \fB\-std=c++11\fP\&.  That target property may be
+set to \fBOFF\fP 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.
+.SH OPTIONAL COMPILE FEATURES
+.sp
+Compile features may be preferred if available, without creating a hard
+requirement.  For example, a library may provides alternative
+implementations depending on whether the \fBcxx_variadic_templates\fP
+feature is available:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fBWriteCompilerDetectionHeader\fP module.  The
+module contains the \fBwrite_compiler_detection_header\fP function which
+accepts parameters to control the content of the generated header file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_compiler_detection_header(
+  FILE "${CMAKE_CURRENT_BINARY_DIR}/foo_compiler_detection.h"
+  PREFIX Foo
+  COMPILERS GNU
+  FEATURES
+    cxx_variadic_templates
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+For each feature listed in \fBFEATURES\fP, a preprocessor definition
+is created in the header file, and defined to either \fB1\fP or \fB0\fP\&.
+.sp
+Additionally, some features call for additional defines, such as the
+\fBcxx_final\fP and \fBcxx_override\fP features. Rather than being used in
+\fB#ifdef\fP code, the \fBfinal\fP keyword is abstracted by a symbol
+which is defined to either \fBfinal\fP, 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+struct Interface {
+  virtual void Execute() = 0;
+};
+
+struct Concrete Foo_FINAL {
+  void Execute() Foo_OVERRIDE;
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In this case, \fBFoo_FINAL\fP will expand to \fBfinal\fP if the
+compiler supports the keyword, or to empty otherwise.
+.sp
+In this use\-case, the CMake code will wish to enable a particular language
+standard if available from the compiler. The \fBCXX_STANDARD\fP
+target property variable may be set to the desired language standard
+for a particular target, and the \fBCMAKE_CXX_STANDARD\fP may be
+set to influence all following targets:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 \(aqfinal\(aq 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 \(aqfinal\(aq 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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBwrite_compiler_detection_header\fP function also creates compatibility
+code for other features which have standard equivalents.  For example, the
+\fBcxx_static_assert\fP feature is emulated with a template and abstracted
+via the \fB<PREFIX>_STATIC_ASSERT\fP and \fB<PREFIX>_STATIC_ASSERT_MSG\fP
+function\-macros.
+.SH CONDITIONAL COMPILATION OPTIONS
+.sp
+Libraries may provide entirely different header files depending on
+requested compiler features.
+.sp
+For example, a header at \fBwith_variadics/interface.h\fP may contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft 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();
+  }
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+while a header at \fBno_variadics/interface.h\fP may contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+template<int I1, int I2 = 0, int I3 = 0, int I4 = 0>
+struct Interface
+{
+  static int accumulate() { return I1 + I2 + I3 + I4; }
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It would be possible to write a abstraction \fBinterface.h\fP header
+containing something like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include "foo_compiler_detection.h"
+#if Foo_COMPILER_CXX_VARIADIC_TEMPLATES
+#include "with_variadics/interface.h"
+#else
+#include "no_variadics/interface.h"
+#endif
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+CMake provides a \fBCOMPILE_FEATURES\fP
+\fBgenerator expression\fP to implement
+such conditions.  This may be used with the build\-property commands such as
+\fBtarget_include_directories()\fP and \fBtarget_link_libraries()\fP
+to set the appropriate \fBbuildsystem\fP
+properties:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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}>"
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Consuming code then simply links to the \fBfoo\fP target as usual and uses
+the feature\-appropriate include directory
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH SUPPORTED COMPILERS
+.sp
+CMake is currently aware of the \fBlanguage standards\fP
+and \fBcompile features\fP available from
+the following \fBcompiler ids\fP as of the
+versions specified for each:
+.INDENT 0.0
+.IP \(bu 2
+\fBAppleClang\fP: Apple Clang for Xcode versions 4.4 though 6.2.
+.IP \(bu 2
+\fBClang\fP: Clang compiler versions 2.9 through 3.4.
+.IP \(bu 2
+\fBGNU\fP: GNU compiler versions 4.4 through 5.0.
+.IP \(bu 2
+\fBMSVC\fP: Microsoft Visual Studio versions 2010 through 2015.
+.IP \(bu 2
+\fBSunPro\fP: Oracle SolarisStudio version 12.4.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-developer.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,1206 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-DEVELOPER" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-developer \- CMake Developer Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+This manual is intended for reference by developers modifying the CMake
+source tree itself.
+.SH PERMITTED C++ SUBSET
+.sp
+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.
+.SS std::auto_ptr
+.sp
+Some implementations have a \fBstd::auto_ptr\fP which can not be used as a
+return value from a function. \fBstd::auto_ptr\fP may not be used. Use
+\fBcmsys::auto_ptr\fP instead.
+.SS size_t
+.sp
+Various implementations have differing implementation of \fBsize_t\fP\&.  When
+assigning the result of \fB\&.size()\fP on a container for example, the result
+should be assigned to \fBsize_t\fP not to \fBstd::size_t\fP, \fBunsigned int\fP or
+similar types.
+.SH ADDING COMPILE FEATURES
+.sp
+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.
+.sp
+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.
+.sp
+When adding the first supported feature to a particular CompilerId, it is
+necessary to list support for all features known to cmake (See
+\fBCMAKE_C_COMPILE_FEATURES\fP and
+\fBCMAKE_CXX_COMPILE_FEATURES\fP as appropriate), where available for
+the compiler.  Furthermore, set \fBCMAKE_<LANG>_STANDARD_DEFAULT\fP to the
+default language standard level the compiler uses, or to the empty string
+if the compiler has no notion of standard levels (such as \fBMSVC\fP).
+.sp
+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.
+.sp
+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 \fBcxx_constexpr\fP 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 \fB__has_feature(cxx_generic_lambdas)\fP 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.
+.sp
+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.
+.sp
+Standard\-specific/compiler\-specific variables such
+\fBCMAKE_CXX98_COMPILE_FEATURES\fP are deliberately not documented.  They
+only exist for the compiler\-specific implementation of adding the \fB\-std\fP
+compile flag for compilers which need that.
+.SH HELP
+.sp
+The \fBHelp\fP directory contains CMake help manual source files.
+They are written using the \fI\%reStructuredText\fP markup syntax and
+processed by \fI\%Sphinx\fP to generate the CMake help manuals.
+.SS Markup Constructs
+.sp
+In addition to using Sphinx to generate the CMake help manuals, we
+also use a C++\-implemented document processor to print documents for
+the \fB\-\-help\-*\fP 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.
+.sp
+The command\-line help processor supports the following constructs
+defined by reStructuredText, Sphinx, and a CMake extension to Sphinx.
+.INDENT 0.0
+.TP
+.B CMake Domain directives
+Directives defined in the \fI\%CMake Domain\fP for defining CMake
+documentation objects are printed in command\-line help output as
+if the lines were normal paragraph text with interpretation.
+.TP
+.B CMake Domain interpreted text roles
+Interpreted text roles defined in the \fI\%CMake Domain\fP 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.
+.TP
+.B \fBcode\-block\fP 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.
+.TP
+.B \fBinclude\fP directive
+Include another document source file.  The command\-line help
+processor prints the included document inline with the referencing
+document.
+.TP
+.B literal block after \fB::\fP
+A paragraph ending in \fB::\fP followed by a blank line treats
+the following indented block as literal text without interpretation.
+The command\-line help processor prints the \fB::\fP literally and
+prints the block content with common indentation replaced by one
+space.
+.TP
+.B \fBnote\fP 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.
+.TP
+.B \fBparsed\-literal\fP 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.
+.TP
+.B \fBproductionlist\fP 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.
+.TP
+.B \fBreplace\fP directive
+Define a \fB|substitution|\fP replacement.
+The command\-line help processor requires a substitution replacement
+to be defined before it is referenced.
+.TP
+.B \fB|substitution|\fP reference
+Reference a substitution replacement previously defined by
+the \fBreplace\fP directive.  The command\-line help processor
+performs the substitution and replaces all newlines in the
+replacement text with spaces.
+.TP
+.B \fBtoctree\fP 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.
+.UNINDENT
+.sp
+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 \e\-escapes in favor of inline
+literals when possible.
+.sp
+Explicit markup blocks not matching directives listed above are removed from
+command\-line help output.  Do not use them, except for plain \fB\&..\fP comments
+that are removed by Sphinx too.
+.sp
+Note that nested indentation of blocks is not recognized by the
+command\-line help processor.  Therefore:
+.INDENT 0.0
+.IP \(bu 2
+Explicit markup blocks are recognized only when not indented
+inside other blocks.
+.IP \(bu 2
+Literal blocks after paragraphs ending in \fB::\fP but not
+at the top indentation level may consume all indented lines
+following them.
+.UNINDENT
+.sp
+Try to avoid these cases in practice.
+.SS CMake Domain
+.sp
+CMake adds a \fI\%Sphinx Domain\fP called \fBcmake\fP, also called the
+"CMake Domain".  It defines several "object" types for CMake
+documentation:
+.INDENT 0.0
+.TP
+.B \fBcommand\fP
+A CMake language command.
+.TP
+.B \fBgenerator\fP
+A CMake native build system generator.
+See the \fBcmake(1)\fP command\-line tool\(aqs \fB\-G\fP option.
+.TP
+.B \fBmanual\fP
+A CMake manual page, like this \fI\%cmake\-developer(7)\fP manual.
+.TP
+.B \fBmodule\fP
+A CMake module.
+See the \fBcmake\-modules(7)\fP manual
+and the \fBinclude()\fP command.
+.TP
+.B \fBpolicy\fP
+A CMake policy.
+See the \fBcmake\-policies(7)\fP manual
+and the \fBcmake_policy()\fP command.
+.TP
+.B \fBprop_cache, prop_dir, prop_gbl, prop_sf, prop_inst, prop_test, prop_tgt\fP
+A CMake cache, directory, global, source file, installed file, test,
+or target property, respectively.  See the \fBcmake\-properties(7)\fP
+manual and the \fBset_property()\fP command.
+.TP
+.B \fBvariable\fP
+A CMake language variable.
+See the \fBcmake\-variables(7)\fP manual
+and the \fBset()\fP command.
+.UNINDENT
+.sp
+Documentation objects in the CMake Domain come from two sources.
+First, the CMake extension to Sphinx transforms every document named
+with the form \fBHelp/<type>/<file\-name>.rst\fP to a domain object with
+type \fB<type>\fP\&.  The object name is extracted from the document title,
+which is expected to be of the form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<object\-name>
+\-\-\-\-\-\-\-\-\-\-\-\-\-
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and to appear at or near the top of the \fB\&.rst\fP file before any other
+lines starting in a letter, digit, or \fB<\fP\&.  If no such title appears
+literally in the \fB\&.rst\fP file, the object name is the \fB<file\-name>\fP\&.
+If a title does appear, it is expected that \fB<file\-name>\fP is equal
+to \fB<object\-name>\fP with any \fB<\fP and \fB>\fP characters removed.
+.sp
+Second, the CMake Domain provides directives to define objects inside
+other documents:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.. command:: <command\-name>
+
+ This indented block documents <command\-name>.
+
+\&.. variable:: <variable\-name>
+
+ This indented block documents <variable\-name>.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Object types for which no directive is available must be defined using
+the first approach above.
+.SS Cross\-References
+.sp
+Sphinx uses reStructuredText interpreted text roles to provide
+cross\-reference syntax.  The \fI\%CMake Domain\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+:type:\(ganame\(ga
+:type:\(gatext <name>\(ga
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fBtype\fP is the domain object type and \fBname\fP is the
+domain object name.  In the first form the link text will be
+\fBname\fP (or \fBname()\fP if the type is \fBcommand\fP) and in
+the second form the link text will be the explicit \fBtext\fP\&.
+For example, the code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+* The :command:\(galist\(ga command.
+* The :command:\(galist(APPEND)\(ga sub\-command.
+* The :command:\(galist() command <list>\(ga.
+* The :command:\(galist(APPEND) sub\-command <list>\(ga.
+* The :variable:\(gaCMAKE_VERSION\(ga variable.
+* The :prop_tgt:\(gaOUTPUT_NAME_<CONFIG>\(ga target property.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+produces:
+.INDENT 0.0
+.IP \(bu 2
+The \fBlist()\fP command.
+.IP \(bu 2
+The \fBlist(APPEND)\fP sub\-command.
+.IP \(bu 2
+The \fBlist() command\fP\&.
+.IP \(bu 2
+The \fBlist(APPEND) sub\-command\fP\&.
+.IP \(bu 2
+The \fBCMAKE_VERSION\fP variable.
+.IP \(bu 2
+The \fBOUTPUT_NAME_<CONFIG>\fP target property.
+.UNINDENT
+.sp
+Note that CMake Domain roles differ from Sphinx and reStructuredText
+convention in that the form \fBa<b>\fP, without a space preceding \fB<\fP,
+is interpreted as a name instead of link text with an explicit target.
+This is necessary because we use \fB<placeholders>\fP frequently in
+object names like \fBOUTPUT_NAME_<CONFIG>\fP\&.  The form \fBa <b>\fP,
+with a space preceding \fB<\fP, is still interpreted as a link text
+with an explicit target.
+.SS Style
+.SS Style: Section Headers
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Title Text
+\-\-\-\-\-\-\-\-\-\-
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Capitalize the first letter of each non\-minor word in the title.
+.sp
+The section header underline character hierarchy is
+.INDENT 0.0
+.IP \(bu 2
+\fB#\fP: Manual group (part) in the master document
+.IP \(bu 2
+\fB*\fP: Manual (chapter) title
+.IP \(bu 2
+\fB=\fP: Section within a manual
+.IP \(bu 2
+\fB\-\fP: Subsection or \fI\%CMake Domain\fP object document title
+.IP \(bu 2
+\fB^\fP: Subsubsection or \fI\%CMake Domain\fP object document section
+.IP \(bu 2
+\fB"\fP: Paragraph or \fI\%CMake Domain\fP object document subsection
+.UNINDENT
+.SS Style: Whitespace
+.sp
+Use two spaces for indentation.  Use two spaces between sentences in
+prose.
+.SS Style: Line Length
+.sp
+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.
+.SS Style: Prose
+.sp
+Use American English spellings in prose.
+.SS Style: Starting Literal Blocks
+.sp
+Prefer to mark the start of literal blocks with \fB::\fP at the end of
+the preceding paragraph. In cases where the following block gets
+a \fBcode\-block\fP marker, put a single \fB:\fP at the end of the preceding
+paragraph.
+.SS Style: CMake Command Signatures
+.sp
+Command signatures should be marked up as plain literal blocks, not as
+cmake \fBcode\-blocks\fP\&.
+.sp
+Signatures are separated from preceding content by a section header.
+That is, use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... preceding paragraph.
+
+Normal Libraries
+^^^^^^^^^^^^^^^^
+
+::
+
+  add_library(<lib> ...)
+
+This signature is used for ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Signatures of commands should wrap optional parts with square brackets,
+and should mark list of optional arguments with an ellipsis (\fB\&...\fP).
+Elements of the signature which are specified by the user should be
+specified with angle brackets, and may be referred to in prose using
+\fBinline\-literal\fP syntax.
+.SS Style: Boolean Constants
+.sp
+Use "\fBOFF\fP" and "\fBON\fP" for boolean values which can be modified by
+the user, such as \fBPOSITION_INDEPENDENT_CODE\fP\&. Such properties
+may be "enabled" and "disabled". Use "\fBTrue\fP" and "\fBFalse\fP" for
+inherent values which can\(aqt be modified after being set, such as the
+\fBIMPORTED\fP property of a build target.
+.SS Style: Inline Literals
+.sp
+Mark up references to keywords in signatures, file names, and other
+technical terms with \fBinline\-literal\fP syntax, for example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+If \(ga\(gaWIN32\(ga\(ga is used with :command:\(gaadd_executable\(ga, the
+:prop_tgt:\(gaWIN32_EXECUTABLE\(ga target property is enabled. That command
+creates the file \(ga\(ga<name>.exe\(ga\(ga on Windows.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Style: Cross\-References
+.sp
+Mark up linkable references as links, including repeats.
+An alternative, which is used by wikipedia
+(\fI\%http://en.wikipedia.org/wiki/WP:REPEATLINK\fP),
+is to link to a reference only once per article. That style is not used
+in CMake documentation.
+.SS Style: Referencing CMake Concepts
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This command creates an :ref:\(gaImported Target <Imported Targets>\(ga.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+instead of:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This command creates an :prop_tgt:\(gaIMPORTED\(ga target.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The latter should be used only when referring specifically to the
+property.
+.sp
+References to manual sections are not automatically created by creating
+a section, but code such as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.. _\(gaImported Targets\(ga:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Imported Targets need the \fBIMPORTED\fP term marked up with care in
+particular because the term may refer to a command keyword
+(\fBIMPORTED\fP), a target property (\fBIMPORTED\fP), or a
+concept (Imported Targets).
+.sp
+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.
+.SS Style: Referencing CMake Domain Objects
+.sp
+When referring to \fI\%CMake Domain\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Set the :prop_tgt:\(gaAUTOMOC\(ga target property to \(ga\(gaON\(ga\(ga.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Instead of
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Set the target property :prop_tgt:\(gaAUTOMOC\(ga to \(ga\(gaON\(ga\(ga.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBpolicy\fP directive is an exception, and the type us usually
+referred to before the link:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+If policy :prop_tgt:\(gaCMP0022\(ga is set to \(ga\(gaNEW\(ga\(ga the behavior is ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+However, markup self\-references with \fBinline\-literal\fP syntax.
+For example, within the \fBadd_executable()\fP command
+documentation, use
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\(ga\(gaadd_executable\(ga\(ga
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+not
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+:command:\(gaadd_executable\(ga
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which is used elsewhere.
+.SH MODULES
+.sp
+The \fBModules\fP directory contains CMake\-language \fB\&.cmake\fP module files.
+.SS Module Documentation
+.sp
+To document CMake module \fBModules/<module\-name>.cmake\fP, modify
+\fBHelp/manual/cmake\-modules.7.rst\fP to reference the module in the
+\fBtoctree\fP directive, in sorted order, as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+/module/<module\-name>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Then add the module document file \fBHelp/module/<module\-name>.rst\fP
+containing just the line:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&.. cmake\-module:: ../../Modules/<module\-name>.cmake
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBcmake\-module\fP directive will scan the module file to extract
+reStructuredText markup from comment blocks that start in \fB\&.rst:\fP\&.
+Add to the top of \fBModules/<module\-name>.cmake\fP a
+Line Comment block of the form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#.rst:
+# <module\-name>
+# \-\-\-\-\-\-\-\-\-\-\-\-\-
+#
+# <reStructuredText documentation of module>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+or a Bracket Comment of the form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#[[.rst:
+<module\-name>
+\-\-\-\-\-\-\-\-\-\-\-\-\-
+
+<reStructuredText documentation of module>
+#]]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Any number of \fB=\fP 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 \fB#\fP\&.
+.sp
+Additional such \fB\&.rst:\fP comments may appear anywhere in the module file.
+All such comments must start with \fB#\fP in the first column.
+.sp
+For example, a \fBModules/Findxxx.cmake\fP module may contain:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#.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\(aqt 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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+After the top documentation block, leave a \fIBLANK\fP line, and then add a
+copyright and licence notice block like this one (change only the year
+range and name)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#=============================================================================
+# 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.)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Test the documentation formatting by running
+\fBcmake \-\-help\-module <module\-name>\fP, and also by enabling the
+\fBSPHINX_HTML\fP and \fBSPHINX_MAN\fP 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 \fBHelp/module/<module\-name>.rst\fP
+file and the \fBHelp/manual/cmake\-modules.7.rst\fP toctree entry.
+.SS Find Modules
+.sp
+A "find module" is a \fBModules/Find<package>.cmake\fP file to be loaded
+by the \fBfind_package()\fP command when invoked for \fB<package>\fP\&.
+.sp
+The primary task of a find module is to determine whether a package
+exists on the system, set the \fB<package>_FOUND\fP 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
+config file package\&.
+.sp
+The traditional approach is to use variables for everything, including
+libraries and executables: see the \fI\%Standard Variable Names\fP section
+below.  This is what most of the existing find modules provided by CMake
+do.
+.sp
+The more modern approach is to behave as much like
+config file packages files as possible, by
+providing imported target\&.  This has the advantage
+of propagating Target Usage Requirements to consumers.
+.sp
+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.
+.sp
+A FindFoo.cmake module will typically be loaded by the command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Foo [major[.minor[.patch[.tweak]]]]
+             [EXACT] [QUIET] [REQUIRED]
+             [[COMPONENTS] [components...]]
+             [OPTIONAL_COMPONENTS components...]
+             [NO_POLICY_SCOPE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+See the \fBfind_package()\fP documentation for details on what
+variables are set for the find module.  Most of these are dealt with by
+using \fBFindPackageHandleStandardArgs\fP\&.
+.sp
+Briefly, the module should only locate versions of the package
+compatible with the requested version, as described by the
+\fBFoo_FIND_VERSION\fP family of variables.  If \fBFoo_FIND_QUIETLY\fP is
+set to true, it should avoid printing messages, including anything
+complaining about the package not being found.  If \fBFoo_FIND_REQUIRED\fP
+is set to true, the module should issue a \fBFATAL_ERROR\fP 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.
+.sp
+Packages that find multiple semi\-independent parts (like bundles of
+libraries) should search for the components listed in
+\fBFoo_FIND_COMPONENTS\fP if it is set , and only set \fBFoo_FOUND\fP to
+true if for each searched\-for component \fB<c>\fP that was not found,
+\fBFoo_FIND_REQUIRED_<c>\fP is not set to true.  The \fBHANDLE_COMPONENTS\fP
+argument of \fBfind_package_handle_standard_args()\fP can be used to
+implement this.
+.sp
+If \fBFoo_FIND_COMPONENTS\fP is not set, which modules are searched for
+and required is up to the find module, but should be documented.
+.sp
+For internal implementation, it is a generally accepted convention that
+variables starting with underscore are for temporary use only.
+.sp
+Like all modules, find modules should be properly documented.  To add a
+module to the CMake documentation, follow the steps in the \fI\%Module
+Documentation\fP section above.
+.SS Standard Variable Names
+.sp
+For a \fBFindXxx.cmake\fP 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
+\fBXxx_\fP to make sure they do not interfere with other find modules; the
+same consideration applies to macros, functions and imported targets.
+.INDENT 0.0
+.TP
+.B \fBXxx_INCLUDE_DIRS\fP
+The final set of include directories listed in one variable for use by
+client code.  This should not be a cache entry.
+.TP
+.B \fBXxx_LIBRARIES\fP
+The libraries to link against to use Xxx. These should include full
+paths.  This should not be a cache entry.
+.TP
+.B \fBXxx_DEFINITIONS\fP
+Definitions to use when compiling code that uses Xxx. This really
+shouldn\(aqt include options such as \fB\-DHAS_JPEG\fP that a client
+source\-code file uses to decide whether to \fB#include <jpeg.h>\fP
+.TP
+.B \fBXxx_EXECUTABLE\fP
+Where to find the Xxx tool.
+.TP
+.B \fBXxx_Yyy_EXECUTABLE\fP
+Where to find the Yyy tool that comes with Xxx.
+.TP
+.B \fBXxx_LIBRARY_DIRS\fP
+Optionally, the final set of library directories listed in one
+variable for use by client code.  This should not be a cache entry.
+.TP
+.B \fBXxx_ROOT_DIR\fP
+Where to find the base directory of Xxx.
+.TP
+.B \fBXxx_VERSION_Yy\fP
+Expect Version Yy if true. Make sure at most one of these is ever true.
+.TP
+.B \fBXxx_WRAP_Yy\fP
+If False, do not try to use the relevant CMake wrapping command.
+.TP
+.B \fBXxx_Yy_FOUND\fP
+If False, optional Yy part of Xxx sytem is not available.
+.TP
+.B \fBXxx_FOUND\fP
+Set to false, or undefined, if we haven\(aqt found, or don\(aqt want to use
+Xxx.
+.TP
+.B \fBXxx_NOT_FOUND_MESSAGE\fP
+Should be set by config\-files in the case that it has set
+\fBXxx_FOUND\fP to FALSE.  The contained message will be printed by the
+\fBfind_package()\fP command and by
+\fBfind_package_handle_standard_args()\fP to inform the user about the
+problem.
+.TP
+.B \fBXxx_RUNTIME_LIBRARY_DIRS\fP
+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 \fBPATH\fP on windows or \fBLD_LIBRARY_PATH\fP on
+UNIX.  This should not be a cache entry.
+.TP
+.B \fBXxx_VERSION\fP
+The full version string of the package found, if any.  Note that many
+existing modules provide \fBXxx_VERSION_STRING\fP instead.
+.TP
+.B \fBXxx_VERSION_MAJOR\fP
+The major version of the package found, if any.
+.TP
+.B \fBXxx_VERSION_MINOR\fP
+The minor version of the package found, if any.
+.TP
+.B \fBXxx_VERSION_PATCH\fP
+The patch version of the package found, if any.
+.UNINDENT
+.sp
+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)
+.INDENT 0.0
+.TP
+.B \fBXxx_LIBRARY\fP
+The path of the Xxx library (as used with \fBfind_library()\fP, for
+example).
+.TP
+.B \fBXxx_Yy_LIBRARY\fP
+The path of the Yy library that is part of the Xxx system. It may or
+may not be required to use Xxx.
+.TP
+.B \fBXxx_INCLUDE_DIR\fP
+Where to find headers for using the Xxx library.
+.TP
+.B \fBXxx_Yy_INCLUDE_DIR\fP
+Where to find headers for using the Yy library of the Xxx system.
+.UNINDENT
+.sp
+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. \fBXxx_ROOT_DIR\fP).  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
+\fB_LIBRARY_<CONFIG>\fP suffix, such as \fBFoo_LIBRARY_RELEASE\fP and
+\fBFoo_LIBRARY_DEBUG\fP\&.
+.sp
+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.
+.SS A Sample Find Module
+.sp
+We will describe how to create a simple find module for a library
+\fBFoo\fP\&.
+.sp
+The first thing that is needed is documentation.  CMake\(aqs 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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#.rst:
+# FindFoo
+# \-\-\-\-\-\-\-
+#
+# Finds the Foo library
+#
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the package provides any macros, they should be listed here, but can
+be documented where they are defined.  See the \fI\%Module
+Documentation\fP section above for more details.
+.sp
+After the documentation, leave a blank line, and then add a copyright and
+licence notice block
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#=============================================================================
+# 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.)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+First, we try to use \fBpkg\-config\fP to find the library.  Note that we
+cannot rely on this, as it may not be available, but it provides a good
+starting point.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(PkgConfig)
+pkg_check_modules(PC_Foo QUIET Foo)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This should define some variables starting \fBPC_Foo_\fP that contain the
+information from the \fBFoo.pc\fP file.
+.sp
+Now we need to find the libraries and include files; we use the
+information from \fBpkg\-config\fP to provide hints to CMake about where to
+look.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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}
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If you have a good way of getting the version (from a header file, for
+example), you can use that information to set \fBFoo_VERSION\fP (although
+note that find modules have traditionally used \fBFoo_VERSION_STRING\fP,
+so you may want to set both).  Otherwise, attempt to use the information
+from \fBpkg\-config\fP
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(Foo_VERSION ${PC_Foo_VERSION})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Now we can use \fBFindPackageHandleStandardArgs\fP to do most of the
+rest of the work for us
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Foo
+  FOUND_VAR Foo_FOUND
+  REQUIRED_VARS
+    Foo_LIBRARY
+    Foo_INCLUDE_DIR
+  VERSION_VAR Foo_VERSION
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This will check that the \fBREQUIRED_VARS\fP contain values (that do not
+end in \fB\-NOTFOUND\fP) and set \fBFoo_FOUND\fP appropriately.  It will also
+cache those values.  If \fBFoo_VERSION\fP is set, and a required version
+was passed to \fBfind_package()\fP, it will check the requested version
+against the one in \fBFoo_VERSION\fP\&.  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.
+.sp
+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 \fI\%Find Modules\fP section above.  The
+traditional variable approach looks like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(Foo_FOUND)
+  set(Foo_LIBRARIES ${Foo_LIBRARY})
+  set(Foo_INCLUDE_DIRS ${Foo_INCLUDE_DIR})
+  set(Foo_DEFINITIONS ${PC_Foo_CFLAGS_OTHER})
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If more than one library was found, all of them should be included in
+these variables (see the \fI\%Standard Variable Names\fP section for more
+information).
+.sp
+When providing imported targets, these should be namespaced (hence the
+\fBFoo::\fP prefix); CMake will recognize that values passed to
+\fBtarget_link_libraries()\fP that contain \fB::\fP 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 \fBCMP0028\fP).
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+One thing to note about this is that the \fBINTERFACE_INCLUDE_DIRECTORIES\fP 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.
+.sp
+The type of the \fBIMPORTED\fP target created in the
+\fBadd_library()\fP command can always be specified as \fBUNKNOWN\fP
+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.
+.sp
+If the library is available with multiple configurations, the
+\fBIMPORTED_CONFIGURATIONS\fP target property should also be
+populated:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBRELEASE\fP 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 \fBIMPORTED_CONFIGURATIONS\fP\&.
+.sp
+Most of the cache variables should be hidden in the \fBccmake\fP interface unless
+the user explicitly asks to edit them.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+mark_as_advanced(
+  Foo_INCLUDE_DIR
+  Foo_LIBRARY
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If this module replaces an older version, you should set compatibility variables
+to cause the least disruption possible.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# compatibility variables
+set(Foo_VERSION_STRING ${Foo_VERSION})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-generator-expressions.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,423 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-GENERATOR-EXPRESSIONS" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-generator-expressions \- CMake Generator Expressions
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+Generator expressions are evaluated during build system generation to produce
+information specific to each build configuration.
+.sp
+Generator expressions are allowed in the context of many target properties,
+such as \fBLINK_LIBRARIES\fP, \fBINCLUDE_DIRECTORIES\fP,
+\fBCOMPILE_DEFINITIONS\fP and others.  They may also be used when using
+commands to populate those properties, such as \fBtarget_link_libraries()\fP,
+\fBtarget_include_directories()\fP, \fBtarget_compile_definitions()\fP
+and others.
+.sp
+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.
+.SH LOGICAL EXPRESSIONS
+.sp
+Logical expressions are used to create conditional output.  The basic
+expressions are the \fB0\fP and \fB1\fP expressions.  Because other logical
+expressions evaluate to either \fB0\fP or \fB1\fP, they can be composed to
+create conditional output:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$<$<CONFIG:Debug>:DEBUG_MODE>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+expands to \fBDEBUG_MODE\fP when the \fBDebug\fP configuration is used, and
+otherwise expands to nothing.
+.sp
+Available logical expressions are:
+.INDENT 0.0
+.TP
+.B \fB$<BOOL:...>\fP
+\fB1\fP if the \fB\&...\fP is true, else \fB0\fP
+.TP
+.B \fB$<AND:?[,?]...>\fP
+\fB1\fP if all \fB?\fP are \fB1\fP, else \fB0\fP
+.sp
+The \fB?\fP must always be either \fB0\fP or \fB1\fP in boolean expressions.
+.TP
+.B \fB$<OR:?[,?]...>\fP
+\fB0\fP if all \fB?\fP are \fB0\fP, else \fB1\fP
+.TP
+.B \fB$<NOT:?>\fP
+\fB0\fP if \fB?\fP is \fB1\fP, else \fB1\fP
+.TP
+.B \fB$<STREQUAL:a,b>\fP
+\fB1\fP if \fBa\fP is STREQUAL \fBb\fP, else \fB0\fP
+.TP
+.B \fB$<EQUAL:a,b>\fP
+\fB1\fP if \fBa\fP is EQUAL \fBb\fP in a numeric comparison, else \fB0\fP
+.TP
+.B \fB$<CONFIG:cfg>\fP
+\fB1\fP if config is \fBcfg\fP, else \fB0\fP\&. This is a case\-insensitive comparison.
+The mapping in \fBMAP_IMPORTED_CONFIG_<CONFIG>\fP is also considered by
+this expression when it is evaluated on a property on an \fBIMPORTED\fP
+target.
+.TP
+.B \fB$<PLATFORM_ID:comp>\fP
+\fB1\fP if the CMake\-id of the platform matches \fBcomp\fP, otherwise \fB0\fP\&.
+.TP
+.B \fB$<C_COMPILER_ID:comp>\fP
+\fB1\fP if the CMake\-id of the C compiler matches \fBcomp\fP, otherwise \fB0\fP\&.
+.TP
+.B \fB$<CXX_COMPILER_ID:comp>\fP
+\fB1\fP if the CMake\-id of the CXX compiler matches \fBcomp\fP, otherwise \fB0\fP\&.
+.TP
+.B \fB$<VERSION_GREATER:v1,v2>\fP
+\fB1\fP if \fBv1\fP is a version greater than \fBv2\fP, else \fB0\fP\&.
+.TP
+.B \fB$<VERSION_LESS:v1,v2>\fP
+\fB1\fP if \fBv1\fP is a version less than \fBv2\fP, else \fB0\fP\&.
+.TP
+.B \fB$<VERSION_EQUAL:v1,v2>\fP
+\fB1\fP if \fBv1\fP is the same version as \fBv2\fP, else \fB0\fP\&.
+.TP
+.B \fB$<C_COMPILER_VERSION:ver>\fP
+\fB1\fP if the version of the C compiler matches \fBver\fP, otherwise \fB0\fP\&.
+.TP
+.B \fB$<CXX_COMPILER_VERSION:ver>\fP
+\fB1\fP if the version of the CXX compiler matches \fBver\fP, otherwise \fB0\fP\&.
+.TP
+.B \fB$<TARGET_POLICY:pol>\fP
+\fB1\fP if the policy \fBpol\fP was NEW when the \(aqhead\(aq target was created,
+else \fB0\fP\&.  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.
+.TP
+.B \fB$<COMPILE_FEATURES:feature[,feature]...>\fP
+\fB1\fP if all of the \fBfeature\fP features are available for the \(aqhead\(aq
+target, and \fB0\fP otherwise. If this expression is used while evaluating
+the link implementation of a target and if any dependency transitively
+increases the required \fBC_STANDARD\fP or \fBCXX_STANDARD\fP
+for the \(aqhead\(aq target, an error is reported.  See the
+\fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.TP
+.B \fB$<COMPILE_LANGUAGE:lang>\fP
+\fB1\fP when the language used for compilation unit matches \fBlang\fP,
+otherwise \fB0\fP\&.  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 \fB\-fno\-exceptions\fP compile option (compiler id checks
+elided):
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(myapp main.cpp foo.c bar.cpp)
+target_compile_options(myapp
+  PRIVATE $<$<COMPILE_LANGUAGE:CXX>:\-fno\-exceptions>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBMakefile\fP and \fBNinja\fP based generators can also use this
+expression to specify compile\-language specific compile definitions
+and include directories:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SH INFORMATIONAL EXPRESSIONS
+.sp
+These expressions expand to some information. The information may be used
+directly, eg:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include_directories(/usr/include/$<CXX_COMPILER_ID>/)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+expands to \fB/usr/include/GNU/\fP or \fB/usr/include/Clang/\fP etc, depending on
+the Id of the compiler.
+.sp
+These expressions may also may be combined with logical expressions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,4.2.0>:OLD_COMPILER>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+expands to \fBOLD_COMPILER\fP if the
+\fBCMAKE_CXX_COMPILER_VERSION\fP is less
+than 4.2.0.
+.sp
+Available informational expressions are:
+.INDENT 0.0
+.TP
+.B \fB$<CONFIGURATION>\fP
+Configuration name. Deprecated. Use \fBCONFIG\fP instead.
+.TP
+.B \fB$<CONFIG>\fP
+Configuration name
+.TP
+.B \fB$<PLATFORM_ID>\fP
+The CMake\-id of the platform.
+See also the \fBCMAKE_SYSTEM_NAME\fP variable.
+.TP
+.B \fB$<C_COMPILER_ID>\fP
+The CMake\-id of the C compiler used.
+See also the \fBCMAKE_<LANG>_COMPILER_ID\fP variable.
+.TP
+.B \fB$<CXX_COMPILER_ID>\fP
+The CMake\-id of the CXX compiler used.
+See also the \fBCMAKE_<LANG>_COMPILER_ID\fP variable.
+.TP
+.B \fB$<C_COMPILER_VERSION>\fP
+The version of the C compiler used.
+See also the \fBCMAKE_<LANG>_COMPILER_VERSION\fP variable.
+.TP
+.B \fB$<CXX_COMPILER_VERSION>\fP
+The version of the CXX compiler used.
+See also the \fBCMAKE_<LANG>_COMPILER_VERSION\fP variable.
+.TP
+.B \fB$<TARGET_FILE:tgt>\fP
+Full path to main file (.exe, .so.1.2, .a) where \fBtgt\fP is the name of a target.
+.TP
+.B \fB$<TARGET_FILE_NAME:tgt>\fP
+Name of main file (.exe, .so.1.2, .a).
+.TP
+.B \fB$<TARGET_FILE_DIR:tgt>\fP
+Directory of main file (.exe, .so.1.2, .a).
+.TP
+.B \fB$<TARGET_LINKER_FILE:tgt>\fP
+File used to link (.a, .lib, .so) where \fBtgt\fP is the name of a target.
+.TP
+.B \fB$<TARGET_LINKER_FILE_NAME:tgt>\fP
+Name of file used to link (.a, .lib, .so).
+.TP
+.B \fB$<TARGET_LINKER_FILE_DIR:tgt>\fP
+Directory of file used to link (.a, .lib, .so).
+.TP
+.B \fB$<TARGET_SONAME_FILE:tgt>\fP
+File with soname (.so.3) where \fBtgt\fP is the name of a target.
+.TP
+.B \fB$<TARGET_SONAME_FILE_NAME:tgt>\fP
+Name of file with soname (.so.3).
+.TP
+.B \fB$<TARGET_SONAME_FILE_DIR:tgt>\fP
+Directory of with soname (.so.3).
+.TP
+.B \fB$<TARGET_PDB_FILE:tgt>\fP
+Full path to the linker generated program database file (.pdb)
+where \fBtgt\fP is the name of a target.
+.sp
+See also the \fBPDB_NAME\fP and \fBPDB_OUTPUT_DIRECTORY\fP
+target properties and their configuration specific variants
+\fBPDB_NAME_<CONFIG>\fP and \fBPDB_OUTPUT_DIRECTORY_<CONFIG>\fP\&.
+.TP
+.B \fB$<TARGET_PDB_FILE_NAME:tgt>\fP
+Name of the linker generated program database file (.pdb).
+.TP
+.B \fB$<TARGET_PDB_FILE_DIR:tgt>\fP
+Directory of the linker generated program database file (.pdb).
+.TP
+.B \fB$<TARGET_PROPERTY:tgt,prop>\fP
+Value of the property \fBprop\fP on the target \fBtgt\fP\&.
+.sp
+Note that \fBtgt\fP is not added as a dependency of the target this
+expression is evaluated on.
+.TP
+.B \fB$<TARGET_PROPERTY:prop>\fP
+Value of the property \fBprop\fP on the target on which the generator
+expression is evaluated.
+.TP
+.B \fB$<INSTALL_PREFIX>\fP
+Content of the install prefix when the target is exported via
+\fBinstall(EXPORT)\fP and empty otherwise.
+.TP
+.B \fB$<COMPILE_LANGUAGE>\fP
+The compile language of source files when evaluating compile options. See
+the unary version for notes about portability of this generator
+expression.
+.UNINDENT
+.SH OUTPUT EXPRESSIONS
+.sp
+These expressions generate output, in some cases depending on an input. These
+expressions may be combined with other expressions for information or logical
+comparison:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\-I$<JOIN:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>, \-I>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+generates a string of the entries in the \fBINCLUDE_DIRECTORIES\fP target
+property with each entry preceeded by \fB\-I\fP\&. Note that a more\-complete use
+in this situation would require first checking if the INCLUDE_DIRECTORIES
+property is non\-empty:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$<$<BOOL:${prop}>:\-I$<JOIN:${prop}, \-I>>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fB${prop}\fP refers to a helper variable:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(prop "$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Available output expressions are:
+.INDENT 0.0
+.TP
+.B \fB$<0:...>\fP
+Empty string (ignores \fB\&...\fP)
+.TP
+.B \fB$<1:...>\fP
+Content of \fB\&...\fP
+.TP
+.B \fB$<JOIN:list,...>\fP
+Joins the list with the content of \fB\&...\fP
+.TP
+.B \fB$<ANGLE\-R>\fP
+A literal \fB>\fP\&. Used to compare strings which contain a \fB>\fP for example.
+.TP
+.B \fB$<COMMA>\fP
+A literal \fB,\fP\&. Used to compare strings which contain a \fB,\fP for example.
+.TP
+.B \fB$<SEMICOLON>\fP
+A literal \fB;\fP\&. Used to prevent list expansion on an argument with \fB;\fP\&.
+.TP
+.B \fB$<TARGET_NAME:...>\fP
+Marks \fB\&...\fP as being the name of a target.  This is required if exporting
+targets to multiple dependent export sets.  The \fB\&...\fP must be a literal
+name of a target\- it may not contain generator expressions.
+.TP
+.B \fB$<LINK_ONLY:...>\fP
+Content of \fB\&...\fP except when evaluated in a link interface while
+propagating Target Usage Requirements, in which case it is the
+empty string.
+Intended for use only in an \fBINTERFACE_LINK_LIBRARIES\fP target
+property, perhaps via the \fBtarget_link_libraries()\fP command,
+to specify private link dependencies without other usage requirements.
+.TP
+.B \fB$<INSTALL_INTERFACE:...>\fP
+Content of \fB\&...\fP when the property is exported using \fBinstall(EXPORT)\fP,
+and empty otherwise.
+.TP
+.B \fB$<BUILD_INTERFACE:...>\fP
+Content of \fB\&...\fP when the property is exported using \fBexport()\fP, or
+when the target is used by another target in the same buildsystem. Expands to
+the empty string otherwise.
+.TP
+.B \fB$<LOWER_CASE:...>\fP
+Content of \fB\&...\fP converted to lower case.
+.TP
+.B \fB$<UPPER_CASE:...>\fP
+Content of \fB\&...\fP converted to upper case.
+.TP
+.B \fB$<MAKE_C_IDENTIFIER:...>\fP
+Content of \fB\&...\fP converted to a C identifier.
+.TP
+.B \fB$<TARGET_OBJECTS:objLib>\fP
+List of objects resulting from build of \fBobjLib\fP\&. \fBobjLib\fP must be an
+object of type \fBOBJECT_LIBRARY\fP\&.  This expression may only be used in
+the sources of \fBadd_library()\fP and \fBadd_executable()\fP
+commands.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-generators.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,449 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-GENERATORS" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-generators \- CMake Generators Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+A \fICMake Generator\fP is responsible for writing the input files for
+a native build system.  Exactly one of the \fI\%CMake Generators\fP must be
+selected for a build tree to determine what native build system is to
+be used.  Optionally one of the \fI\%Extra Generators\fP may be selected
+as a variant of some of the \fI\%Command\-Line Build Tool Generators\fP to
+produce project files for an auxiliary IDE.
+.sp
+CMake Generators are platform\-specific so each may be available only
+on certain platforms.  The \fBcmake(1)\fP command\-line tool \fB\-\-help\fP
+output lists available generators on the current platform.  Use its \fB\-G\fP
+option to specify the generator for a new build tree.
+The \fBcmake\-gui(1)\fP offers interactive selection of a generator
+when creating a new build tree.
+.SH CMAKE GENERATORS
+.SS Command\-Line Build Tool Generators
+.sp
+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.
+.SS Makefile Generators
+.SS Borland Makefiles
+.sp
+Generates Borland makefiles.
+.SS MSYS Makefiles
+.sp
+Generates makefiles for use with MSYS \fBmake\fP under the MSYS shell.
+.sp
+Use this generator in a MSYS shell prompt and using \fBmake\fP as the build
+tool.  The generated makefiles use \fB/bin/sh\fP as the shell to launch build
+rules.  They are not compatible with a Windows command prompt.
+.sp
+To build under a Windows command prompt, use the
+\fBMinGW Makefiles\fP generator.
+.SS MinGW Makefiles
+.sp
+Generates makefiles for use with \fBmingw32\-make\fP under a Windows command
+prompt.
+.sp
+Use this generator under a Windows command prompt with MinGW in the \fBPATH\fP
+and using \fBmingw32\-make\fP as the build tool.  The generated makefiles use
+\fBcmd.exe\fP as the shell to launch build rules.  They are not compatible with
+MSYS or a unix shell.
+.sp
+To build under the MSYS shell, use the \fBMSYS Makefiles\fP generator.
+.SS NMake Makefiles
+.sp
+Generates NMake makefiles.
+.SS NMake Makefiles JOM
+.sp
+Generates JOM makefiles.
+.SS Unix Makefiles
+.sp
+Generates standard UNIX makefiles.
+.sp
+A hierarchy of UNIX makefiles is generated into the build tree.  Any
+standard UNIX\-style make program can build the project through the
+default make target.  A "make install" target is also provided.
+.SS Watcom WMake
+.sp
+Generates Watcom WMake makefiles.
+.SS Ninja Generator
+.SS Ninja
+.sp
+Generates build.ninja files.
+.sp
+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.
+.SS IDE Build Tool Generators
+.sp
+These generators support Integrated Development Environment (IDE)
+project files.  Since the IDEs configure their own environment
+one may launch CMake from any environment.
+.SS Visual Studio Generators
+.SS Visual Studio 6
+.sp
+Deprected.  Generates Visual Studio 6 project files.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This generator is deprecated and will be removed
+in a future version of CMake.  It will still be
+possible to build with VS 6 tools using the
+\fBNMake Makefiles\fP generator.
+.UNINDENT
+.UNINDENT
+.SS Visual Studio 7
+.sp
+Deprected.  Generates Visual Studio .NET 2002 project files.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This generator is deprecated and will be removed
+in a future version of CMake.  It will still be
+possible to build with VS 7.0 tools using the
+\fBNMake Makefiles\fP generator.
+.UNINDENT
+.UNINDENT
+.SS Visual Studio 7 .NET 2003
+.sp
+Generates Visual Studio .NET 2003 project files.
+.SS Visual Studio 8 2005
+.sp
+Generates Visual Studio 8 2005 project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 8 2005 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 8 2005 <WinCE\-SDK>\fP
+Specify target platform matching a Windows CE SDK name.
+.UNINDENT
+.SS Visual Studio 9 2008
+.sp
+Generates Visual Studio 9 2008 project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 9 2008 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 9 2008 IA64\fP
+Specify target platform \fBItanium\fP\&.
+.TP
+.B \fBVisual Studio 9 2008 <WinCE\-SDK>\fP
+Specify target platform matching a Windows CE SDK name.
+.UNINDENT
+.SS Visual Studio 10 2010
+.sp
+Generates Visual Studio 10 (VS 2010) project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 10 2010 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 10 2010 IA64\fP
+Specify target platform \fBItanium\fP\&.
+.UNINDENT
+.sp
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name \fBVisual Studio 10\fP without the year component.
+.SS Visual Studio 11 2012
+.sp
+Generates Visual Studio 11 (VS 2012) project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 11 2012 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 11 2012 ARM\fP
+Specify target platform \fBARM\fP\&.
+.TP
+.B \fBVisual Studio 11 2012 <WinCE\-SDK>\fP
+Specify target platform matching a Windows CE SDK name.
+.UNINDENT
+.sp
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name "Visual Studio 11" without the year component.
+.SS Visual Studio 12 2013
+.sp
+Generates Visual Studio 12 (VS 2013) project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 12 2013 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 12 2013 ARM\fP
+Specify target platform \fBARM\fP\&.
+.UNINDENT
+.sp
+For compatibility with CMake versions prior to 3.0, one may specify this
+generator using the name "Visual Studio 12" without the year component.
+.SS Visual Studio 14 2015
+.sp
+Generates Visual Studio 14 (VS 2015) project files.
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP variable may be set
+to specify a target platform name.
+.sp
+For compatibility with CMake versions prior to 3.1, one may specify
+a target platform name optionally at the end of this generator name:
+.INDENT 0.0
+.TP
+.B \fBVisual Studio 14 2015 Win64\fP
+Specify target platform \fBx64\fP\&.
+.TP
+.B \fBVisual Studio 14 2015 ARM\fP
+Specify target platform \fBARM\fP\&.
+.UNINDENT
+.SS Other Generators
+.SS Green Hills MULTI
+.sp
+Generates Green Hills MULTI project files (experimental, work\-in\-progress).
+.sp
+Customizations are available through the following cache variables:
+.INDENT 0.0
+.IP \(bu 2
+\fBGHS_BSP_NAME\fP
+.IP \(bu 2
+\fBGHS_CUSTOMIZATION\fP
+.IP \(bu 2
+\fBGHS_GPJ_MACROS\fP
+.IP \(bu 2
+\fBGHS_OS_DIR\fP
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This generator is deemed experimental as of CMake 3.3.2
+and is still a work in progress.  Future versions of CMake
+may make breaking changes as the generator matures.
+.UNINDENT
+.UNINDENT
+.SS Xcode
+.sp
+Generate Xcode project files.
+.SH EXTRA GENERATORS
+.sp
+Some of the \fI\%CMake Generators\fP listed in the \fBcmake(1)\fP
+command\-line tool \fB\-\-help\fP output may have variants that specify
+an extra generator for an auxiliary IDE tool.  Such generator
+names have the form \fB<extra\-generator> \- <main\-generator>\fP\&.
+The following extra generators are known to CMake.
+.SS CodeBlocks
+.sp
+Generates CodeBlocks project files.
+.sp
+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.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBCodeBlocks \- MinGW Makefiles\fP
+Generate with \fBMinGW Makefiles\fP\&.
+.TP
+.B \fBCodeBlocks \- NMake Makefiles\fP
+Generate with \fBNMake Makefiles\fP\&.
+.TP
+.B \fBCodeBlocks \- Ninja\fP
+Generate with \fBNinja\fP\&.
+.TP
+.B \fBCodeBlocks \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.UNINDENT
+.SS CodeLite
+.sp
+Generates CodeLite project files.
+.sp
+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.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBCodeLite \- MinGW Makefiles\fP
+Generate with \fBMinGW Makefiles\fP\&.
+.TP
+.B \fBCodeLite \- NMake Makefiles\fP
+Generate with \fBNMake Makefiles\fP\&.
+.TP
+.B \fBCodeLite \- Ninja\fP
+Generate with \fBNinja\fP\&.
+.TP
+.B \fBCodeLite \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.UNINDENT
+.SS Eclipse CDT4
+.sp
+Generates Eclipse CDT 4.0 project files.
+.sp
+Project files for Eclipse will be created in the top directory.  In
+out of source builds, a linked resource to the top level source
+directory will be created.  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.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBEclipse CDT4 \- MinGW Makefiles\fP
+Generate with \fBMinGW Makefiles\fP\&.
+.TP
+.B \fBEclipse CDT4 \- NMake Makefiles\fP
+Generate with \fBNMake Makefiles\fP\&.
+.TP
+.B \fBEclipse CDT4 \- Ninja\fP
+Generate with \fBNinja\fP\&.
+.TP
+.B \fBEclipse CDT4 \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.UNINDENT
+.SS KDevelop3
+.sp
+Generates KDevelop 3 project files.
+.sp
+Project files for KDevelop 3 will be created in the top directory and
+in every subdirectory which features a CMakeLists.txt file containing
+a PROJECT() call.  If you change the settings using KDevelop cmake
+will try its best to keep your changes when regenerating the project
+files.  Additionally a hierarchy of UNIX makefiles is generated into
+the build tree.  Any standard UNIX\-style make program can build the
+project through the default make target.  A "make install" target is
+also provided.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBKDevelop3 \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.TP
+.B \fBKDevelop3\fP
+Generate with \fBUnix Makefiles\fP\&.
+.sp
+For historical reasons this extra generator may be specified
+directly as the main generator and it will be used as the
+extra generator with \fBUnix Makefiles\fP automatically.
+.UNINDENT
+.SS Kate
+.sp
+Generates Kate project files.
+.sp
+A project file for Kate will be created in the top directory in the top level
+build directory.
+To use it in kate, the Project plugin must be enabled.
+The project file is loaded in kate simply by opening the
+ProjectName.kateproject file in the editor.
+If the kate Build\-plugin is enabled, all targets generated by CMake are
+available for building.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBKate \- MinGW Makefiles\fP
+Generate with \fBMinGW Makefiles\fP\&.
+.TP
+.B \fBKate \- NMake Makefiles\fP
+Generate with \fBNMake Makefiles\fP\&.
+.TP
+.B \fBKate \- Ninja\fP
+Generate with \fBNinja\fP\&.
+.TP
+.B \fBKate \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.UNINDENT
+.SS Sublime Text 2
+.sp
+Generates Sublime Text 2 project files.
+.sp
+Project files for Sublime Text 2 will be created in the top directory
+and in every subdirectory which features a CMakeLists.txt file
+containing a PROJECT() call.  Additionally Makefiles (or build.ninja
+files) are 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.
+.sp
+This "extra" generator may be specified as:
+.INDENT 0.0
+.TP
+.B \fBSublime Text 2 \- MinGW Makefiles\fP
+Generate with \fBMinGW Makefiles\fP\&.
+.TP
+.B \fBSublime Text 2 \- NMake Makefiles\fP
+Generate with \fBNMake Makefiles\fP\&.
+.TP
+.B \fBSublime Text 2 \- Ninja\fP
+Generate with \fBNinja\fP\&.
+.TP
+.B \fBSublime Text 2 \- Unix Makefiles\fP
+Generate with \fBUnix Makefiles\fP\&.
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-language.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,560 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-LANGUAGE" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-language \- CMake Language Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH ORGANIZATION
+.sp
+CMake input files are written in the "CMake Language" in source files
+named \fBCMakeLists.txt\fP or ending in a \fB\&.cmake\fP file name extension.
+.sp
+CMake Language source files in a project are organized into:
+.INDENT 0.0
+.IP \(bu 2
+\fI\%Directories\fP (\fBCMakeLists.txt\fP),
+.IP \(bu 2
+\fI\%Scripts\fP (\fB<script>.cmake\fP), and
+.IP \(bu 2
+\fI\%Modules\fP (\fB<module>.cmake\fP).
+.UNINDENT
+.SS Directories
+.sp
+When CMake processes a project source tree, the entry point is
+a source file called \fBCMakeLists.txt\fP in the top\-level source
+directory.  This file may contain the entire build specification
+or use the \fBadd_subdirectory()\fP command to add subdirectories
+to the build.  Each subdirectory added by the command must also
+contain a \fBCMakeLists.txt\fP file as the entry point to that
+directory.  For each source directory whose \fBCMakeLists.txt\fP file
+is processed CMake generates a corresponding directory in the build
+tree to act as the default working and output directory.
+.SS Scripts
+.sp
+An individual \fB<script>.cmake\fP source file may be processed
+in \fIscript mode\fP by using the \fBcmake(1)\fP command\-line tool
+with the \fB\-P\fP 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.
+.SS Modules
+.sp
+CMake Language code in either \fI\%Directories\fP or \fI\%Scripts\fP may
+use the \fBinclude()\fP command to load a \fB<module>.cmake\fP
+source file in the scope of the including context.
+See the \fBcmake\-modules(7)\fP 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 \fBCMAKE_MODULE_PATH\fP
+variable.
+.SH SYNTAX
+.SS Encoding
+.sp
+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 \fB\en\fP or \fB\er\en\fP but will be converted to \fB\en\fP
+as input files are read.
+.sp
+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
+\fI\%Byte\-Order Mark\fP in source files.
+.SS Source Files
+.sp
+A CMake Language source file consists of zero or more
+\fI\%Command Invocations\fP separated by newlines and optionally
+spaces and \fI\%Comments\fP:
+.sp
+.nf
+\fBfile        \fP ::=  \fI\%file_element\fP*
+\fBfile_element\fP ::=  \fI\%command_invocation\fP \fI\%line_ending\fP |
+                  (\fI\%bracket_comment\fP|\fI\%space\fP)* \fI\%line_ending\fP
+\fBline_ending \fP ::=  \fI\%line_comment\fP? \fI\%newline\fP
+\fBspace       \fP ::=  <match \(aq[ \et]+\(aq>
+\fBnewline     \fP ::=  <match \(aq\en\(aq>
+
+.fi
+.sp
+Note that any source file line not inside \fI\%Command Arguments\fP or
+a \fI\%Bracket Comment\fP can end in a \fI\%Line Comment\fP\&.
+.SS Command Invocations
+.sp
+A \fIcommand invocation\fP is a name followed by paren\-enclosed arguments
+separated by whitespace:
+.sp
+.nf
+\fBcommand_invocation \fP ::=  \fI\%space\fP* \fI\%identifier\fP \fI\%space\fP* \(aq(\(aq \fI\%arguments\fP \(aq)\(aq
+\fBidentifier         \fP ::=  <match \(aq[A\-Za\-z_][A\-Za\-z0\-9_]*\(aq>
+\fBarguments          \fP ::=  \fI\%argument\fP? \fI\%separated_arguments\fP*
+\fBseparated_arguments\fP ::=  \fI\%separation\fP+ \fI\%argument\fP? |
+                         \fI\%separation\fP* \(aq(\(aq \fI\%arguments\fP \(aq)\(aq
+\fBseparation         \fP ::=  \fI\%space\fP | \fI\%line_ending\fP
+
+.fi
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(hello world.c)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Command names are case\-insensitive.
+Nested unquoted parentheses in the arguments must balance.
+Each \fB(\fP or \fB)\fP is given to the command invocation as
+a literal \fI\%Unquoted Argument\fP\&.  This may be used in calls
+to the \fBif()\fP command to enclose conditions.
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(FALSE AND (FALSE OR TRUE)) # evaluates to FALSE
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake versions prior to 3.0 require command name identifiers
+to be at least 2 characters.
+.sp
+CMake versions prior to 2.8.12 silently accept an \fI\%Unquoted Argument\fP
+or a \fI\%Quoted Argument\fP immediately following a \fI\%Quoted Argument\fP and
+not separated by any whitespace.  For compatibility, CMake 2.8.12 and
+higher accept such code but produce a warning.
+.UNINDENT
+.UNINDENT
+.SS Command Arguments
+.sp
+There are three types of arguments within \fI\%Command Invocations\fP:
+.sp
+.nf
+\fBargument\fP ::=  \fI\%bracket_argument\fP | \fI\%quoted_argument\fP | \fI\%unquoted_argument\fP
+
+.fi
+.SS Bracket Argument
+.sp
+A \fIbracket argument\fP, inspired by \fI\%Lua\fP long bracket syntax,
+encloses content between opening and closing "brackets" of the
+same length:
+.sp
+.nf
+\fBbracket_argument\fP ::=  \fI\%bracket_open\fP \fI\%bracket_content\fP \fI\%bracket_close\fP
+\fBbracket_open    \fP ::=  \(aq[\(aq \(aq=\(aq{len} \(aq[\(aq
+\fBbracket_content \fP ::=  <any text not containing a \fI\%bracket_close\fP
+                       of the same {len} as the \fI\%bracket_open\fP>
+\fBbracket_close   \fP ::=  \(aq]\(aq \(aq=\(aq{len} \(aq]\(aq
+
+.fi
+.sp
+An opening bracket of length \fIlen >= 0\fP is written \fB[\fP followed
+by \fIlen\fP \fB=\fP followed by \fB[\fP and the corresponding closing
+bracket is written \fB]\fP followed by \fIlen\fP \fB=\fP followed by \fB]\fP\&.
+Brackets do not nest.  A unique length may always be chosen
+for the opening and closing brackets to contain closing brackets
+of other lengths.
+.sp
+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 \fI\%Escape Sequences\fP or \fI\%Variable References\fP,
+is performed.  A bracket argument is always given to the command
+invocation as exactly one argument.
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+message([=[
+This is the first line in a bracket argument with bracket length 1.
+No \e\-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.
+]=])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake versions prior to 3.0 do not support bracket arguments.
+They interpret the opening bracket as the start of an
+\fI\%Unquoted Argument\fP\&.
+.UNINDENT
+.UNINDENT
+.SS Quoted Argument
+.sp
+A \fIquoted argument\fP encloses content between opening and closing
+double\-quote characters:
+.sp
+.nf
+\fBquoted_argument    \fP ::=  \(aq"\(aq \fI\%quoted_element\fP* \(aq"\(aq
+\fBquoted_element     \fP ::=  <any character except \(aq\e\(aq or \(aq"\(aq> |
+                         \fI\%escape_sequence\fP |
+                         \fI\%quoted_continuation\fP
+\fBquoted_continuation\fP ::=  \(aq\e\(aq \fI\%newline\fP
+
+.fi
+.sp
+Quoted argument content consists of all text between opening and
+closing quotes.  Both \fI\%Escape Sequences\fP and \fI\%Variable References\fP
+are evaluated.  A quoted argument is always given to the command
+invocation as exactly one argument.
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+message("This is a quoted argument containing multiple lines.
+This is always one argument even though it contains a ; character.
+Both \e\e\-escape sequences and ${variable} references are evaluated.
+The text does not end on an escaped double\-quote like \e".
+It does end in an unescaped double quote.
+")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The final \fB\e\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+message("\e
+This is the first line of a quoted argument. \e
+In fact it is the only line but since it is long \e
+the source code uses line continuation.\e
+")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake versions prior to 3.0 do not support continuation with \fB\e\fP\&.
+They report errors in quoted arguments containing lines ending in
+an odd number of \fB\e\fP characters.
+.UNINDENT
+.UNINDENT
+.SS Unquoted Argument
+.sp
+An \fIunquoted argument\fP is not enclosed by any quoting syntax.
+It may not contain any whitespace, \fB(\fP, \fB)\fP, \fB#\fP, \fB"\fP, or \fB\e\fP
+except when escaped by a backslash:
+.sp
+.nf
+\fBunquoted_argument\fP ::=  \fI\%unquoted_element\fP+ | \fI\%unquoted_legacy\fP
+\fBunquoted_element \fP ::=  <any character except whitespace or one of \(aq()#"\e\(aq> |
+                       \fI\%escape_sequence\fP
+\fBunquoted_legacy  \fP ::=  <see note in text>
+
+.fi
+.sp
+Unquoted argument content consists of all text in a contiguous block
+of allowed or escaped characters.  Both \fI\%Escape Sequences\fP and
+\fI\%Variable References\fP are evaluated.  The resulting value is divided
+in the same way \fI\%Lists\fP 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.
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+foreach(arg
+    NoSpace
+    Escaped\e Space
+    This;Divides;Into;Five;Arguments
+    Escaped\e;Semicolon
+    )
+  message("${arg}")
+endforeach()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+To support legacy CMake code, unquoted arguments may also contain
+double\-quoted strings (\fB"..."\fP, possibly enclosing horizontal
+whitespace), and make\-style variable references (\fB$(MAKEVAR)\fP).
+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 \fB\-Da="b c"\fP,
+\fB\-Da=$(v)\fP, and \fBa" "b"c"d\fP are each interpreted literally.
+.sp
+The above "unquoted_legacy" production represents such arguments.
+We do not recommend using legacy unquoted arguments in new code.
+Instead use a \fI\%Quoted Argument\fP or a \fI\%Bracket Argument\fP to
+represent the content.
+.UNINDENT
+.UNINDENT
+.SS Escape Sequences
+.sp
+An \fIescape sequence\fP is a \fB\e\fP followed by one character:
+.sp
+.nf
+\fBescape_sequence \fP ::=  \fI\%escape_identity\fP | \fI\%escape_encoded\fP | \fI\%escape_semicolon\fP
+\fBescape_identity \fP ::=  \(aq\e\(aq <match \(aq[^A\-Za\-z0\-9;]\(aq>
+\fBescape_encoded  \fP ::=  \(aq\et\(aq | \(aq\er\(aq | \(aq\en\(aq
+\fBescape_semicolon\fP ::=  \(aq\e;\(aq
+
+.fi
+.sp
+A \fB\e\fP followed by a non\-alphanumeric character simply encodes the literal
+character without interpreting it as syntax.  A \fB\et\fP, \fB\er\fP, or \fB\en\fP
+encodes a tab, carriage return, or newline character, respectively. A \fB\e;\fP
+outside of any \fI\%Variable References\fP  encodes itself but may be used in an
+\fI\%Unquoted Argument\fP to encode the \fB;\fP without dividing the argument
+value on it.  A \fB\e;\fP inside \fI\%Variable References\fP encodes the literal
+\fB;\fP character.  (See also policy \fBCMP0053\fP documentation for
+historical considerations.)
+.SS Variable References
+.sp
+A \fIvariable reference\fP has the form \fB${variable_name}\fP and is
+evaluated inside a \fI\%Quoted Argument\fP or an \fI\%Unquoted Argument\fP\&.
+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. \fB${outer_${inner_variable}_variable}\fP\&.
+.sp
+Literal variable references may consist of alphanumeric characters,
+the characters \fB/_.+\-\fP, and \fI\%Escape Sequences\fP\&.  Nested references
+may be used to evaluate variables of any name.  (See also policy
+\fBCMP0053\fP documentation for historical considerations.)
+.sp
+The \fI\%Variables\fP section documents the scope of variable names
+and how their values are set.
+.sp
+An \fIenvironment variable reference\fP has the form \fB$ENV{VAR}\fP and
+is evaluated in the same contexts as a normal variable reference.
+.SS Comments
+.sp
+A comment starts with a \fB#\fP character that is not inside a
+\fI\%Bracket Argument\fP, \fI\%Quoted Argument\fP, or escaped with \fB\e\fP
+as part of an \fI\%Unquoted Argument\fP\&.  There are two types of
+comments: a \fI\%Bracket Comment\fP and a \fI\%Line Comment\fP\&.
+.SS Bracket Comment
+.sp
+A \fB#\fP immediately followed by a \fI\%Bracket Argument\fP forms a
+\fIbracket comment\fP consisting of the entire bracket enclosure:
+.sp
+.nf
+\fBbracket_comment\fP ::=  \(aq#\(aq \fI\%bracket_argument\fP
+
+.fi
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#[[This is a bracket comment.
+It runs until the close bracket.]]
+message("First Argument\en" #[[Bracket Comment]] "Second Argument")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+CMake versions prior to 3.0 do not support bracket comments.
+They interpret the opening \fB#\fP as the start of a \fI\%Line Comment\fP\&.
+.UNINDENT
+.UNINDENT
+.SS Line Comment
+.sp
+A \fB#\fP not immediately followed by a \fI\%Bracket Argument\fP forms a
+\fIline comment\fP that runs until the end of the line:
+.sp
+.nf
+\fBline_comment\fP ::=  \(aq#\(aq <any text not starting in a \fI\%bracket_argument\fP
+                       and not containing a \fI\%newline\fP>
+
+.fi
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# This is a line comment.
+message("First Argument\en" # This is a line comment :)
+        "Second Argument") # This is a line comment.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH CONTROL STRUCTURES
+.SS Conditional Blocks
+.sp
+The \fBif()\fP/\fBelseif()\fP/\fBelse()\fP/\fBendif()\fP
+commands delimit code blocks to be executed conditionally.
+.SS Loops
+.sp
+The \fBforeach()\fP/\fBendforeach()\fP and
+\fBwhile()\fP/\fBendwhile()\fP commands delimit code
+blocks to be executed in a loop.  Inside such blocks the
+\fBbreak()\fP command may be used to terminate the loop
+early whereas the \fBcontinue()\fP command may be used
+to start with the next iteration immediately.
+.SS Command Definitions
+.sp
+The \fBmacro()\fP/\fBendmacro()\fP, and
+\fBfunction()\fP/\fBendfunction()\fP commands delimit
+code blocks to be recorded for later invocation as commands.
+.SH VARIABLES
+.sp
+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 \fBset()\fP and \fBunset()\fP 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 \fB_\fP and \fB\-\fP\&.
+.sp
+Variables have dynamic scope.  Each variable "set" or "unset"
+creates a binding in the current scope:
+.INDENT 0.0
+.TP
+.B Function Scope
+\fI\%Command Definitions\fP created by the \fBfunction()\fP 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.
+.TP
+.B Directory Scope
+Each of the \fI\%Directories\fP in a source tree has its own variable
+bindings.  Before processing the \fBCMakeLists.txt\fP file for a
+directory, CMake copies all variable bindings currently defined
+in the parent directory, if any, to initialize the new directory
+scope.  CMake \fI\%Scripts\fP, when processed with \fBcmake \-P\fP, bind
+variables in one "directory" scope.
+.sp
+A variable "set" or "unset" not inside a function call binds
+to the current directory scope.
+.TP
+.B 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 \fBCACHE\fP option of the
+\fBset()\fP and \fBunset()\fP commands.
+.UNINDENT
+.sp
+When evaluating \fI\%Variable References\fP, 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.
+.sp
+The \fBcmake\-variables(7)\fP manual documents many variables
+that are provided by CMake or have meaning to CMake when set
+by project code.
+.SH LISTS
+.sp
+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 \fI\%Unquoted Argument\fP\&.  In such contexts, a string
+is divided into list elements by splitting on \fB;\fP characters not
+following an unequal number of \fB[\fP and \fB]\fP characters and not
+immediately preceded by a \fB\e\fP\&.  The sequence \fB\e;\fP does not
+divide a value but is replaced by \fB;\fP in the resulting element.
+.sp
+A list of elements is represented as a string by concatenating
+the elements separated by \fB;\fP\&.  For example, the \fBset()\fP
+command stores multiple values into the destination variable
+as a list:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(srcs a.c b.c c.c) # sets "srcs" to "a.c;b.c;c.c"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fB;\fP characters
+in list elements, thus flattening nested lists:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(x a "b;c") # sets "x" to "a;b;c", not "a;b\e;c"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-modules.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,16007 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-MODULES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-modules \- CMake Modules Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH ALL MODULES
+.SS AddFileDependencies
+.sp
+ADD_FILE_DEPENDENCIES(source_file depend_files...)
+.sp
+Adds the given files as dependencies to source_file
+.SS BundleUtilities
+.sp
+Functions to help assemble a standalone bundle application.
+.sp
+A collection of CMake utility functions useful for dealing with .app
+bundles on the Mac and bundle\-like directories on any OS.
+.sp
+The following functions are provided by this module:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Requires CMake 2.6 or greater because it uses function, break and
+PARENT_SCOPE.  Also depends on GetPrerequisites.cmake.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FIXUP_BUNDLE(<app> <libs> <dirs>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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)
+.sp
+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.
+.sp
+Then clear all the keys and call verify_app on the final bundle to
+ensure that it is truly standalone.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+COPY_AND_FIXUP_BUNDLE(<src> <dst> <libs> <dirs>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Makes a copy of the bundle <src> at location <dst> and then fixes up
+the new copied bundle in\-place at <dst>...
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+VERIFY_APP(<app>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Verifies that an application <app> appears valid based on running
+analysis tools on it.  Calls "message(FATAL_ERROR" if the application
+is not verified.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_BUNDLE_MAIN_EXECUTABLE(<bundle> <result_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The result will be the full path name of the bundle\(aqs main executable
+file or an "error:" prefixed string if it could not be determined.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_DOTAPP_DIR(<exe> <dotapp_dir_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+The returned directory may or may not exist.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_BUNDLE_AND_EXECUTABLE(<app> <bundle_var> <executable_var> <valid_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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>
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_BUNDLE_ALL_EXECUTABLES(<bundle> <exes_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Scans the given bundle recursively for all executable files and
+accumulates them into a variable.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_ITEM_KEY(<item> <key_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 "_"
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CLEAR_BUNDLE_KEYS(<keys_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Loop over the list of keys, clearing all the variables associated with
+each key.  After the loop, clear the list of keys itself.
+.sp
+Caller of get_bundle_keys should call clear_bundle_keys when done with
+list of keys.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SET_BUNDLE_KEY_VALUES(<keys_var> <context> <item> <exepath> <dirs>
+                      <copyflag> [<rpaths>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Add a key to the list (if necessary) for the given item.  If added,
+also set all the variables associated with that key.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_BUNDLE_KEYS(<app> <libs> <dirs> <keys_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+COPY_RESOLVED_ITEM_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE(<resolved_item> <resolved_embedded_item>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FIXUP_BUNDLE_ITEM(<resolved_embedded_item> <exepath> <dirs>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.)
+.sp
+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)
+.sp
+Also, change the id of the item being fixed up to its own
+_EMBEDDED_ITEM value.
+.sp
+Accumulate changes in a local variable and make \fIone\fP call to
+install_name_tool at the end of the function with all the changes at
+once.
+.sp
+If the BU_CHMOD_BUNDLE_ITEMS variable is set then bundle items will be
+marked writable before install_name_tool tries to change them.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+VERIFY_BUNDLE_SYMLINKS(<bundle> <result_var> <info_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS CheckCCompilerFlag
+.sp
+Check whether the C compiler supports a given flag.
+.sp
+CHECK_C_COMPILER_FLAG(<flag> <var>)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<flag> \- the compiler flag
+<var>  \- variable to store the result
+         Will be created as an internal cache variable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS CheckCSourceCompiles
+.sp
+Check if given C source compiles and links into an executable
+.sp
+CHECK_C_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail\-regex>])
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<code>       \- source code to try to compile, must define \(aqmain\(aq
+<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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckCSourceRuns
+.sp
+Check if the given C source code compiles and runs.
+.sp
+CHECK_C_SOURCE_RUNS(<code> <var>)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckCXXCompilerFlag
+.sp
+Check whether the CXX compiler supports a given flag.
+.sp
+CHECK_CXX_COMPILER_FLAG(<flag> <var>)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<flag> \- the compiler flag
+<var>  \- variable to store the result
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS CheckCXXSourceCompiles
+.sp
+Check if given C++ source compiles and links into an executable
+.sp
+CHECK_CXX_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail\-regex>])
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<code>       \- source code to try to compile, must define \(aqmain\(aq
+<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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckCXXSourceRuns
+.sp
+Check if the given C++ source code compiles and runs.
+.sp
+CHECK_CXX_SOURCE_RUNS(<code> <var>)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckCXXSymbolExists
+.sp
+Check if a symbol exists as a function, variable, or macro in C++
+.sp
+CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
+.sp
+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.
+.sp
+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).
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckFortranCompilerFlag
+.sp
+Check whether the Fortran compiler supports a given flag.
+.sp
+CHECK_Fortran_COMPILER_FLAG(<flag> <var>)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<flag> \- the compiler flag
+<var>  \- variable to store the result
+         Will be created as an internal cache variable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS CheckFortranFunctionExists
+.sp
+macro which checks if the Fortran function exists
+.sp
+CHECK_FORTRAN_FUNCTION_EXISTS(FUNCTION VARIABLE)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FUNCTION \- the name of the Fortran function
+VARIABLE \- variable to store the result
+           Will be created as an internal cache variable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckFortranSourceCompiles
+.sp
+Check if given Fortran source compiles and links into an executable:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_Fortran_SOURCE_COMPILES(<code> <var> [FAIL_REGEX <fail\-regex>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The arguments are:
+.INDENT 0.0
+.TP
+.B \fB<code>\fP
+Source code to try to compile.  It must define a PROGRAM entry point.
+.TP
+.B \fB<var>\fP
+Variable to store whether the source code compiled.
+Will be created as an internal cache variable.
+.TP
+.B \fB<fail\-regex>\fP
+Fail if test output matches this regex.
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckFunctionExists
+.sp
+Check if a C function can be linked
+.sp
+CHECK_FUNCTION_EXISTS(<function> <variable>)
+.sp
+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.
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckIncludeFileCXX
+.sp
+Provides a macro to check if a header file can be included in \fBCXX\fP\&.
+.INDENT 0.0
+.TP
+.B CHECK_INCLUDE_FILE_CXX
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_INCLUDE_FILE_CXX(<include> <variable> [<flags>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Check if the given \fB<include>\fP file may be included in a \fBCXX\fP
+source file and store the result in an internal cache entry named
+\fB<variable>\fP\&.  The optional third argument may be used to add
+compilation flags to the check (or use \fBCMAKE_REQUIRED_FLAGS\fP below).
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_REQUIRED_FLAGS\fP
+string of compile command line flags
+.TP
+.B \fBCMAKE_REQUIRED_DEFINITIONS\fP
+list of macros to define (\-DFOO=bar)
+.TP
+.B \fBCMAKE_REQUIRED_INCLUDES\fP
+list of include directories
+.TP
+.B \fBCMAKE_REQUIRED_QUIET\fP
+execute quietly without messages
+.UNINDENT
+.sp
+See modules \fBCheckIncludeFile\fP and \fBCheckIncludeFiles\fP
+to check for one or more \fBC\fP headers.
+.SS CheckIncludeFile
+.sp
+Provides a macro to check if a header file can be included in \fBC\fP\&.
+.INDENT 0.0
+.TP
+.B CHECK_INCLUDE_FILE
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_INCLUDE_FILE(<include> <variable> [<flags>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Check if the given \fB<include>\fP file may be included in a \fBC\fP
+source file and store the result in an internal cache entry named
+\fB<variable>\fP\&.  The optional third argument may be used to add
+compilation flags to the check (or use \fBCMAKE_REQUIRED_FLAGS\fP below).
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_REQUIRED_FLAGS\fP
+string of compile command line flags
+.TP
+.B \fBCMAKE_REQUIRED_DEFINITIONS\fP
+list of macros to define (\-DFOO=bar)
+.TP
+.B \fBCMAKE_REQUIRED_INCLUDES\fP
+list of include directories
+.TP
+.B \fBCMAKE_REQUIRED_QUIET\fP
+execute quietly without messages
+.UNINDENT
+.sp
+See the \fBCheckIncludeFiles\fP module to check for multiple headers
+at once.  See the \fBCheckIncludeFileCXX\fP module to check for headers
+using the \fBCXX\fP language.
+.SS CheckIncludeFiles
+.sp
+Provides a macro to check if a list of one or more header files can
+be included together in \fBC\fP\&.
+.INDENT 0.0
+.TP
+.B CHECK_INCLUDE_FILES
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_INCLUDE_FILES("<includes>" <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Check if the given \fB<includes>\fP list may be included together
+in a \fBC\fP source file and store the result in an internal cache
+entry named \fB<variable>\fP\&.  Specify the \fB<includes>\fP argument
+as a ;\-list of header file names.
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_REQUIRED_FLAGS\fP
+string of compile command line flags
+.TP
+.B \fBCMAKE_REQUIRED_DEFINITIONS\fP
+list of macros to define (\-DFOO=bar)
+.TP
+.B \fBCMAKE_REQUIRED_INCLUDES\fP
+list of include directories
+.TP
+.B \fBCMAKE_REQUIRED_QUIET\fP
+execute quietly without messages
+.UNINDENT
+.sp
+See modules \fBCheckIncludeFile\fP and \fBCheckIncludeFileCXX\fP
+to check for a single header file in \fBC\fP or \fBCXX\fP languages.
+.SS CheckLanguage
+.sp
+Check if a language can be enabled
+.sp
+Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+check_language(<lang>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+check_language(Fortran)
+if(CMAKE_Fortran_COMPILER)
+  enable_language(Fortran)
+else()
+  message(STATUS "No Fortran support")
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckLibraryExists
+.sp
+Check if the function exists.
+.sp
+CHECK_LIBRARY_EXISTS (LIBRARY FUNCTION LOCATION VARIABLE)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckPrototypeDefinition
+.sp
+Check if the protoype we expect is correct.
+.sp
+check_prototype_definition(FUNCTION PROTOTYPE RETURN HEADER VARIABLE)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+check_prototype_definition(getpwent_r
+ "struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)"
+ "NULL"
+ "unistd.h;pwd.h"
+ SOLARIS_GETPWENT_R)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckStructHasMember
+.sp
+Check if the given struct or class has the specified member variable
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_STRUCT_HAS_MEMBER(<struct> <member> <header> <variable>
+                        [LANGUAGE <language>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example: CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h
+HAVE_TIMEVAL_TV_SEC LANGUAGE C)
+.SS CheckSymbolExists
+.sp
+Check if a symbol exists as a function, variable, or macro
+.sp
+CHECK_SYMBOL_EXISTS(<symbol> <files> <variable>)
+.sp
+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.
+.sp
+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++.
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckTypeSize
+.sp
+Check sizeof a type
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
+                              [LANGUAGE <language>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<size> = type has non\-zero size <size>
+"0"    = type has arch\-dependent size (see below)
+""     = type does not exist
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Both \fBHAVE_${VARIABLE}\fP and \fB${VARIABLE}\fP will be created as internal
+cache variables.
+.sp
+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.
+.sp
+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}".
+.sp
+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.
+.sp
+If LANGUAGE is set, the specified compiler will be used to perform the
+check. Acceptable values are C and CXX
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+check_type_size("((struct something*)0)\->member" SIZEOF_MEMBER)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CheckVariableExists
+.sp
+Check if the variable exists.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_VARIABLE_EXISTS(VAR VARIABLE)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+VAR      \- the name of the variable
+VARIABLE \- variable to store the result
+           Will be created as an internal cache variable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This macro is only for C variables.
+.sp
+The following variables may be set before calling this macro to modify
+the way the check is run:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeAddFortranSubdirectory
+.sp
+Use MinGW gfortran from VS if a fortran compiler is not found.
+.sp
+The \(aqadd_fortran_subdirectory\(aq 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+ )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Limitations:
+.sp
+NO_EXTERNAL_INSTALL is required for forward compatibility with a
+future version that supports installation of the external project
+binaries during "make install".
+.SS CMakeBackwardCompatibilityCXX
+.sp
+define a bunch of backwards compatibility variables
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_ANSI_CXXFLAGS \- flag for ansi c++
+CMAKE_HAS_ANSI_STRING_STREAM \- has <strstream>
+include(TestForANSIStreamHeaders)
+include(CheckIncludeFileCXX)
+include(TestForSTDNamespace)
+include(TestForANSIForScope)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeDependentOption
+.sp
+Macro to provide an option dependent on other options.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_DEPENDENT_OPTION(USE_FOO "Use Foo" ON
+                       "USE_BAR;NOT USE_ZOT" OFF)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS CMakeDetermineVSServicePack
+.sp
+Deprecated.  Do not use.
+.sp
+The functionality of this module has been superseded by the
+\fBCMAKE_<LANG>_COMPILER_VERSION\fP variable that contains
+the compiler version number.
+.sp
+Determine the Visual Studio service pack of the \(aqcl\(aq in use.
+.sp
+Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(MSVC)
+  include(CMakeDetermineVSServicePack)
+  DetermineVSServicePack( my_service_pack )
+  if( my_service_pack )
+    message(STATUS "Detected: ${my_service_pack}")
+  endif()
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Function DetermineVSServicePack sets the given variable to one of the
+following values or an empty string if unknown:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+vc80, vc80sp1
+vc90, vc90sp1
+vc100, vc100sp1
+vc110, vc110sp1, vc110sp2, vc110sp3, vc110sp4
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeExpandImportedTargets
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_EXPAND_IMPORTED_TARGETS(<var> LIBRARIES lib1 lib2...libN
+                              [CONFIGURATION <config>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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}.
+This macro is used by all Check*.cmake files which use try_compile()
+or try_run() and support CMAKE_REQUIRED_LIBRARIES , so that these
+checks support imported targets in CMAKE_REQUIRED_LIBRARIES:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_expand_imported_targets(expandedLibs
+  LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
+  CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeFindDependencyMacro
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_dependency(<dep> [<version> [EXACT]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBfind_dependency()\fP wraps a \fBfind_package()\fP 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 \fBfind_package()\fP call.  It also sets an
+informative diagnostic message if the dependency could not be found.
+.SS CMakeFindFrameworks
+.sp
+helper module to find OSX frameworks
+.SS CMakeFindPackageMode
+.sp
+This file is executed by cmake when invoked with \-\-find\-package.  It
+expects that the following variables are set using \-D:
+.INDENT 0.0
+.TP
+.B \fBNAME\fP
+name of the package
+.TP
+.B \fBCOMPILER_ID\fP
+the CMake compiler ID for which the result is,
+i.e. GNU/Intel/Clang/MSVC, etc.
+.TP
+.B \fBLANGUAGE\fP
+language for which the result will be used,
+i.e. C/CXX/Fortan/ASM
+.TP
+.B \fBMODE\fP
+.INDENT 7.0
+.TP
+.B \fBEXIST\fP
+only check for existence of the given package
+.TP
+.B \fBCOMPILE\fP
+print the flags needed for compiling an object file which uses
+the given package
+.TP
+.B \fBLINK\fP
+print the flags needed for linking when using the given package
+.UNINDENT
+.TP
+.B \fBQUIET\fP
+if TRUE, don\(aqt print anything
+.UNINDENT
+.SS CMakeForceCompiler
+.sp
+This module defines macros intended for use by cross\-compiling
+toolchain files when CMake is not able to automatically detect the
+compiler identification.
+.sp
+Macro CMAKE_FORCE_C_COMPILER has the following signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_FORCE_C_COMPILER(<compiler> <compiler\-id>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler\-id>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Macro CMAKE_FORCE_Fortran_COMPILER has the following signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler\-id>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+So a simple toolchain file could look like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include (CMakeForceCompiler)
+set(CMAKE_SYSTEM_NAME Generic)
+CMAKE_FORCE_C_COMPILER   (chc12 MetrowerksHicross)
+CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeGraphVizOptions
+.sp
+The builtin graphviz support of CMake.
+.SS Variables specific to the graphviz support
+.sp
+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
+.INDENT 0.0
+.IP \(bu 2
+a foo.dot file showing all dependencies in the project
+.IP \(bu 2
+a foo.dot.<target> file for each target, file showing on which other targets the respective target depends
+.IP \(bu 2
+a foo.dot.<target>.dependers file, showing which other targets depend on the respective target
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_GRAPH_TYPE
+The graph type
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : "digraph"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_GRAPH_NAME
+The graph name.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : "GG"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_GRAPH_HEADER
+The header written at the top of the graphviz file.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : "node [n  fontsize = "12"];"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_NODE_PREFIX
+The prefix for each node in the graphviz file.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : "node"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_EXECUTABLES
+Set this to FALSE to exclude executables from the generated graphs.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_STATIC_LIBS
+Set this to FALSE to exclude static libraries from the generated graphs.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_SHARED_LIBS
+Set this to FALSE to exclude shared libraries from the generated graphs.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_MODULE_LIBS
+Set this to FALSE to exclude module libraries from the generated graphs.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_EXTERNAL_LIBS
+Set this to FALSE to exclude external libraries from the generated graphs.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_IGNORE_TARGETS
+A list of regular expressions for ignoring targets.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : empty
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_GENERATE_PER_TARGET
+Set this to FALSE to exclude per target graphs \fBfoo.dot.<target>\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B GRAPHVIZ_GENERATE_DEPENDERS
+Set this to FALSE to exclude depender graphs \fBfoo.dot.<target>.dependers\fP\&.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : TRUE
+.UNINDENT
+.UNINDENT
+.SS CMakePackageConfigHelpers
+.sp
+Helpers functions for creating config files that can be included by other
+projects to find and use a package.
+.sp
+Adds the \fI\%configure_package_config_file()\fP and
+\fI\%write_basic_package_version_file()\fP commands.
+.SS Generating a Package Configuration File
+.INDENT 0.0
+.TP
+.B configure_package_config_file
+Create a config file for a project:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+\fBconfigure_package_config_file()\fP should be used instead of the plain
+\fBconfigure_file()\fP command when creating the \fB<Name>Config.cmake\fP
+or \fB<Name>\-config.cmake\fP file for installing a project or library.  It helps
+making the resulting package relocatable by avoiding hardcoded paths in the
+installed \fBConfig.cmake\fP file.
+.sp
+In a \fBFooConfig.cmake\fP file there may be code like this to make the install
+destinations know to the using project:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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@" )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fBinstalledPrefix\fP is correct, and if \fBCONFIG_INSTALL_DIR\fP
+contains a relative path, which in general cannot be guaranteed.  This has the
+effect that the resulting \fBFooConfig.cmake\fP 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
+\fBCMAKE_INSTALL_PREFIX\fP was set at build/cmake time.
+.sp
+Using \fBconfigure_package_config_file\fP helps.  If used correctly, it makes
+the resulting \fBFooConfig.cmake\fP file relocatable.  Usage:
+.INDENT 0.0
+.IP 1. 3
+write a \fBFooConfig.cmake.in\fP file as you are used to
+.IP 2. 3
+insert a line containing only the string \fB@PACKAGE_INIT@\fP
+.IP 3. 3
+instead of \fBset(FOO_DIR "@SOME_INSTALL_DIR@")\fP, use
+\fBset(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")\fP (this must be after the
+\fB@PACKAGE_INIT@\fP line)
+.IP 4. 3
+instead of using the normal \fBconfigure_file()\fP, use
+\fBconfigure_package_config_file()\fP
+.UNINDENT
+.sp
+The \fB<input>\fP and \fB<output>\fP arguments are the input and output file, the
+same way as in \fBconfigure_file()\fP\&.
+.sp
+The \fB<path>\fP given to \fBINSTALL_DESTINATION\fP must be the destination where
+the \fBFooConfig.cmake\fP file will be installed to.  This path can either be
+absolute, or relative to the \fBINSTALL_PREFIX\fP path.
+.sp
+The variables \fB<var1>\fP to \fB<varN>\fP given as \fBPATH_VARS\fP are the
+variables which contain install destinations.  For each of them the macro will
+create a helper variable \fBPACKAGE_<var...>\fP\&.  These helper variables must be
+used in the \fBFooConfig.cmake.in\fP file for setting the installed location.
+They are calculated by \fBconfigure_package_config_file\fP 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 \fBINSTALL_PREFIX\fP\&.
+.sp
+If the \fBINSTALL_PREFIX\fP argument is passed, this is used as base path to
+calculate all the relative paths.  The \fB<path>\fP argument must be an absolute
+path.  If this argument is not passed, the \fBCMAKE_INSTALL_PREFIX\fP
+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.
+.sp
+By default \fBconfigure_package_config_file\fP also generates two helper macros,
+\fBset_and_check()\fP and \fBcheck_required_components()\fP into the
+\fBFooConfig.cmake\fP file.
+.sp
+\fBset_and_check()\fP should be used instead of the normal \fBset()\fP 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 \fBFATAL_ERROR\fP otherwise.  This makes sure that the created
+\fBFooConfig.cmake\fP file does not contain wrong references.
+When using the \fBNO_SET_AND_CHECK_MACRO\fP, this macro is not generated
+into the \fBFooConfig.cmake\fP file.
+.sp
+\fBcheck_required_components(<package_name>)\fP should be called at the end of
+the \fBFooConfig.cmake\fP 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 \fBFoo_FOUND\fP variable to \fBFALSE\fP, so that
+the package is considered to be not found.  It does that by testing the
+\fBFoo_<Component>_FOUND\fP variables for all requested required components.
+When using the \fBNO_CHECK_REQUIRED_COMPONENTS_MACRO\fP option, this macro is
+not generated into the \fBFooConfig.cmake\fP file.
+.sp
+For an example see below the documentation for
+\fI\%write_basic_package_version_file()\fP\&.
+.SS Generating a Package Version File
+.INDENT 0.0
+.TP
+.B write_basic_package_version_file
+Create a version file for a project:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_basic_package_version_file(<filename>
+  [VERSION <major.minor.patch>]
+  COMPATIBILITY <AnyNewerVersion|SameMajorVersion|ExactVersion> )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+Writes a file for use as \fB<package>ConfigVersion.cmake\fP file to
+\fB<filename>\fP\&.  See the documentation of \fBfind_package()\fP for
+details on this.
+.sp
+\fB<filename>\fP is the output filename, it should be in the build tree.
+\fB<major.minor.patch>\fP is the version number of the project to be installed.
+.sp
+If no \fBVERSION\fP is given, the \fBPROJECT_VERSION\fP variable is used.
+If this hasn\(aqt been set, it errors out.
+.sp
+The \fBCOMPATIBILITY\fP mode \fBAnyNewerVersion\fP 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 \fBSameMajorVersion\fP is used instead, then the behaviour differs from
+\fBAnyNewerVersion\fP 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 \fBExactVersion\fP 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 \fBConfigVersion.cmake\fP file instead of using this
+macro.
+.sp
+Internally, this macro executes \fBconfigure_file()\fP to create the
+resulting version file.  Depending on the \fBCOMPATIBLITY\fP, either the file
+\fBBasicConfigVersion\-SameMajorVersion.cmake.in\fP or
+\fBBasicConfigVersion\-AnyNewerVersion.cmake.in\fP is used.  Please note that
+these two files are internal to CMake and you should not call
+\fBconfigure_file()\fP on them yourself, but they can be used as starting
+point to create more sophisticted custom \fBConfigVersion.cmake\fP files.
+.SS Example Generating Package Files
+.sp
+Example using both \fI\%configure_package_config_file()\fP and
+\fBwrite_basic_package_version_file()\fP:
+.sp
+\fBCMakeLists.txt\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBFooConfig.cmake.in\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeParseArguments
+.sp
+CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords>
+<multi_value_keywords> args...)
+.sp
+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.
+.sp
+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 install()
+command.
+.sp
+The <one_value_keywords> argument contains all keywords for this macro
+which are followed by one value, like e.g.  DESTINATION keyword of the
+install() command.
+.sp
+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 install() command.
+.sp
+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.
+.sp
+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.
+.sp
+As an example here a my_install() macro, which takes similar arguments
+as the real install() command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+function(MY_INSTALL)
+  set(options OPTIONAL FAST)
+  set(oneValueArgs DESTINATION RENAME)
+  set(multiValueArgs TARGETS CONFIGURATIONS)
+  cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}"
+                        "${multiValueArgs}" ${ARGN} )
+  ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Assume my_install() has been called like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+After the cmake_parse_arguments() call the macro will have set the
+following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MY_INSTALL_OPTIONAL = TRUE
+MY_INSTALL_FAST = FALSE (this option was not used when calling 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" (no value expected after "OPTIONAL"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+You can then continue and process these variables.
+.sp
+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 MY_INSTALL_DESTINATION
+would be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
+.SS CMakePrintHelpers
+.sp
+Convenience macros for printing properties and variables, useful e.g. for debugging.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_PRINT_PROPERTIES([TARGETS target1 ..  targetN]
+                       [SOURCES source1 .. sourceN]
+                       [DIRECTORIES dir1 .. dirN]
+                       [TESTS test1 .. testN]
+                       [CACHE_ENTRIES entry1 .. entryN]
+                       PROPERTIES prop1 .. propN )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_print_properties(TARGETS foo bar PROPERTIES
+                       LOCATION INTERFACE_INCLUDE_DIRS)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This will print the LOCATION and INTERFACE_INCLUDE_DIRS properties for
+both targets foo and bar.
+.sp
+CMAKE_PRINT_VARIABLES(var1 var2 ..  varN)
+.sp
+This macro will print the name of each variable followed by its value.
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION DOES_NOT_EXIST)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Gives:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\-\- CMAKE_C_COMPILER="/usr/bin/gcc" ; CMAKE_MAJOR_VERSION="2" ; DOES_NOT_EXIST=""
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakePrintSystemInformation
+.sp
+print system information
+.sp
+This file can be used for diagnostic purposes just include it in a
+project to see various internal CMake variables.
+.SS CMakePushCheckState
+.sp
+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 and CMAKE_REQUIRED_INCLUDES 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.
+.sp
+CMAKE_PUSH_CHECK_STATE() macro receives optional argument RESET.
+Whether it\(aqs specified, CMAKE_PUSH_CHECK_STATE() will set all
+CMAKE_REQUIRED_* variables to empty values, same as
+CMAKE_RESET_CHECK_STATE() call will do.
+.sp
+Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMakeVerifyManifest
+.sp
+CMakeVerifyManifest.cmake
+.sp
+This script is used to verify that embeded 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 embeded manifest
+of 8.0.50608.0 to be used in a project even if that version was not
+found in the .manifest file.
+.SS CPackBundle
+.sp
+CPack Bundle generator (Mac OS X) specific options
+.SS Variables specific to CPack Bundle generator
+.sp
+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).
+.INDENT 0.0
+.TP
+.B CPACK_BUNDLE_NAME
+The name of the generated bundle. This appears in the OSX finder as the
+bundle name. Required.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
+Additional parameter that will passed to codesign.
+Default value: "\-\-deep \-f"
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.)
+.UNINDENT
+.SS CPackComponent
+.sp
+Build binary and source package installers
+.SS Variables concerning CPack Components
+.sp
+The CPackComponent module is the module which handles the component
+part of CPack.  See CPack module for general information about CPack.
+.sp
+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\(aqs 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.
+.sp
+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\(aqs INSTALL
+commands, and should be further described by the following CPack
+commands:
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENTS_ALL
+The list of component to install.
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_<GENNAME>_COMPONENT_INSTALL
+Enable/Disable component install for CPack generator <GENNAME>.
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENTS_GROUPING
+Specify how components are grouped for multi\-package component\-aware CPack
+generators.
+.sp
+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:
+.INDENT 7.0
+.IP \(bu 2
+ONE_PER_GROUP (default): creates one package file per component group
+.IP \(bu 2
+ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
+.IP \(bu 2
+IGNORE : creates one package per component, i.e. IGNORE component group
+.UNINDENT
+.sp
+One can specify different grouping for different CPack generator by
+using a CPACK_PROJECT_CONFIG_FILE.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENT_<compName>_DISPLAY_NAME
+The name to be displayed for a component.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENT_<compName>_DESCRIPTION
+The description of a component.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENT_<compName>_GROUP
+The group of a component.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENT_<compName>_DEPENDS
+The dependencies (list of components) on which this component depends.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_COMPONENT_<compName>_REQUIRED
+True is this component is required.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B cpack_add_component
+.UNINDENT
+.sp
+Describes a CPack installation
+component named by the COMPONENT argument to a CMake INSTALL command.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+DISPLAY_NAME is the displayed name of the component, used in graphical
+installers to display the component name.  This value can be any
+string.
+.sp
+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 \fB\en\fP as the
+line separator.  Typically, these descriptions should be no more than
+a few lines long.
+.sp
+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.
+.sp
+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).
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.INDENT 0.0
+.TP
+.B cpack_add_component_group
+.UNINDENT
+.sp
+Describes a group of related CPack installation components.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_add_component_group(groupname
+                         [DISPLAY_NAME name]
+                         [DESCRIPTION description]
+                         [PARENT_GROUP parent]
+                         [EXPANDED]
+                         [BOLD_TITLE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.sp
+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 \fB\en\fP as the line separator.  Typically, these descriptions
+should be no more than a few lines long.
+.sp
+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.
+.sp
+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.
+.sp
+BOLD_TITLE indicates that the group title should appear in bold, to
+call the user\(aqs attention to the group.
+.INDENT 0.0
+.TP
+.B cpack_add_install_type
+.UNINDENT
+.sp
+Add a new installation type containing
+a set of predefined component selections to the graphical installer.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_add_install_type(typename
+                       [DISPLAY_NAME name])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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\(aqs executable.  Each component
+identifies itself with one or more install types via the INSTALL_TYPES
+argument to cpack_add_component.
+.sp
+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.
+.INDENT 0.0
+.TP
+.B cpack_configure_downloads
+.UNINDENT
+.sp
+Configure CPack to download
+selected components on\-the\-fly as part of the installation process.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_configure_downloads(site
+                          [UPLOAD_DIRECTORY dirname]
+                          [ALL]
+                          [ADD_REMOVE|NO_ADD_REMOVE])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://nsis.sourceforge.net/ZipDLL_plug\-in
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+The site argument is a URL where the archives for downloadable
+components will reside, e.g.,
+\fI\%http://www.cmake.org/files/2.6.1/installer/\fP All of the archives
+produced by CPack should be uploaded to that location.
+.sp
+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.
+.sp
+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).
+.sp
+ADD_REMOVE indicates that CPack should install a copy of the installer
+that can be called from Windows\(aq 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.
+.SS CPackCygwin
+.sp
+Cygwin CPack generator (Cygwin).
+.SS Variables specific to CPack Cygwin generator
+.sp
+The
+following variable is specific to installers build on and/or for
+Cygwin:
+.INDENT 0.0
+.TP
+.B CPACK_CYGWIN_PATCH_NUMBER
+The Cygwin patch number.  FIXME: This documentation is incomplete.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_CYGWIN_PATCH_FILE
+The Cygwin patch file.  FIXME: This documentation is incomplete.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_CYGWIN_BUILD_SCRIPT
+The Cygwin build script.  FIXME: This documentation is incomplete.
+.UNINDENT
+.SS CPackDeb
+.sp
+The builtin (binary) CPack Deb generator (Unix only)
+.SS Variables specific to CPack Debian (DEB) generator
+.sp
+CPackDeb may be used to create Deb package using CPack.
+CPackDeb is a CPack generator thus it uses the CPACK_XXX variables
+used by CPack : \fI\%http://www.cmake.org/Wiki/CMake:CPackConfiguration\fP\&.
+CPackDeb generator should work on any linux host but it will produce
+better deb package when Debian specific tools \(aqdpkg\-xxx\(aq are usable on
+the build system.
+.sp
+CPackDeb has specific features which are controlled by the specifics
+\fBCPACK_DEBIAN_XXX\fP variables.
+.sp
+\fBCPACK_DEBIAN_<COMPONENT>_XXXX\fP variables may be used in order to have
+\fBcomponent\fP specific values.  Note however that <COMPONENT> refers to the
+\fBgrouping name\fP written in upper case. It may be either a component name or
+a component GROUP name.
+.sp
+You\(aqll find a detailed usage on the wiki:
+\fI\%http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29\fP .
+However as a handy reminder here comes the list of specific variables:
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_NAME
+The Debian package summary
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \fBCPACK_PACKAGE_NAME\fP (lower case)
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_VERSION
+The Debian package version
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \fBCPACK_PACKAGE_VERSION\fP
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_ARCHITECTURE
+The Debian package architecture
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : Output of \fBdpkg \-\-print\-architecture\fP (or \fBi386\fP
+if \fBdpkg\fP is not found)
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_DEPENDS
+.TP
+.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
+Sets the Debian dependencies of this package.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   :
+.INDENT 2.0
+.IP \(bu 2
+An empty string for non\-component based installations
+.IP \(bu 2
+\fI\%CPACK_DEBIAN_PACKAGE_DEPENDS\fP for component\-based
+installations.
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+If \fI\%CPACK_DEBIAN_PACKAGE_SHLIBDEPS\fP or
+more specifically \fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS\fP
+is set for this component, the discovered dependencies will be appended
+to \fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS\fP instead of
+\fI\%CPACK_DEBIAN_PACKAGE_DEPENDS\fP\&. If
+\fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS\fP is an empty string,
+only the automatically discovered dependencies will be set for this
+component.
+.UNINDENT
+.UNINDENT
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1\-6), libc6 (< 2.4)")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_MAINTAINER
+The Debian package maintainer
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \fBCPACK_PACKAGE_CONTACT\fP
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_DESCRIPTION
+.TP
+.B CPACK_COMPONENT_<COMPONENT>_DESCRIPTION
+The Debian package description
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   :
+.INDENT 2.0
+.IP \(bu 2
+\fI\%CPACK_DEBIAN_PACKAGE_DESCRIPTION\fP if set or
+.IP \(bu 2
+\fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_SECTION
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \(aqdevel\(aq
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_COMPRESSION_TYPE
+The compression used for creating the Debian package.
+Possible values are: lzma, xz, bzip2 and gzip.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \(aqgzip\(aq
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_PRIORITY
+The Debian package priority
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : \(aqoptional\(aq
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+The content of this field is a simple URL without any surrounding
+characters such as <>.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_SHLIBDEPS
+.TP
+.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
+May be set to ON in order to use \fBdpkg\-shlibdeps\fP to generate
+better package dependency list.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   :
+.INDENT 2.0
+.IP \(bu 2
+\fI\%CPACK_DEBIAN_PACKAGE_SHLIBDEPS\fP if set or
+.IP \(bu 2
+OFF
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+You may need set \fBCMAKE_INSTALL_RPATH\fP to an appropriate value
+if you use this feature, because if you don\(aqt \fBdpkg\-shlibdeps\fP
+may fail to find your own shared libs.
+See \fI\%http://www.cmake.org/Wiki/CMake_RPATH_handling\fP\&.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_DEBUG
+May be set when invoking cpack in order to trace debug information
+during CPackDeb run.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_PREDEPENDS
+Sets the \fIPre\-Depends\fP field of the Debian package.
+Like \fI\%Depends\fP, except that it
+also forces \fBdpkg\fP to complete installation of the packages named
+before even starting the installation of the package which declares the
+pre\-dependency.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_ENHANCES
+Sets the \fIEnhances\fP field of the Debian package.
+Similar to \fI\%Suggests\fP but works
+in the opposite direction: declares that a package can enhance the
+functionality of another package.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_BREAKS
+Sets the \fIBreaks\fP field of the Debian package.
+When a binary package (P) declares that it breaks other packages (B),
+\fBdpkg\fP will not allow the package (P) which declares \fIBreaks\fP be
+\fBunpacked\fP 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.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-breaks\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_CONFLICTS
+Sets the \fIConflicts\fP field of the Debian package.
+When one binary package declares a conflict with another using a \fIConflicts\fP
+field, \fBdpkg\fP will not allow them to be unpacked on the system at
+the same time.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-conflicts\fP
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+This is a stronger restriction than
+\fI\%Breaks\fP, 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.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_PROVIDES
+Sets the \fIProvides\fP field of the Debian package.
+A virtual package is one which appears in the \fIProvides\fP control field of
+another package.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-virtual\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_REPLACES
+Sets the \fIReplaces\fP 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.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_RECOMMENDS
+Sets the \fIRecommends\fP field of the Debian package.
+Allows packages to declare a strong, but not absolute, dependency on other
+packages.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_PACKAGE_SUGGESTS
+Sets the \fISuggests\fP field of the Debian package.
+Allows packages to declare a suggested package install grouping.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DEBIAN_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.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+Usage:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS CPackDMG
+.sp
+DragNDrop CPack generator (Mac OS X).
+.SS Variables specific to CPack DragNDrop generator
+.sp
+The following variables are specific to the DragNDrop installers built
+on Mac OS X:
+.INDENT 0.0
+.TP
+.B CPACK_DMG_VOLUME_NAME
+The volume name of the generated disk image. Defaults to
+CPACK_PACKAGE_FILE_NAME.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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 OSA\-script) using a normal folder
+from which the .DS_Store file can then be extracted.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_DMG_BACKGROUND_IMAGE
+Path to a background image file. This file will be used as the background
+for the Finder Window when the disk image is opened.  By default no
+background image is set. The background image is applied after applying the
+custom .DS_Store file.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.)
+.UNINDENT
+.SS CPackIFW
+.sp
+This module looks for the location of the command line utilities supplied with
+the Qt Installer Framework (\fI\%QtIFW\fP).
+.sp
+The module also defines several commands to control the behavior of the
+CPack \fBIFW\fP generator.
+.SS Overview
+.sp
+CPack \fBIFW\fP generator helps you to create online and offline
+binary cross\-platform installers with a graphical user interface.
+.sp
+CPack IFW generator prepares project installation and generates configuration
+and meta information for \fI\%QtIFW\fP tools.
+.sp
+The \fI\%QtIFW\fP provides a set of tools and utilities to create
+installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
+and Mac OS X.
+.sp
+You should also install \fI\%QtIFW\fP to use CPack \fBIFW\fP generator.
+If you don\(aqt use a default path for the installation, please set
+the used path in the variable \fBQTIFWDIR\fP\&.
+.SS Variables
+.sp
+You can use the following variables to change behavior of CPack \fBIFW\fP generator.
+.SS Debug
+.INDENT 0.0
+.TP
+.B CPACK_IFW_VERBOSE
+Set to \fBON\fP to enable addition debug output.
+By default is \fBOFF\fP\&.
+.UNINDENT
+.SS Package
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_TITLE
+Name of the installer as displayed on the title bar.
+By default used \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_PUBLISHER
+Publisher of the software (as shown in the Windows Control Panel).
+By default used \fBCPACK_PACKAGE_VENDOR\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PRODUCT_URL
+URL to a page that contains product information on your web site.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_ICON
+Filename for a custom installer icon. The actual file is \(aq.icns\(aq (Mac OS X),
+\(aq.ico\(aq (Windows). No functionality on Unix.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_WINDOW_ICON
+Filename for a custom window icon in PNG format for the Installer application.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_LOGO
+Filename for a logo is used as QWizard::LogoPixmap.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
+Name of the default program group for the product in the Windows Start menu.
+.sp
+By default used \fI\%CPACK_IFW_PACKAGE_NAME\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_TARGET_DIRECTORY
+Default target directory for installation.
+By default used "@ApplicationsDir@/\fBCPACK_PACKAGE_INSTALL_DIRECTORY\fP"
+.sp
+You can use predefined variables.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_ADMIN_TARGET_DIRECTORY
+Default target directory for installation with administrator rights.
+.sp
+You can use predefined variables.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_GROUP
+The group, which will be used to configure the root package
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_NAME
+The root package name, which will be used if configuration group is not
+specified
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
+Filename of the generated maintenance tool.
+The platform\-specific executable file extension is appended.
+.sp
+By default used \fI\%QtIFW\fP defaults (\fBmaintenancetool\fP).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
+Filename for the configuration of the generated maintenance tool.
+.sp
+By default used \fI\%QtIFW\fP defaults (\fBmaintenancetool.ini\fP).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
+Set to \fBON\fP if the installation path can contain non\-ASCII characters.
+.sp
+Is \fBON\fP for \fI\%QtIFW\fP less 2.0 tools.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
+Set to \fBOFF\fP if the installation path cannot contain space characters.
+.sp
+Is \fBON\fP for \fI\%QtIFW\fP less 2.0 tools.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGE_CONTROL_SCRIPT
+Filename for a custom installer control script.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_REPOSITORIES_ALL
+The list of remote repositories.
+.sp
+The default value of this variable is computed by CPack and contains
+all repositories added with command \fI\%cpack_ifw_add_repository()\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_DOWNLOAD_ALL
+If this is \fBON\fP all components will be downloaded.
+By default is \fBOFF\fP or used value
+from \fBCPACK_DOWNLOAD_ALL\fP if set
+.UNINDENT
+.SS Components
+.INDENT 0.0
+.TP
+.B CPACK_IFW_RESOLVE_DUPLICATE_NAMES
+Resolve duplicate names when installing components with groups.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_PACKAGES_DIRECTORIES
+Additional prepared packages dirs that will be used to resolve
+dependent components.
+.UNINDENT
+.SS Tools
+.INDENT 0.0
+.TP
+.B CPACK_IFW_FRAMEWORK_VERSION
+The version of used \fI\%QtIFW\fP tools.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_BINARYCREATOR_EXECUTABLE
+The path to "binarycreator" command line client.
+.sp
+This variable is cached and can be configured user if need.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_IFW_REPOGEN_EXECUTABLE
+The path to "repogen" command line client.
+.sp
+This variable is cached and can be configured user if need.
+.UNINDENT
+.SS Commands
+.sp
+The module defines the following commands:
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.TP
+.B cpack_ifw_configure_component
+.UNINDENT
+.sp
+Sets the arguments specific to the CPack IFW generator.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_ifw_configure_component(<compname> [COMMON]
+                    [NAME <name>]
+                    [VERSION <version>]
+                    [SCRIPT <script>]
+                    [PRIORITY <priority>]
+                    [DEPENDS <com_id> ...]
+                    [LICENSES <display_name> <file_path> ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command should be called after cpack_add_component command.
+.sp
+\fBCOMMON\fP if set, then the component will be packaged and installed as part
+of a group to which it belongs.
+.sp
+\fBVERSION\fP is version of component.
+By default used \fBCPACK_PACKAGE_VERSION\fP\&.
+.sp
+\fBSCRIPT\fP is a relative or absolute path to operations script
+for this component.
+.sp
+\fBNAME\fP is used to create domain\-like identification for this component.
+By default used origin component name.
+.sp
+\fBPRIORITY\fP is priority of the component in the tree.
+.sp
+\fBDEPENDS\fP list of dependency component identifiers in \fI\%QtIFW\fP style.
+.sp
+\fBLICENSES\fP pair of <display_name> and <file_path> of license text for this
+component. You can specify more then one license.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.TP
+.B cpack_ifw_configure_component_group
+.UNINDENT
+.sp
+Sets the arguments specific to the CPack IFW generator.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_ifw_configure_component_group(<grpname>
+                    [VERSION <version>]
+                    [NAME <name>]
+                    [SCRIPT <script>]
+                    [PRIORITY <priority>]
+                    [LICENSES <display_name> <file_path> ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This command should be called after cpack_add_component_group command.
+.sp
+\fBVERSION\fP is version of component group.
+By default used \fBCPACK_PACKAGE_VERSION\fP\&.
+.sp
+\fBNAME\fP is used to create domain\-like identification for this component group.
+By default used origin component group name.
+.sp
+\fBSCRIPT\fP is a relative or absolute path to operations script
+for this component group.
+.sp
+\fBPRIORITY\fP is priority of the component group in the tree.
+.sp
+\fBLICENSES\fP pair of <display_name> and <file_path> of license text for this
+component group. You can specify more then one license.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.INDENT 0.0
+.TP
+.B cpack_ifw_add_repository
+.UNINDENT
+.sp
+Add \fI\%QtIFW\fP specific remote repository.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack_ifw_add_repository(<reponame> [DISABLED]
+                    URL <url>
+                    [USERNAME <username>]
+                    [PASSWORD <password>]
+                    [DISPLAY_NAME <display_name>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This macro will also add the <reponame> repository
+to a variable \fI\%CPACK_IFW_REPOSITORIES_ALL\fP
+.sp
+\fBDISABLED\fP if set, then the repository will be disabled by default.
+.sp
+\fBURL\fP is points to a list of available components.
+.sp
+\fBUSERNAME\fP is used as user on a protected repository.
+.sp
+\fBPASSWORD\fP is password to use on a protected repository.
+.sp
+\fBDISPLAY_NAME\fP is string to display instead of the URL.
+.SS Example usage
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Online installer
+.sp
+By default CPack IFW generator makes offline installer. This means that all
+components will be packaged into a binary file.
+.sp
+To make a component downloaded, you must set the \fBDOWNLOADED\fP option in
+\fBcpack_add_component()\fP\&.
+.sp
+Then you would use the command \fBcpack_configure_downloads()\fP\&.
+If you set \fBALL\fP option all components will be downloaded.
+.sp
+You also can use command \fI\%cpack_ifw_add_repository()\fP and
+variable \fI\%CPACK_IFW_DOWNLOAD_ALL\fP for more specific configuration.
+.sp
+CPack IFW generator creates "repository" dir in current binary dir. You
+would copy content of this dir to specified \fBsite\fP (\fBurl\fP).
+.SS See Also
+.sp
+Qt Installer Framework Manual:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.TP
+.B Index page
+\fI\%http://doc.qt.io/qtinstallerframework/index.html\fP
+.TP
+.B Component Scripting
+\fI\%http://doc.qt.io/qtinstallerframework/scripting.html\fP
+.TP
+.B Predefined Variables
+\fI\%http://doc.qt.io/qtinstallerframework/scripting.html#predefined\-variables\fP
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B Download Qt Installer Framework for you platform from Qt site:
+\fI\%http://download.qt.io/official_releases/qt\-installer\-framework\fP
+.UNINDENT
+.SS CPackNSIS
+.sp
+CPack NSIS generator specific options
+.SS Variables specific to CPack NSIS generator
+.sp
+The following variables are specific to the graphical installers built
+on Windows using the Nullsoft Installation System.
+.INDENT 0.0
+.TP
+.B 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}
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_MUI_ICON
+An icon filename.  The name of a \fB*.ico\fP file used as the main icon for the
+generated install program.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_MUI_UNIICON
+An icon filename.  The name of a \fB*.ico\fP file used as the main icon for the
+generated uninstall program.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_INSTALLER_MUI_ICON_CODE
+undocumented.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_COMPRESSOR
+The arguments that will be passed to the NSIS SetCompressor command.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_DISPLAY_NAME
+The display name string that appears in the Windows Add/Remove Program
+control panel
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_PACKAGE_NAME
+The title displayed at the top of the installer.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_INSTALLED_ICON_NAME
+A path to the executable that contains the installer icon.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_HELP_LINK
+URL to a web site providing assistance in installing your application.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_URL_INFO_ABOUT
+URL to a web site providing more information about your application.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_CONTACT
+Contact information for questions and comments about the installation
+process.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_CREATE_ICONS_EXTRA
+Additional NSIS commands for creating start menu shortcuts.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_DELETE_ICONS_EXTRA
+Additional NSIS commands to uninstall start menu shortcuts.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_EXECUTABLES_DIRECTORY
+Creating NSIS start menu links assumes that they are in \(aqbin\(aq unless this
+variable is set.  For example, you would set this to \(aqexec\(aq if your
+executables are in an exec directory.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_NSIS_MUI_FINISHPAGE_RUN
+Specify an executable to add an option to run on the finish page of the
+NSIS installer.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_NSIS_MENU_LINKS
+    "doc/cmake\-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
+    "CMake Help" "http://www.cmake.org" "CMake Web Site")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS CPackPackageMaker
+.sp
+PackageMaker CPack generator (Mac OS X).
+.SS Variables specific to CPack PackageMaker generator
+.sp
+The following variable is specific to installers built on Mac
+OS X using PackageMaker:
+.INDENT 0.0
+.TP
+.B 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\(aqt mind missing extra features available in the installer shipping with
+later versions of Mac OS X.
+.UNINDENT
+.SS CPackRPM
+.sp
+The builtin (binary) CPack RPM generator (Unix only)
+.SS Variables specific to CPack RPM generator
+.sp
+CPackRPM may be used to create RPM package using CPack.  CPackRPM is a
+CPack generator thus it uses the CPACK_XXX variables used by CPack :
+\fI\%http://www.cmake.org/Wiki/CMake:CPackConfiguration\fP
+.sp
+However CPackRPM has specific features which are controlled by the
+specifics CPACK_RPM_XXX variables.  CPackRPM is a component aware
+generator so when CPACK_RPM_COMPONENT_INSTALL is ON some more
+CPACK_RPM_<ComponentName>_XXXX variables may be used in order to have
+component specific values.  Note however that <componentName> refers
+to the \fBgrouping name\fP\&.  This may be either a component name or a
+component GROUP name.  Usually those vars correspond to RPM spec file
+entities, one may find information about spec files here
+\fI\%http://www.rpm.org/wiki/Docs\fP\&.  You\(aqll find a detailed usage of
+CPackRPM on the wiki:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+However as a handy reminder here comes the list of specific variables:
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_SUMMARY
+.TP
+.B CPACK_RPM_<component>_PACKAGE_SUMMARY
+The RPM package summary.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : CPACK_PACKAGE_DESCRIPTION_SUMMARY
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_NAME
+The RPM package name.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : CPACK_PACKAGE_NAME
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_VERSION
+The RPM package version.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : CPACK_PACKAGE_VERSION
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_ARCHITECTURE
+.TP
+.B CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
+The RPM package architecture.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : Native architecture output by "uname \-m"
+.UNINDENT
+.sp
+This may be set to "noarch" if you know you are building a noarch package.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_RELEASE
+The RPM package release.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : 1
+.UNINDENT
+.sp
+This is the numbering of the RPM package itself, i.e. the version of the
+packaging and not the version of the content (see
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_LICENSE
+The RPM package license policy.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : "unknown"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_GROUP
+The RPM package group.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : "unknown"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_VENDOR
+The RPM package vendor.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default   : CPACK_PACKAGE_VENDOR if set or "unknown"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_URL
+The projects URL.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_DESCRIPTION
+.TP
+.B CPACK_RPM_<component>_PACKAGE_DESCRIPTION
+RPM package description.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : YES
+.IP \(bu 2
+Default : CPACK_COMPONENT_<compName>_DESCRIPTION (component based installers
+only) if set, CPACK_PACKAGE_DESCRIPTION_FILE if set or "no package
+description available"
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_COMPRESSION_TYPE
+RPM compression type.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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 value are: lzma, xz, bzip2 and gzip.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_REQUIRES
+RPM spec requires field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM dependencies (requires).  Note that you must enclose
+the complete requires string between quotes, for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The required package list of an RPM file could be printed with:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+rpm \-qp \-\-requires file.rpm
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_REQUIRES_PRE
+RPM spec requires(pre) field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM preinstall dependencies (requires(pre)).  Note that you must enclose
+the complete requires string between quotes, for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow\-utils, initscripts")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_REQUIRES_POST
+RPM spec requires(post) field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM postinstall dependencies (requires(post)).  Note that you must enclose
+the complete requires string between quotes, for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow\-utils, initscripts")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_REQUIRES_POSTUN
+RPM spec requires(postun) field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM postuninstall dependencies (requires(postun)).  Note that you must enclose
+the complete requires string between quotes, for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow\-utils, initscripts")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_REQUIRES_PREUN
+RPM spec requires(preun) field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM preuninstall dependencies (requires(preun)).  Note that you must enclose
+the complete requires string between quotes, for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow\-utils, initscripts")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_SUGGESTS
+RPM spec suggest field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set weak RPM dependencies (suggests).  Note that you must
+enclose the complete requires string between quotes.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_PROVIDES
+RPM spec provides field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM dependencies (provides).  The provided package list
+of an RPM file could be printed with:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+rpm \-qp \-\-provides file.rpm
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_OBSOLETES
+RPM spec obsoletes field.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to set RPM packages that are obsoleted by this one.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_RELOCATABLE
+build a relocatable RPM.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : CPACK_PACKAGE_RELOCATABLE
+.UNINDENT
+.sp
+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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+rpm \-\-prefix or \-\-relocate
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+in order to install it at an alternate place see rpm(8).  Note that
+currently this may fail if CPACK_SET_DESTDIR is set to ON.  If
+CPACK_SET_DESTDIR is set then you will get a warning message but if there
+is file installed with absolute path you\(aqll get unexpected behavior.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_SPEC_INSTALL_POST
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.IP \(bu 2
+Deprecated: YES
+.UNINDENT
+.sp
+This way of specifying post\-install script is deprecated, use
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_SPEC_MORE_DEFINE
+RPM extended spec definitions lines.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to add any %define lines to the generated spec file.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PACKAGE_DEBUG
+Toggle CPackRPM debug output.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be set when invoking cpack in order to trace debug information
+during CPack RPM run. For example you may launch CPack like this:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack \-D CPACK_RPM_PACKAGE_DEBUG=1 \-G RPM
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_USER_BINARY_SPECFILE
+A user provided spec file.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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).
+One can provide a component specific file by setting
+CPACK_RPM_<componentName>_USER_BINARY_SPECFILE.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
+Spec file template.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+If set CPack will generate a template for USER specified binary
+spec file and stop with an error. For example launch CPack like this:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack \-D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 \-G RPM
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The user may then use this file in order to hand\-craft is own
+binary spec file which may be used with CPACK_RPM_USER_BINARY_SPECFILE.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
+.TP
+.B CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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
+If 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+rpm \-qp \-\-scripts  package.rpm
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_POST_INSTALL_SCRIPT_FILE
+.TP
+.B CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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.
+If 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+rpm \-qp \-\-scripts  package.rpm
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_USER_FILELIST
+.TP
+.B CPACK_RPM_<COMPONENT>_USER_FILELIST
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_CHANGELOG_FILE
+RPM changelog file.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to embed a changelog in the spec file.
+The refered file will be read and directly put after the %changelog
+section.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
+list of path to be excluded.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include
+.UNINDENT
+.sp
+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
+CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION variable.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
+additional list of path to be excluded.
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+May be used to add more exclude path (directories or files) from the initial
+default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_RELOCATION_PATHS
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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 CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX or by the value of
+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 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : CPACK_PACKAGING_INSTALL_PREFIX
+.UNINDENT
+.sp
+May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX for
+relocatable RPM packages.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
+.TP
+.B CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+.INDENT 2.0
+.TP
+.B Default
+CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+are treated as one of relocation paths
+.UNINDENT
+.UNINDENT
+.sp
+May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+from relocatable RPM prefix paths.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_RPM_ADDITIONAL_MAN_DIRS
+.INDENT 7.0
+.IP \(bu 2
+Mandatory : NO
+.IP \(bu 2
+Default   : \-
+.UNINDENT
+.sp
+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.
+.sp
+Regular expressions that are added by default were taken from brp\-compress
+RPM macro:
+.INDENT 7.0
+.IP \(bu 2
+/usr/man/man.*
+.IP \(bu 2
+/usr/man/.*/man.*
+.IP \(bu 2
+/usr/info.*
+.IP \(bu 2
+/usr/share/man/man.*
+.IP \(bu 2
+/usr/share/man/.*/man.*
+.IP \(bu 2
+/usr/share/info.*
+.IP \(bu 2
+/usr/kerberos/man.*
+.IP \(bu 2
+/usr/X11R6/man/man.*
+.IP \(bu 2
+/usr/lib/perl5/man/man.*
+.IP \(bu 2
+/usr/share/doc/.*/man/man.*
+.IP \(bu 2
+/usr/lib/.*/man/man.*
+.UNINDENT
+.UNINDENT
+.SS Packaging of Symbolic Links
+.sp
+CPackRPM supports packaging of symbolic links:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.sp
+Currenty there are a few limitations though:
+.INDENT 0.0
+.IP \(bu 2
+Only symbolic links with relative path can be packaged.
+.IP \(bu 2
+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.
+.IP \(bu 2
+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.
+.UNINDENT
+.SS CPack
+.sp
+Build binary and source package installers.
+.SS Variables common to all CPack generators
+.sp
+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\(aqs INSTALL command (and the deprecated
+INSTALL_FILES, INSTALL_PROGRAMS, and INSTALL_TARGETS commands).
+.sp
+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.
+.sp
+The CPACK_GENERATOR variable has different meanings in different
+contexts.  In your CMakeLists.txt file, CPACK_GENERATOR is a \fIlist of
+generators\fP: 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 \fIstring naming
+a single generator\fP\&.  If you need per\-cpack\- generator logic to
+control \fIother\fP cpack settings, then you need a
+CPACK_PROJECT_CONFIG_FILE.
+.sp
+The CMake source tree itself contains a CPACK_PROJECT_CONFIG_FILE.
+See the top level file CMakeCPackOptions.cmake.in for an example.
+.sp
+If set, the CPACK_PROJECT_CONFIG_FILE is included automatically on a
+per\-generator basis.  It only need contain overrides.
+.sp
+Here\(aqs how it works:
+.INDENT 0.0
+.IP \(bu 2
+cpack runs
+.IP \(bu 2
+it includes CPackConfig.cmake
+.IP \(bu 2
+it iterates over the generators listed in that file\(aqs
+CPACK_GENERATOR list variable (unless told to use just a
+specific one via \-G on the command line...)
+.IP \(bu 2
+foreach generator, it then
+.INDENT 2.0
+.IP \(bu 2
+sets CPACK_GENERATOR to the one currently being iterated
+.IP \(bu 2
+includes the CPACK_PROJECT_CONFIG_FILE
+.IP \(bu 2
+produces the package for that generator
+.UNINDENT
+.UNINDENT
+.sp
+This is the key: For each generator listed in CPACK_GENERATOR in
+CPackConfig.cmake, cpack will \fIreset\fP CPACK_GENERATOR internally to
+\fIthe one currently being used\fP and then include the
+CPACK_PROJECT_CONFIG_FILE.
+.sp
+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:
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_NAME
+The name of the package (or application). If not specified, defaults to
+the project name.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_VENDOR
+The name of the package vendor. (e.g., "Kitware").
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_VERSION_MAJOR
+Package major Version
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_VERSION_MINOR
+Package minor Version
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_VERSION_PATCH
+Package patch Version
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_DESCRIPTION_SUMMARY
+Short description of the project (only a few words).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+${CPACK_PACKAGE_NAME}\-${CPACK_PACKAGE_VERSION}\-${CPACK_SYSTEM_NAME}.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_PACKAGE_ICON
+A branding image that will be displayed inside the installer (used by GUI
+installers).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cpack \-D CPACK_GENERATOR="ZIP;TGZ" /path/to/build/tree
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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).
+.UNINDENT
+.sp
+The following CPack variables are specific to source packages, and
+will not affect binary packages:
+.INDENT 0.0
+.TP
+.B CPACK_SOURCE_PACKAGE_FILE_NAME
+The name of the source package. For example cmake\-2.6.1.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_SOURCE_IGNORE_FILES
+Pattern of files in the source tree that won\(aqt be packaged when building
+a source package. This is a list of regular expression patterns (that
+must be properly escaped), e.g.,
+/CVS/;/\e.svn/;\e.swp$;\e.#;/#;.*~;cscope.*
+.UNINDENT
+.sp
+The following variables are for advanced uses of CPack:
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_SYSTEM_NAME
+System name, defaults to the value of ${CMAKE_SYSTEM_NAME}.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_TOPLEVEL_TAG
+Directory for the installed files.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_INSTALL_COMMANDS
+Extra commands to install components.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_INSTALLED_DIRECTORIES
+Extra directories to install.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_CREATE_DESKTOP_LINKS
+List of desktop links to create.
+Each desktop link requires a corresponding start menu shortcut
+as created by \fI\%CPACK_PACKAGE_EXECUTABLES\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.sp
+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
+.UNINDENT
+.SS CPackWIX
+.sp
+CPack WiX generator specific options
+.SS Variables specific to CPack WiX generator
+.sp
+The following variables are specific to the installers built on
+Windows using WiX.
+.INDENT 0.0
+.TP
+.B CPACK_WIX_UPGRADE_GUID
+Upgrade GUID (\fBProduct/@UpgradeCode\fP)
+.sp
+Will be automatically generated unless explicitly provided.
+.sp
+It should be explicitly set to a constant generated gloabally unique
+identifier (GUID) to allow your installers to replace existing
+installations that use the same GUID.
+.sp
+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.
+.sp
+A GUID shall have the following fixed length syntax:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+XXXXXXXX\-XXXX\-XXXX\-XXXX\-XXXXXXXXXXXX
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+(each X represents an uppercase hexadecimal digit)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_PRODUCT_GUID
+Product GUID (\fBProduct/@Id\fP)
+.sp
+Will be automatically generated unless explicitly provided.
+.sp
+If explicitly provided this will set the Product Id of your installer.
+.sp
+The installer will abort if it detects a pre\-existing installation that
+uses the same GUID.
+.sp
+The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_LICENSE_RTF
+RTF License File
+.sp
+If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as\-is.
+.sp
+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.
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_PRODUCT_ICON
+The Icon shown next to the program name in Add/Remove programs.
+.sp
+If set, this icon is used in place of the default icon.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_UI_REF
+This variable allows you to override the Id of the \fB<UIRef>\fP element
+in the WiX template.
+.sp
+The default is \fBWixUI_InstallDir\fP in case no CPack components have
+been defined and \fBWixUI_FeatureTree\fP otherwise.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_UI_BANNER
+The bitmap will appear at the top of all installer pages other than the
+welcome and completion dialogs.
+.sp
+If set, this image will replace the default banner image.
+.sp
+This image must be 493 by 58 pixels.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_UI_DIALOG
+Background bitmap used on the welcome and completion dialogs.
+.sp
+If this variable is set, the installer will replace the default dialog
+image.
+.sp
+This image must be 493 by 312 pixels.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_PROGRAM_MENU_FOLDER
+Start menu folder name for launcher.
+.sp
+If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_CULTURES
+Language(s) of the installer
+.sp
+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:
+\fI\%http://wix.sourceforge.net/manual\-wix3/WixUI_localization.htm\fP
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_TEMPLATE
+Template file for WiX generation
+.sp
+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.
+.sp
+If this variable is not set, the default MSI template included with CMake
+will be used.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_PATCH_FILE
+Optional XML file with fragments to be inserted into generated WiX sources
+.sp
+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.
+.sp
+Patch files understood by the CPack WiX generator
+roughly follow this RELAX NG compact schema:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+start = CPackWiXPatch
+
+CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
+
+CPackWiXFragment = element CPackWiXFragment
+{
+    attribute Id { string },
+    fragmentContent*
+}
+
+fragmentContent = element * \- CPackWiXFragment
+{
+    (attribute * { text } | text | fragmentContent)*
+}
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Currently fragments can be injected into most
+Component, File and Directory elements.
+.sp
+The following additional special Ids can be used:
+.INDENT 7.0
+.IP \(bu 2
+\fB#PRODUCT\fP for the \fB<Product>\fP element.
+.IP \(bu 2
+\fB#PRODUCTFEATURE\fP for the root \fB<Feature>\fP element.
+.UNINDENT
+.sp
+The following example illustrates how this works.
+.sp
+Given that the WiX generator creates the following XML element:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following XML patch file may be used to inject an Environment element
+into it:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<CPackWiXPatch>
+  <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
+    <Environment Id="MyEnvironment" Action="set"
+      Name="MyVariableName" Value="MyVariableValue"/>
+  </CPackWiXFragment>
+</CPackWiXPatch>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_EXTRA_SOURCES
+Extra WiX source files
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_EXTRA_OBJECTS
+Extra WiX object files or libraries
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_EXTENSIONS
+This variable provides a list of additional extensions for the WiX
+tools light and candle.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_<TOOL>_EXTENSIONS
+This is the tool specific version of CPACK_WIX_EXTENSIONS.
+\fB<TOOL>\fP can be either LIGHT or CANDLE.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_<TOOL>_EXTRA_FLAGS
+This list variable allows you to pass additional
+flags to the WiX tool \fB<TOOL>\fP\&.
+.sp
+Use it at your own risk.
+Future versions of CPack may generate flags which may be in conflict
+with your own flags.
+.sp
+\fB<TOOL>\fP can be either LIGHT or CANDLE.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_CMAKE_PACKAGE_REGISTRY
+If this variable is set the generated installer will create
+an entry in the windows registry key
+\fBHKEY_LOCAL_MACHINE\eSoftware\eKitware\eCMake\ePackages\e<package>\fP
+The value for \fB<package>\fP is provided by this variable.
+.sp
+Assuming you also install a CMake configuration file this will
+allow other CMake projects to find your package with
+the \fBfind_package()\fP command.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B CPACK_WIX_PROPERTY_<PROPERTY>
+This variable can be used to provide a value for
+the Windows Installer property \fB<PROPERTY>\fP
+.sp
+The follwing list contains some example properties that can be used to
+customize information under
+"Programs and Features" (also known as "Add or Remove Programs")
+.INDENT 7.0
+.IP \(bu 2
+ARPCOMMENTS \- Comments
+.IP \(bu 2
+ARPHELPLINK \- Help and support information URL
+.IP \(bu 2
+ARPURLINFOABOUT \- General information URL
+.IP \(bu 2
+URLUPDATEINFO \- Update information URL
+.IP \(bu 2
+ARPHELPTELEPHONE \- Help and support telephone number
+.IP \(bu 2
+ARPSIZE \- Size (in kilobytes) of the application
+.UNINDENT
+.UNINDENT
+.SS CTest
+.sp
+Configure a project for testing with CTest/CDash
+.sp
+Include this module in the top CMakeLists.txt file of a project to
+enable testing with CTest and dashboard submissions to CDash:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+project(MyProject)
+\&...
+include(CTest)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The module automatically creates a \fBBUILD_TESTING\fP option that selects
+whether to enable testing support (\fBON\fP by default).  After including
+the module, use code like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(BUILD_TESTING)
+  # ... CMake code to create tests ...
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+to creating tests when testing is enabled.
+.sp
+To enable submissions to a CDash server, create a \fBCTestConfig.cmake\fP
+file at the top of the project with content such as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+(the CDash server can provide the file to a project administrator who
+configures \fBMyProject\fP).  Settings in the config file are shared by
+both this \fBCTest\fP module and the \fBctest(1)\fP command\-line
+Dashboard Client mode (\fBctest \-S\fP).
+.sp
+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 \fBCTEST_USE_LAUNCHERS\fP variable:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CTEST_USE_LAUNCHERS 1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+in the \fBCTestConfig.cmake\fP file.
+.SS CTestCoverageCollectGCOV
+.sp
+This module provides the function \fBctest_coverage_collect_gcov\fP\&.
+The function will run gcov on the .gcda files in a binary tree and then
+package all of the .gcov files into a tar file with a data.json that
+contains the source and build directories for CDash to use in parsing
+the coverage data. In addtion the Labels.json files for targets that
+have coverage information are also put in the tar file for CDash to
+asign the correct labels. This file can be sent to a CDash server for
+display with the
+\fBctest_submit(CDASH_UPLOAD)\fP command.
+.INDENT 0.0
+.TP
+.B cdash_coverage_collect_gcov
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ctest_coverage_collect_gcov(TARBALL <tarfile>
+  [SOURCE <source_dir>][BUILD <build_dir>]
+  [GCOV_COMMAND <gcov_command>]
+  [GCOV_OPTIONS <options>...]
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Run gcov and package a tar file for CDash.  The options are:
+.INDENT 7.0
+.TP
+.B \fBTARBALL <tarfile>\fP
+Specify the location of the \fB\&.tar\fP file to be created for later
+upload to CDash.  Relative paths will be interpreted with respect
+to the top\-level build directory.
+.TP
+.B \fBSOURCE <source_dir>\fP
+Specify the top\-level source directory for the build.
+Default is the value of \fBCTEST_SOURCE_DIRECTORY\fP\&.
+.TP
+.B \fBBUILD <build_dir>\fP
+Specify the top\-level build directory for the build.
+Default is the value of \fBCTEST_BINARY_DIRECTORY\fP\&.
+.TP
+.B \fBGCOV_COMMAND <gcov_command>\fP
+Specify the full path to the \fBgcov\fP command on the machine.
+Default is the value of \fBCTEST_COVERAGE_COMMAND\fP\&.
+.TP
+.B \fBGCOV_OPTIONS <options>...\fP
+Specify options to be passed to gcov.  The \fBgcov\fP command
+is run as \fBgcov <options>... \-o <gcov\-dir> <file>.gcda\fP\&.
+If not specified, the default option is just \fB\-b\fP\&.
+.TP
+.B \fBQUIET\fP
+Suppress non\-error messages that otherwise would have been
+printed out by this function.
+.UNINDENT
+.UNINDENT
+.SS CTestScriptMode
+.sp
+This file is read by ctest in script mode (\-S)
+.SS CTestUseLaunchers
+.sp
+Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.SS Dart
+.sp
+Configure a project for testing with CTest or old Dart Tcl Client
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(Dart)
+if(BUILD_TESTING)
+  # ... testing related CMake code ...
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The BUILD_TESTING option is created by the Dart module to determine
+whether testing support should be enabled.  The default is ON.
+.SS DeployQt4
+.sp
+Functions to help assemble a standalone Qt4 executable.
+.sp
+A collection of CMake utility functions useful for deploying Qt4
+executables.
+.sp
+The following functions are provided by this module:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_qt4_conf
+resolve_qt4_paths
+fixup_qt4_executable
+install_qt4_plugin_path
+install_qt4_plugin
+install_qt4_executable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Requires CMake 2.6 or greater because it uses function and
+PARENT_SCOPE.  Also depends on BundleUtilities.cmake.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Writes a qt.conf file with the <qt_conf_contents> into <qt_conf_dir>.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+RESOLVE_QT4_PATHS(<paths_var> [<executable_path>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Loop through <paths_var> list and if any don\(aqt exist resolve them
+relative to the <executable_path> (if supplied) or the
+CMAKE_INSTALL_PREFIX.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FIXUP_QT4_EXECUTABLE(<executable>
+  [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+<executable> should point to the executable to be fixed\-up.
+.sp
+<qtplugins> should contain a list of the names or paths of any Qt
+plugins to be installed.
+.sp
+<libs> will be passed to BundleUtilities and should be a list of any
+already installed plugins, libraries or executables to also be
+fixed\-up.
+.sp
+<dirs> will be passed to BundleUtilities and should contain and
+directories to be searched to find library dependencies.
+.sp
+<plugins_dir> allows an custom plugins directory to be used.
+.sp
+<request_qt_conf> will force a qt.conf file to be written even if not
+needed.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+INSTALL_QT4_PLUGIN_PATH(plugin executable copy installed_plugin_path_var
+                        <plugins_dir> <component> <configurations>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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>.
+.sp
+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.
+.sp
+If <component> is set then anything installed will use this COMPONENT.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+INSTALL_QT4_PLUGIN(plugin executable copy installed_plugin_path_var
+                   <plugins_dir> <component>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+INSTALL_QT4_EXECUTABLE(<executable>
+  [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf> <component>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS Documentation
+.sp
+DocumentationVTK.cmake
+.sp
+This file provides support for the VTK documentation framework.  It
+relies on several tools (Doxygen, Perl, etc).
+.SS ExternalData
+.sp
+Manage data files stored outside source tree
+.SS Introduction
+.sp
+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 \fBDATA{<name>}\fP 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.
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+When test \fBMyTest\fP runs the \fBDATA{MyInput.png}\fP argument will be
+replaced by the full path to a real instance of the data file
+\fBMyInput.png\fP on disk.  If the source tree contains a content link
+such as \fBMyInput.png.md5\fP then the \fBMyData\fP target creates a real
+\fBMyInput.png\fP in the build tree.
+.SS Module Functions
+.INDENT 0.0
+.TP
+.B ExternalData_Expand_Arguments
+The \fBExternalData_Expand_Arguments\fP function evaluates \fBDATA{}\fP
+references in its arguments and constructs a new list of arguments:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalData_Expand_Arguments(
+  <target>   # Name of data management target
+  <outVar>   # Output variable
+  [args...]  # Input arguments, DATA{} allowed
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It replaces each \fBDATA{}\fP reference in an argument with the full path of
+a real data file on disk that will exist after the \fB<target>\fP builds.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_Add_Test
+The \fBExternalData_Add_Test\fP function wraps around the CMake
+\fBadd_test()\fP command but supports \fBDATA{}\fP references in
+its arguments:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalData_Add_Test(
+  <target>   # Name of data management target
+  ...        # Arguments of add_test(), DATA{} allowed
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It passes its arguments through \fBExternalData_Expand_Arguments\fP and then
+invokes the \fBadd_test()\fP command using the results.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_Add_Target
+The \fBExternalData_Add_Target\fP function creates a custom target to
+manage local instances of data files stored externally:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalData_Add_Target(
+  <target>   # Name of data management target
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It creates custom commands in the target as necessary to make data
+files available for each \fBDATA{}\fP reference previously evaluated by
+other functions provided by this module.
+Data files may be fetched from one of the URL templates specified in
+the \fBExternalData_URL_TEMPLATES\fP variable, or may be found locally
+in one of the paths specified in the \fBExternalData_OBJECT_STORES\fP
+variable.
+.UNINDENT
+.SS Module Variables
+.sp
+The following variables configure behavior.  They should be set before
+calling any of the functions provided by this module.
+.INDENT 0.0
+.TP
+.B ExternalData_BINARY_ROOT
+The \fBExternalData_BINARY_ROOT\fP variable may be set to the directory to
+hold the real data files named by expanded \fBDATA{}\fP references.  The
+default is \fBCMAKE_BINARY_DIR\fP\&.  The directory layout will mirror that of
+content links under \fBExternalData_SOURCE_ROOT\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_CUSTOM_SCRIPT_<key>
+Specify a full path to a \fB\&.cmake\fP custom fetch script identified by
+\fB<key>\fP in entries of the \fBExternalData_URL_TEMPLATES\fP list.
+See \fI\%Custom Fetch Scripts\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_LINK_CONTENT
+The \fBExternalData_LINK_CONTENT\fP variable may be set to the name of a
+supported hash algorithm to enable automatic conversion of real data
+files referenced by the \fBDATA{}\fP syntax into content links.  For each
+such \fB<file>\fP a content link named \fB<file><ext>\fP is created.  The
+original file is renamed to the form \fB\&.ExternalData_<algo>_<hash>\fP 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_NO_SYMLINKS
+The real data files named by expanded \fBDATA{}\fP references may be made
+available under \fBExternalData_BINARY_ROOT\fP using symbolic links on
+some platforms.  The \fBExternalData_NO_SYMLINKS\fP variable may be set
+to disable use of symbolic links and enable use of copies instead.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_OBJECT_STORES
+The \fBExternalData_OBJECT_STORES\fP variable may be set to a list of local
+directories that store objects using the layout \fB<dir>/%(algo)/%(hash)\fP\&.
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_SERIES_PARSE
+.TP
+.B ExternalData_SERIES_PARSE_PREFIX
+.TP
+.B ExternalData_SERIES_PARSE_NUMBER
+.TP
+.B ExternalData_SERIES_PARSE_SUFFIX
+.TP
+.B ExternalData_SERIES_MATCH
+See \fI\%Referencing File Series\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_SOURCE_ROOT
+The \fBExternalData_SOURCE_ROOT\fP variable may be set to the highest source
+directory containing any path named by a \fBDATA{}\fP reference.  The
+default is \fBCMAKE_SOURCE_DIR\fP\&.  \fBExternalData_SOURCE_ROOT\fP and
+\fBCMAKE_SOURCE_DIR\fP must refer to directories within a single source
+distribution (e.g.  they come together in one tarball).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_TIMEOUT_ABSOLUTE
+The \fBExternalData_TIMEOUT_ABSOLUTE\fP variable sets the download
+absolute timeout, in seconds, with a default of \fB300\fP seconds.
+Set to \fB0\fP to disable enforcement.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_TIMEOUT_INACTIVITY
+The \fBExternalData_TIMEOUT_INACTIVITY\fP variable sets the download
+inactivity timeout, in seconds, with a default of \fB60\fP seconds.
+Set to \fB0\fP to disable enforcement.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_URL_ALGO_<algo>_<key>
+Specify a custom URL component to be substituted for URL template
+placeholders of the form \fB%(algo:<key>)\fP, where \fB<key>\fP is a
+valid C identifier, when fetching an object referenced via hash
+algorithm \fB<algo>\fP\&.  If not defined, the default URL component
+is just \fB<algo>\fP for any \fB<key>\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalData_URL_TEMPLATES
+The \fBExternalData_URL_TEMPLATES\fP may be set to provide a list of
+of URL templates using the placeholders \fB%(algo)\fP and \fB%(hash)\fP
+in each template.  Data fetch rules try each URL template in order
+by substituting the hash algorithm name for \fB%(algo)\fP and the hash
+value for \fB%(hash)\fP\&.  Alternatively one may use \fB%(algo:<key>)\fP
+with \fBExternalData_URL_ALGO_<algo>_<key>\fP variables to gain more
+flexibility in remote URLs.
+.UNINDENT
+.SS Referencing Files
+.SS Referencing Single Files
+.sp
+The \fBDATA{}\fP syntax is literal and the \fB<name>\fP is a full or relative path
+within the source tree.  The source tree must contain either a real
+data file at \fB<name>\fP or a "content link" at \fB<name><ext>\fP containing a
+hash of the real file using a hash algorithm corresponding to \fB<ext>\fP\&.
+For example, the argument \fBDATA{img.png}\fP may be satisfied by either a
+real \fBimg.png\fP file in the current source directory or a \fBimg.png.md5\fP
+file containing its MD5 sum.
+.SS Referencing File Series
+.sp
+The \fBDATA{}\fP syntax can be told to fetch a file series using the form
+\fBDATA{<name>,:}\fP, where the \fB:\fP 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
+\fBDATA{}\fP argument is substituted for it.  The default configuration
+recognizes file series names ending with \fB#.ext\fP, \fB_#.ext\fP, \fB\&.#.ext\fP,
+or \fB\-#.ext\fP where \fB#\fP is a sequence of decimal digits and \fB\&.ext\fP is
+any single extension.  Configure it with a regex that parses \fB<number>\fP
+and \fB<suffix>\fP parts from the end of \fB<name>\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For more complicated cases set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Configure series number matching with a regex that matches the
+\fB<number>\fP part of series members named \fB<prefix><number><suffix>\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalData_SERIES_MATCH = regex matching <number> in all series members
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the \fB<suffix>\fP of a series does not include a hash\-algorithm
+extension.
+.SS Referencing Associated Files
+.sp
+The \fBDATA{}\fP 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
+\fBDATA{<name>,<opt1>,<opt2>,...}\fP\&.  Each option may specify one file by
+name or specify a regular expression to match file names using the
+syntax \fBREGEX:<regex>\fP\&.  For example, the arguments:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+DATA{MyData/MyInput.mhd,MyInput.img}                   # File pair
+DATA{MyData/MyFrames00.png,REGEX:MyFrames[0\-9]+\e\e.png} # Series
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will pass \fBMyInput.mha\fP and \fBMyFrames00.png\fP on the command line but
+ensure that the associated files are present next to them.
+.SS Referencing Directories
+.sp
+The \fBDATA{}\fP syntax may reference a directory using a trailing slash and
+a list of associated files.  The form \fBDATA{<name>/,<opt1>,<opt2>,...}\fP
+adds rules to fetch any files in the directory that match one of the
+associated file options.  For example, the argument
+\fBDATA{MyDataDir/,REGEX:.*}\fP will pass the full path to a \fBMyDataDir\fP
+directory on the command line and ensure that the directory contains
+files corresponding to every file or content link in the \fBMyDataDir\fP
+source directory.  In order to match associated files in subdirectories,
+specify a \fBRECURSE:\fP option, e.g. \fBDATA{MyDataDir/,RECURSE:,REGEX:.*}\fP\&.
+.SS Hash Algorithms
+.sp
+The following hash algorithms are supported:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+%(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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the hashes are used only for unique data identification and
+download verification.
+.SS Custom Fetch Scripts
+.sp
+When a data file must be fetched from one of the URL templates
+specified in the \fBExternalData_URL_TEMPLATES\fP variable, it is
+normally downloaded using the \fBfile(DOWNLOAD)\fP command.
+One may specify usage of a custom fetch script by using a URL
+template of the form \fBExternalDataCustomScript://<key>/<loc>\fP\&.
+The \fB<key>\fP must be a C identifier, and the \fB<loc>\fP must
+contain the \fB%(algo)\fP and \fB%(hash)\fP placeholders.
+A variable corresponding to the key, \fBExternalData_CUSTOM_SCRIPT_<key>\fP,
+must be set to the full path to a \fB\&.cmake\fP script file.  The script
+will be included to perform the actual fetch, and provided with
+the following variables:
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.sp
+The custom fetch script is expected to store fetched content in the
+file or set a variable:
+.INDENT 0.0
+.TP
+.B 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.
+.UNINDENT
+.SS ExternalProject
+.sp
+Create custom targets to build projects in external trees
+.INDENT 0.0
+.TP
+.B ExternalProject_Add
+The \fBExternalProject_Add\fP function creates a custom target to drive
+download, update/patch, configure, build, install and test steps of an
+external project:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalProject_Add(<name> [<option>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+General options are:
+.INDENT 7.0
+.TP
+.B \fBDEPENDS <projects>...\fP
+Targets on which the project depends
+.TP
+.B \fBPREFIX <dir>\fP
+Root dir for entire project
+.TP
+.B \fBLIST_SEPARATOR <sep>\fP
+Sep to be replaced by ; in cmd lines
+.TP
+.B \fBTMP_DIR <dir>\fP
+Directory to store temporary files
+.TP
+.B \fBSTAMP_DIR <dir>\fP
+Directory to store step timestamps
+.TP
+.B \fBEXCLUDE_FROM_ALL 1\fP
+The "all" target does not depend on this
+.UNINDENT
+.sp
+Download step options are:
+.INDENT 7.0
+.TP
+.B \fBDOWNLOAD_NAME <fname>\fP
+File name to store (if not end of URL)
+.TP
+.B \fBDOWNLOAD_DIR <dir>\fP
+Directory to store downloaded files
+.TP
+.B \fBDOWNLOAD_COMMAND <cmd>...\fP
+Command to download source tree
+.TP
+.B \fBDOWNLOAD_NO_PROGRESS 1\fP
+Disable download progress reports
+.TP
+.B \fBCVS_REPOSITORY <cvsroot>\fP
+CVSROOT of CVS repository
+.TP
+.B \fBCVS_MODULE <mod>\fP
+Module to checkout from CVS repo
+.TP
+.B \fBCVS_TAG <tag>\fP
+Tag to checkout from CVS repo
+.TP
+.B \fBSVN_REPOSITORY <url>\fP
+URL of Subversion repo
+.TP
+.B \fBSVN_REVISION \-r<rev>\fP
+Revision to checkout from Subversion repo
+.TP
+.B \fBSVN_USERNAME <username>\fP
+Username for Subversion checkout and update
+.TP
+.B \fBSVN_PASSWORD <password>\fP
+Password for Subversion checkout and update
+.TP
+.B \fBSVN_TRUST_CERT 1\fP
+Trust the Subversion server site certificate
+.TP
+.B \fBGIT_REPOSITORY <url>\fP
+URL of git repo
+.TP
+.B \fBGIT_TAG <tag>\fP
+Git branch name, commit id or tag
+.TP
+.B \fBGIT_SUBMODULES <module>...\fP
+Git submodules that shall be updated, all if empty
+.TP
+.B \fBHG_REPOSITORY <url>\fP
+URL of mercurial repo
+.TP
+.B \fBHG_TAG <tag>\fP
+Mercurial branch name, commit id or tag
+.TP
+.B \fBURL /.../src.tgz\fP
+Full path or URL of source
+.TP
+.B \fBURL_HASH ALGO=value\fP
+Hash of file at URL
+.TP
+.B \fBURL_MD5 md5\fP
+Equivalent to URL_HASH MD5=md5
+.TP
+.B \fBTLS_VERIFY <bool>\fP
+Should certificate for https be checked
+.TP
+.B \fBTLS_CAINFO <file>\fP
+Path to a certificate authority file
+.TP
+.B \fBTIMEOUT <seconds>\fP
+Time allowed for file download operations
+.UNINDENT
+.sp
+Update/Patch step options are:
+.INDENT 7.0
+.TP
+.B \fBUPDATE_COMMAND <cmd>...\fP
+Source work\-tree update command
+.TP
+.B \fBUPDATE_DISCONNECTED 1\fP
+Never update automatically from the remote repository
+.TP
+.B \fBPATCH_COMMAND <cmd>...\fP
+Command to patch downloaded source
+.UNINDENT
+.sp
+Configure step options are:
+.INDENT 7.0
+.TP
+.B \fBSOURCE_DIR <dir>\fP
+Source dir to be used for build
+.TP
+.B \fBCONFIGURE_COMMAND <cmd>...\fP
+Build tree configuration command
+.TP
+.B \fBCMAKE_COMMAND /.../cmake\fP
+Specify alternative cmake executable
+.TP
+.B \fBCMAKE_GENERATOR <gen>\fP
+Specify generator for native build
+.TP
+.B \fBCMAKE_GENERATOR_PLATFORM <platform>\fP
+Generator\-specific platform name
+.TP
+.B \fBCMAKE_GENERATOR_TOOLSET <toolset>\fP
+Generator\-specific toolset name
+.TP
+.B \fBCMAKE_ARGS <arg>...\fP
+Arguments to CMake command line.
+These arguments are passed to CMake command line, and can contain
+arguments other than cache values, see also
+\fBCMake Options\fP\&. Arguments in the form
+\fB\-Dvar:string=on\fP are always passed to the command line, and
+therefore cannot be changed by the user.
+Arguments may use
+\fBgenerator expressions\fP\&.
+.TP
+.B \fBCMAKE_CACHE_ARGS <arg>...\fP
+Initial cache arguments, of the form \fB\-Dvar:string=on\fP\&.
+These arguments are written in a pre\-load a script that populates
+CMake cache, see also \fBcmake \-C\fP\&. This allows to
+overcome command line length limits.
+These arguments are \fBset()\fP using the \fBFORCE\fP argument,
+and therefore cannot be changed by the user.
+Arguments may use
+\fBgenerator expressions\fP\&.
+.TP
+.B \fBCMAKE_CACHE_DEFAULT_ARGS <arg>...\fP
+Initial default cache arguments, of the form \fB\-Dvar:string=on\fP\&.
+These arguments are written in a pre\-load a script that populates
+CMake cache, see also \fBcmake \-C\fP\&. This allows 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
+\fBgenerator expressions\fP\&.
+.UNINDENT
+.sp
+Build step options are:
+.INDENT 7.0
+.TP
+.B \fBBINARY_DIR <dir>\fP
+Specify build dir location
+.TP
+.B \fBBUILD_COMMAND <cmd>...\fP
+Command to drive the native build
+.TP
+.B \fBBUILD_IN_SOURCE 1\fP
+Use source dir for build dir
+.TP
+.B \fBBUILD_ALWAYS 1\fP
+No stamp file, build step always runs
+.TP
+.B \fBBUILD_BYPRODUCTS <file>...\fP
+Files that will be generated by the build command but may or may
+not have their modification time updated by subsequent builds.
+.UNINDENT
+.sp
+Install step options are:
+.INDENT 7.0
+.TP
+.B \fBINSTALL_DIR <dir>\fP
+Installation prefix
+.TP
+.B \fBINSTALL_COMMAND <cmd>...\fP
+Command to drive install after build
+.UNINDENT
+.sp
+Test step options are:
+.INDENT 7.0
+.TP
+.B \fBTEST_BEFORE_INSTALL 1\fP
+Add test step executed before install step
+.TP
+.B \fBTEST_AFTER_INSTALL 1\fP
+Add test step executed after install step
+.TP
+.B \fBTEST_EXCLUDE_FROM_MAIN 1\fP
+Main target does not depend on the test step
+.TP
+.B \fBTEST_COMMAND <cmd>...\fP
+Command to drive test
+.UNINDENT
+.sp
+Output logging options are:
+.INDENT 7.0
+.TP
+.B \fBLOG_DOWNLOAD 1\fP
+Wrap download in script to log output
+.TP
+.B \fBLOG_UPDATE 1\fP
+Wrap update in script to log output
+.TP
+.B \fBLOG_CONFIGURE 1\fP
+Wrap configure in script to log output
+.TP
+.B \fBLOG_BUILD 1\fP
+Wrap build in script to log output
+.TP
+.B \fBLOG_TEST 1\fP
+Wrap test in script to log output
+.TP
+.B \fBLOG_INSTALL 1\fP
+Wrap install in script to log output
+.UNINDENT
+.sp
+Other options are:
+.INDENT 7.0
+.TP
+.B \fBSTEP_TARGETS <step\-target>...\fP
+Generate custom targets for these steps
+.TP
+.B \fBINDEPENDENT_STEP_TARGETS <step\-target>...\fP
+Generate custom targets for these steps that do not depend on other
+external projects even if a dependency is set
+.UNINDENT
+.sp
+The \fB*_DIR\fP options specify directories for the project, with default
+directories computed as follows.  If the \fBPREFIX\fP option is given to
+\fBExternalProject_Add()\fP or the \fBEP_PREFIX\fP directory property is set,
+then an external project is built and installed under the specified prefix:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Otherwise, if the \fBEP_BASE\fP directory property is set then components
+of an external project are stored under the specified base:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If no \fBPREFIX\fP, \fBEP_PREFIX\fP, or \fBEP_BASE\fP is specified then the
+default is to set \fBPREFIX\fP to \fB<name>\-prefix\fP\&.  Relative paths are
+interpreted with respect to the build directory corresponding to the
+source directory in which \fBExternalProject_Add\fP is invoked.
+.sp
+If \fBSOURCE_DIR\fP 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 \fBDOWNLOAD_COMMAND\fP, \fBCVS_*\fP, \fBSVN_*\fP, or \fBURL\fP
+options.  The \fBURL\fP option may refer locally to a directory or source
+tarball, or refer to a remote tarball (e.g. \fBhttp://.../src.tgz\fP).
+.sp
+If \fBUPDATE_DISCONNECTED\fP 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 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 \fBEP_UPDATE_DISCONNECTED\fP can be used to change
+the default value for all the external projects in the current
+directory and its subdirectories.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalProject_Add_Step
+The \fBExternalProject_Add_Step\fP function adds a custom step to an
+external project:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalProject_Add_Step(<name> <step> [<option>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Options are:
+.INDENT 7.0
+.TP
+.B \fBCOMMAND <cmd>...\fP
+Command line invoked by this step
+.TP
+.B \fBCOMMENT "<text>..."\fP
+Text printed when step executes
+.TP
+.B \fBDEPENDEES <step>...\fP
+Steps on which this step depends
+.TP
+.B \fBDEPENDERS <step>...\fP
+Steps that depend on this step
+.TP
+.B \fBDEPENDS <file>...\fP
+Files on which this step depends
+.TP
+.B \fBBYPRODUCTS <file>...\fP
+Files that will be generated by this step but may or may not
+have their modification time updated by subsequent builds.
+.TP
+.B \fBALWAYS 1\fP
+No stamp file, step always runs
+.TP
+.B \fBEXCLUDE_FROM_MAIN 1\fP
+Main target does not depend on this step
+.TP
+.B \fBWORKING_DIRECTORY <dir>\fP
+Working directory for command
+.TP
+.B \fBLOG 1\fP
+Wrap step in script to log output
+.UNINDENT
+.sp
+The command line, comment, working directory, and byproducts of every
+standard and custom step are processed to replace tokens \fB<SOURCE_DIR>\fP,
+\fB<BINARY_DIR>\fP, \fB<INSTALL_DIR>\fP, and \fB<TMP_DIR>\fP with
+corresponding property values.
+.UNINDENT
+.sp
+Any builtin step that specifies a \fB<step>_COMMAND cmd...\fP or custom
+step that specifies a \fBCOMMAND cmd...\fP may specify additional command
+lines using the form \fBCOMMAND cmd...\fP\&.  At build time the commands
+will be executed in order and aborted if any one fails.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... BUILD_COMMAND make COMMAND echo done ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+specifies to run \fBmake\fP and then \fBecho done\fP during the build step.
+Whether the current working directory is preserved between commands is
+not defined.  Behavior of shell operators like \fB&&\fP is not defined.
+.sp
+Arguments to \fB<step>_COMMAND\fP or \fBCOMMAND\fP options may use
+\fBgenerator expressions\fP\&.
+.INDENT 0.0
+.TP
+.B ExternalProject_Get_Property
+The \fBExternalProject_Get_Property\fP function retrieves external project
+target properties:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalProject_Get_Property(<name> [prop1 [prop2 [...]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It stores property values in variables of the same name.  Property
+names correspond to the keyword argument names of
+\fBExternalProject_Add\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalProject_Add_StepTargets
+The \fBExternalProject_Add_StepTargets\fP function generates custom
+targets for the steps listed:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalProject_Add_StepTargets(<name> [NO_DEPENDS] [step1 [step2 [...]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+If \fBNO_DEPENDS\fP 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 \fBNO_DEPENDS\fP 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.
+.sp
+If \fBSTEP_TARGETS\fP or \fBINDEPENDENT_STEP_TARGETS\fP is set then
+\fBExternalProject_Add_StepTargets\fP is automatically called at the end
+of matching calls to \fBExternalProject_Add_Step\fP\&.  Pass
+\fBSTEP_TARGETS\fP or \fBINDEPENDENT_STEP_TARGETS\fP explicitly to
+individual \fBExternalProject_Add\fP calls, or implicitly to all
+\fBExternalProject_Add\fP calls by setting the directory properties
+\fBEP_STEP_TARGETS\fP and \fBEP_INDEPENDENT_STEP_TARGETS\fP\&.  The
+\fBINDEPENDENT\fP version of the argument and of the property will call
+\fBExternalProject_Add_StepTargets\fP with the \fBNO_DEPENDS\fP argument.
+.sp
+If \fBSTEP_TARGETS\fP and \fBINDEPENDENT_STEP_TARGETS\fP are not set,
+clients may still manually call \fBExternalProject_Add_StepTargets\fP
+after calling \fBExternalProject_Add\fP or \fBExternalProject_Add_Step\fP\&.
+.sp
+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.
+.sp
+For example, to drive configure, build and test steps independently
+for each \fBExternalProject_Add\fP call in your project, write the following
+line prior to any \fBExternalProject_Add\fP calls in your \fBCMakeLists.txt\fP
+file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B ExternalProject_Add_StepDependencies
+The \fBExternalProject_Add_StepDependencies\fP function add some
+dependencies for some external project step:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ExternalProject_Add_StepDependencies(<name> <step> [target1 [target2 [...]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fBadd_dependencies()\fP when adding
+a dependency for some of the step targets generated by
+\fBExternalProject\fP\&.
+.UNINDENT
+.SS FeatureSummary
+.sp
+Macros for generating a summary of enabled/disabled features
+.sp
+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().
+.sp
+These macros can be used to generate a summary of enabled and disabled
+packages and/or feature for a build tree:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\-\- 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+               )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+The WHAT option is the only mandatory option.  Here you specify what
+information will be printed:
+.INDENT 0.0
+.TP
+.B \fBALL\fP
+print everything
+.TP
+.B \fBENABLED_FEATURES\fP
+the list of all features which are enabled
+.TP
+.B \fBDISABLED_FEATURES\fP
+the list of all features which are disabled
+.TP
+.B \fBPACKAGES_FOUND\fP
+the list of all packages which have been found
+.TP
+.B \fBPACKAGES_NOT_FOUND\fP
+the list of all packages which have not been found
+.TP
+.B \fBOPTIONAL_PACKAGES_FOUND\fP
+only those packages which have been found which have the type OPTIONAL
+.TP
+.B \fBOPTIONAL_PACKAGES_NOT_FOUND\fP
+only those packages which have not been found which have the type OPTIONAL
+.TP
+.B \fBRECOMMENDED_PACKAGES_FOUND\fP
+only those packages which have been found which have the type RECOMMENDED
+.TP
+.B \fBRECOMMENDED_PACKAGES_NOT_FOUND\fP
+only those packages which have not been found which have the type RECOMMENDED
+.TP
+.B \fBREQUIRED_PACKAGES_FOUND\fP
+only those packages which have been found which have the type REQUIRED
+.TP
+.B \fBREQUIRED_PACKAGES_NOT_FOUND\fP
+only those packages which have not been found which have the type REQUIRED
+.TP
+.B \fBRUNTIME_PACKAGES_FOUND\fP
+only those packages which have been found which have the type RUNTIME
+.TP
+.B \fBRUNTIME_PACKAGES_NOT_FOUND\fP
+only those packages which have not been found which have the type RUNTIME
+.UNINDENT
+.sp
+With the exception of the \fBALL\fP value, these values can be combined
+in order to customize the output. For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Example 1, append everything to a file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+feature_summary(WHAT ALL
+                FILENAME ${CMAKE_BINARY_DIR}/all.log APPEND)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example 2, print the enabled features into the variable
+enabledFeaturesText, including QUIET packages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+feature_summary(WHAT ENABLED_FEATURES
+                INCLUDE_QUIET_PACKAGES
+                DESCRIPTION "Enabled Features:"
+                VAR enabledFeaturesText)
+message(STATUS "${enabledFeaturesText}")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SET_PACKAGE_PROPERTIES(<name> PROPERTIES
+                       [ URL <url> ]
+                       [ DESCRIPTION <description> ]
+                       [ TYPE (RUNTIME|OPTIONAL|RECOMMENDED|REQUIRED) ]
+                       [ PURPOSE <purpose> ]
+                      )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+URL: this should be the homepage of the package, or something similar.
+Ideally this is set already directly in the Find\-module.
+.sp
+DESCRIPTION: A short description what that package is, at most one
+sentence.  Ideally this is set already directly in the Find\-module.
+.sp
+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.
+.sp
+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.
+.sp
+Example for setting the info for a package:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(LibXml2)
+set_package_properties(LibXml2 PROPERTIES
+                       DESCRIPTION "A XML processing library."
+                       URL "http://xmlsoft.org/")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(DBUS)
+set_package_properties(DBUS PROPERTIES
+  TYPE RUNTIME
+  PURPOSE "Necessary to disable the screensaver during a presentation" )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ADD_FEATURE_INFO(<name> <enabled> <description>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Example for setting the info for a feature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+option(WITH_FOO "Help for foo" ON)
+add_feature_info(Foo WITH_FOO "The Foo feature provides very cool stuff.")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following macros are provided for compatibility with previous
+CMake versions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SET_PACKAGE_INFO(<name> <description> [<url> [<purpose>] ] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PRINT_ENABLED_FEATURES()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Does the same as FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION
+"Enabled features:")
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PRINT_DISABLED_FEATURES()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Does the same as FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION
+"Disabled features:")
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SET_FEATURE_INFO(<name> <description> [<url>] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Does the same as SET_PACKAGE_INFO(<name> <description> <url> )
+.SS FindALSA
+.sp
+Find alsa
+.sp
+Find the alsa libraries (asound)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindArmadillo
+.sp
+Find Armadillo
+.sp
+Find the Armadillo C++ library
+.sp
+Using Armadillo:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Armadillo REQUIRED)
+include_directories(${ARMADILLO_INCLUDE_DIRS})
+add_executable(foo foo.cc)
+target_link_libraries(foo ${ARMADILLO_LIBRARIES})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This module sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindASPELL
+.sp
+Try to find ASPELL
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindAVIFile
+.sp
+Locate AVIFILE library and include paths
+.sp
+AVIFILE (\fI\%http://avifile.sourceforge.net/)is\fP 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\(aqt need this
+library.  This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt try to use AVIFILE
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindBISON
+.sp
+Find bison executable and provides macros to generate custom build rules
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+BISON_EXECUTABLE \- path to the bison program
+BISON_VERSION \- version of bison
+BISON_FOUND \- true if the program was found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of bison can be specified using the
+standard CMake syntax, e.g.  find_package(BISON 2.1.3)
+.sp
+If bison is found, the module defines the macros:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+BISON_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
+            [COMPILE_FLAGS <string>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.  If COMPILE_FLAGS option is specified, the next
+parameter is added in the bison command line.  if VERBOSE option is
+specified, <file> is created and contains verbose descriptions of the
+grammar and parser.  The macro defines a set of variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+====================================================================
+Example:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ find_package(BISON)
+ BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
+ add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
+====================================================================
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindBLAS
+.sp
+Find BLAS library
+.sp
+This module finds an installed fortran library that implements the
+BLAS linear\-algebra interface (see \fI\%http://www.netlib.org/blas/\fP).  The
+list of libraries searched for is taken from the autoconf macro file,
+acx_blas.m4 (distributed at
+\fI\%http://ac\-archive.sourceforge.net/ac\-archive/acx_blas.html\fP).
+.sp
+This module sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+######### ## List of vendors (BLA_VENDOR) valid in this module #
+Goto,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
+.SS FindBacktrace
+.sp
+Find provider for backtrace(3).
+.sp
+Checks if OS supports backtrace(3) via either libc or custom library.
+This module defines the following variables:
+.INDENT 0.0
+.TP
+.B \fBBacktrace_HEADER\fP
+The header file needed for backtrace(3). Cached.
+Could be forcibly set by user.
+.TP
+.B \fBBacktrace_INCLUDE_DIRS\fP
+The include directories needed to use backtrace(3) header.
+.TP
+.B \fBBacktrace_LIBRARIES\fP
+The libraries (linker flags) needed to use backtrace(3), if any.
+.TP
+.B \fBBacktrace_FOUND\fP
+Is set if and only if backtrace(3) support detected.
+.UNINDENT
+.sp
+The following cache variables are also available to set or use:
+.INDENT 0.0
+.TP
+.B \fBBacktrace_LIBRARY\fP
+The external library providing backtrace, if any.
+.TP
+.B \fBBacktrace_INCLUDE_DIR\fP
+The directory holding the backtrace(3) header.
+.UNINDENT
+.sp
+Typical usage is to generate of header file using configure_file() with the
+contents like the following:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#cmakedefine01 Backtrace_FOUND
+#if Backtrace_FOUND
+# include <${Backtrace_HEADER}>
+#endif
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+And then reference that generated header file in actual source.
+.SS FindBoost
+.sp
+Find Boost include dirs and libraries
+.sp
+Use this module by invoking find_package with the form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqs automatic linking
+                         displayed during compilation
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This module reads hints about search locations from variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and saves search results persistently in CMake cache entries:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Boost_USE_MULTITHREADED  \- Set to OFF to use the non\-multithreaded
+                           libraries (\(aqmt\(aq 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
+                           (\(aqs\(aq 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
+                           (\(aqg\(aq tag).  Default is ON.
+Boost_USE_DEBUG_PYTHON   \- Set to ON to use libraries compiled with a
+                           debug Python build (\(aqy\(aq tag). Default is OFF.
+Boost_USE_STLPORT        \- Set to ON to use libraries compiled with
+                           STLPort (\(aqp\(aq tag).  Default is OFF.
+Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+                         \- Set to ON to use libraries compiled with
+                           STLPort deprecated "native iostreams"
+                           (\(aqn\(aq 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Other variables one may set to control this module are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+to ask Boost to report information about automatic linking requests.
+.sp
+Example to find Boost headers only:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Boost 1.36.0)
+if(Boost_FOUND)
+  include_directories(${Boost_INCLUDE_DIRS})
+  add_executable(foo foo.cc)
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example to find Boost headers and some \fIstatic\fP libraries:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Boost CMake
+.sp
+If Boost was built using the boost\-cmake project it provides a package
+configuration file for use with find_package\(aqs 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.
+.sp
+Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost\-cmake.
+.SS FindBullet
+.sp
+Try to find the Bullet physics engine
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This module defines the following variables
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This module accepts the following variables
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+BULLET_ROOT \- Can be set to bullet install path or Windows build path
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindBZip2
+.sp
+Try to find BZip2
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCABLE
+.sp
+Find CABLE
+.sp
+This module finds if CABLE is installed and determines where the
+include files and libraries are.  This code sets the following
+variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS FindCoin3D
+.sp
+Find Coin3D (Open Inventor)
+.sp
+Coin3D is an implementation of the Open Inventor API.  It provides
+data structures and algorithms for 3D visualization.
+.sp
+This module defines the following variables
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCUDA
+.sp
+Tools for building CUDA C files: libraries and build dependencies.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt 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 withing 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\(aqs \-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\(aqt 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The script creates the following macros (in alphebetical order):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt 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 preceed 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The script defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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_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\(aqt
+                         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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCups
+.sp
+Try to find the Cups printing system
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCURL
+.sp
+Find curl
+.sp
+Find the native CURL headers and libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCurses
+.sp
+Find the curses or ncurses include file and library.
+.SS Result Variables
+.sp
+This module defines the following variables:
+.INDENT 0.0
+.TP
+.B \fBCURSES_FOUND\fP
+True if Curses is found.
+.TP
+.B \fBCURSES_INCLUDE_DIRS\fP
+The include directories needed to use Curses.
+.TP
+.B \fBCURSES_LIBRARIES\fP
+The libraries needed to use Curses.
+.TP
+.B \fBCURSES_HAVE_CURSES_H\fP
+True if curses.h is available.
+.TP
+.B \fBCURSES_HAVE_NCURSES_H\fP
+True if ncurses.h is available.
+.TP
+.B \fBCURSES_HAVE_NCURSES_NCURSES_H\fP
+True if \fBncurses/ncurses.h\fP is available.
+.TP
+.B \fBCURSES_HAVE_NCURSES_CURSES_H\fP
+True if \fBncurses/curses.h\fP is available.
+.UNINDENT
+.sp
+Set \fBCURSES_NEED_NCURSES\fP to \fBTRUE\fP before the
+\fBfind_package(Curses)\fP call if NCurses functionality is required.
+.SS Backward Compatibility
+.sp
+The following variable are provided for backward compatibility:
+.INDENT 0.0
+.TP
+.B \fBCURSES_INCLUDE_DIR\fP
+Path to Curses include.  Use \fBCURSES_INCLUDE_DIRS\fP instead.
+.TP
+.B \fBCURSES_LIBRARY\fP
+Path to Curses library.  Use \fBCURSES_LIBRARIES\fP instead.
+.UNINDENT
+.SS FindCVS
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CVS_EXECUTABLE \- path to cvs command line client
+CVS_FOUND \- true if the command line client was found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(CVS)
+if(CVS_FOUND)
+  message("CVS found: ${CVS_EXECUTABLE}")
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCxxTest
+.sp
+Find CxxTest
+.sp
+Find the CxxTest suite and declare a helper macro for creating unit
+tests and integrating them with CTest.  For more details on CxxTest
+see \fI\%http://cxxtest.tigris.org\fP
+.sp
+INPUT Variables
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+OUTPUT Variables
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+MACROS for optional use by CMake users:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqs to be included in
+                               this runner
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#==============
+Example Usage:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(CxxTest)
+if(CXXTEST_FOUND)
+    include_directories(${CXXTEST_INCLUDE_DIR})
+    enable_testing()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+    CXXTEST_ADD_TEST(unittest_foo foo_test.cc
+                      ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
+    target_link_libraries(unittest_foo foo) # as needed
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#=============
+Example foo_test.h:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <cxxtest/TestSuite.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+class MyTestSuite : public CxxTest::TestSuite
+{
+public:
+   void testAddition( void )
+   {
+      TS_ASSERT( 1 + 1 > 1 );
+      TS_ASSERT_EQUALS( 1 + 1, 2 );
+   }
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindCygwin
+.sp
+this module looks for Cygwin
+.SS FindDart
+.sp
+Find DART
+.sp
+This module looks for the dart testing software and sets DART_ROOT to
+point to where it found it.
+.SS FindDCMTK
+.sp
+find DCMTK libraries and applications
+.SS FindDevIL
+.sp
+This module locates the developer\(aqs image library.
+\fI\%http://openil.sourceforge.net/\fP
+.sp
+This module sets:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt 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\(aqs the
+                 way the DevIL developers release it.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindDoxygen
+.sp
+This module looks for Doxygen and the path to Graphviz\(aqs dot
+.sp
+Doxygen is a documentation generation tool.  Please see
+\fI\%http://www.doxygen.org\fP
+.sp
+This module accepts the following optional variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+DOXYGEN_SKIP_DOT       = If true this module will skip trying to find Dot
+                         (an optional component often used by Doxygen)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This modules defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+DOXYGEN_EXECUTABLE     = The path to the doxygen command.
+DOXYGEN_FOUND          = Was Doxygen found or not?
+DOXYGEN_VERSION        = The version reported by doxygen \-\-version
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+DOXYGEN_DOT_EXECUTABLE = The path to the dot program used by doxygen.
+DOXYGEN_DOT_FOUND      = Was Dot found or not?
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For compatibility with older versions of CMake, the now\-deprecated
+variable \fBDOXYGEN_DOT_PATH\fP is set to the path to the directory
+containing \fBdot\fP as reported in \fBDOXYGEN_DOT_EXECUTABLE\fP\&.
+The path may have forward slashes even on Windows and is not
+suitable for direct substitution into a \fBDoxyfile.in\fP template.
+If you need this value, use \fBget_filename_component()\fP
+to compute it from \fBDOXYGEN_DOT_EXECUTABLE\fP directly, and
+perhaps the \fBfile(TO_NATIVE_PATH)\fP command to prepare
+the path for a Doxygen configuration file.
+.SS FindEXPAT
+.sp
+Find expat
+.sp
+Find the native EXPAT headers and libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+EXPAT_INCLUDE_DIRS \- where to find expat.h, etc.
+EXPAT_LIBRARIES    \- List of libraries when using expat.
+EXPAT_FOUND        \- True if expat found.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindFLEX
+.sp
+Find flex executable and provides a macro to generate custom build rules
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of flex can be specified using the
+standard syntax, e.g.  find_package(FLEX 2.5.13)
+.sp
+If flex is found on the system, the module provides the macro:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FLEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.  Name is an alias used to
+get details of this custom command.  Indeed the macro defines the
+following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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}
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ADD_FLEX_BISON_DEPENDENCY(FlexTarget BisonTarget)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+====================================================================
+Example:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(BISON)
+find_package(FLEX)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ add_executable(Foo
+    Foo.cc
+    ${BISON_MyParser_OUTPUTS}
+    ${FLEX_MyScanner_OUTPUTS}
+ )
+====================================================================
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindFLTK2
+.sp
+Find the native FLTK2 includes and library
+.sp
+The following settings are defined
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt use FLTK2 if false.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following settings should not be used in general.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindFLTK
+.sp
+Find the native FLTK includes and library
+.sp
+By default FindFLTK.cmake will search for all of the FLTK components
+and add them to the FLTK_LIBRARIES variable.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+You can limit the components which get placed in FLTK_LIBRARIES by
+defining one or more of the following three options:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FLTK_SKIP_FLUID, set to true if the fluid binary need not be present
+                 at build time
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables will be defined:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following cache variables are assigned but should not be used.
+See the FLTK_LIBRARIES variable instead.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindFreetype
+.sp
+Locate FreeType library
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+$FREETYPE_DIR is an environment variable that would correspond to the
+./configure \-\-prefix=$FREETYPE_DIR used in building FREETYPE.
+.SS FindGCCXML
+.sp
+Find the GCC\-XML front\-end executable.
+.sp
+This module will define the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GCCXML \- the GCC\-XML front\-end executable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGDAL
+.sp
+Locate gdal
+.sp
+This module accepts the following environment variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GDAL_DIR or GDAL_ROOT \- Specify the location of GDAL
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This module defines the following CMake variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GDAL_FOUND \- True if libgdal is found
+GDAL_LIBRARY \- A variable pointing to the GDAL library
+GDAL_INCLUDE_DIR \- Where to find the headers
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGettext
+.sp
+Find GNU gettext tools
+.sp
+This module looks for the GNU gettext tools.  This module defines the
+following values:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Additionally it provides the following macros:
+.sp
+GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ...  fileN )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+GETTEXT_PROCESS_POT_FILE( <potfile> [ALL] [INSTALL_DESTINATION <destdir>]
+LANGUAGES <lang1> <lang2> ...  )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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".
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+GETTEXT_PROCESS_PO_FILES( <lang> [ALL] [INSTALL_DESTINATION <dir>]
+PO_FILES <po1> <po2> ...  )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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".
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+If you wish to use the Gettext library (libintl), use \fBFindIntl\fP\&.
+.UNINDENT
+.UNINDENT
+.SS FindGIF
+.sp
+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)
+.sp
+The minimum required version of giflib can be specified using the
+standard syntax, e.g.  find_package(GIF 4)
+.sp
+$GIF_DIR is an environment variable that would correspond to the
+./configure \-\-prefix=$GIF_DIR
+.SS FindGit
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GIT_EXECUTABLE \- path to git command line client
+GIT_FOUND \- true if the command line client was found
+GIT_VERSION_STRING \- the version of git found (since CMake 2.8.8)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Git)
+if(GIT_FOUND)
+  message("git found: ${GIT_EXECUTABLE}")
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGLEW
+.sp
+Find the OpenGL Extension Wrangler Library (GLEW)
+.SS IMPORTED Targets
+.sp
+This module defines the \fBIMPORTED\fP target \fBGLEW::GLEW\fP,
+if GLEW has been found.
+.SS Result Variables
+.sp
+This module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGLUT
+.sp
+try to find glut library and include files.
+.SS IMPORTED Targets
+.sp
+This module defines the \fBIMPORTED\fP targets:
+.INDENT 0.0
+.TP
+.B \fBGLUT::GLUT\fP
+Defined if the system has GLUT.
+.UNINDENT
+.SS Result Variables
+.sp
+This module sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Also defined, but not for general use are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGnuplot
+.sp
+this module looks for gnuplot
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GNUPLOT_FOUND \- system has Gnuplot
+GNUPLOT_EXECUTABLE \- the Gnuplot executable
+GNUPLOT_VERSION_STRING \- the version of Gnuplot found (since CMake 2.8.8)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+GNUPLOT_VERSION_STRING will not work for old versions like 3.7.1.
+.SS FindGnuTLS
+.sp
+Try to find the GNU Transport Layer Security library (gnutls)
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGSL
+.sp
+Find the native GSL includes and libraries.
+.sp
+The GNU Scientific Library (GSL) is a numerical library for C and C++
+programmers. It is free software under the GNU General Public
+License.
+.SS Imported Targets
+.sp
+If GSL is found, this module defines the following \fBIMPORTED\fP
+targets:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GSL::gsl      \- The main GSL library.
+GSL::gslcblas \- The CBLAS support library used by GSL.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Result Variables
+.sp
+This module will set the following variables in your project:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Hints
+.sp
+Set \fBGSL_ROOT_DIR\fP to a directory that contains a GSL installation.
+.sp
+This script expects to find libraries at \fB$GSL_ROOT_DIR/lib\fP and the GSL
+headers at \fB$GSL_ROOT_DIR/include/gsl\fP\&.  The library directory may
+optionally provide Release and Debug folders.  For Unix\-like systems, this
+script will use \fB$GSL_ROOT_DIR/bin/gsl\-config\fP (if found) to aid in the
+discovery GSL.
+.SS Cache Variables
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GSL_CLBAS_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 \(ga\(gagsl\-config\(ga\(ga script (if any).
+GSL_LIBRARY             \- Location of the GSL library.
+GSL_LIBRARY_DEBUG       \- Location of the debug GSL library (if any).
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGTest
+.sp
+Locate the Google C++ Testing Framework.
+.sp
+Defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTEST_FOUND \- Found the Google Testing framework
+GTEST_INCLUDE_DIRS \- Include directories
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Also defines the library variables below as normal variables.  These
+contain debug/optimized keywords when a debugging library is found.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTEST_BOTH_LIBRARIES \- Both libgtest & libgtest\-main
+GTEST_LIBRARIES \- libgtest
+GTEST_MAIN_LIBRARIES \- libgtest\-main
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Accepts the following variables as input:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTEST_ROOT \- (as a CMake or environment variable)
+             The root directory of the gtest install prefix
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTEST_MSVC_SEARCH \- If compiling with MSVC, this variable can be set to
+                    "MD" or "MT" to enable searching a GTest build tree
+                    (defaults: "MD")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+enable_testing()
+find_package(GTest REQUIRED)
+include_directories(${GTEST_INCLUDE_DIRS})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(foo foo.cc)
+target_link_libraries(foo ${GTEST_BOTH_LIBRARIES})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_test(AllTestsInFoo foo)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If you would like each Google test to show up in CTest as a test you
+may use the following macro.  NOTE: It will slow down your tests by
+running an executable for each test and test fixture.  You will also
+have to rerun CMake after adding or removing tests or test fixtures.
+.sp
+GTEST_ADD_TESTS(executable extra_args ARGN)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+executable = The path to the test executable
+extra_args = Pass a list of extra arguments to be passed to
+             executable enclosed in quotes (or "" for none)
+ARGN =       A list of source files to search for tests & test
+             fixtures. Or AUTO to find them from executable target.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Example:
+   set(FooTestArgs \-\-foo 1 \-\-bar 2)
+   add_executable(FooTest FooUnitTest.cc)
+   GTEST_ADD_TESTS(FooTest "${FooTestArgs}" AUTO)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGTK2
+.sp
+FindGTK2.cmake
+.sp
+This module can find the GTK2 widget libraries and several of its
+other optional components like gtkmm, glade, and glademm.
+.sp
+NOTE: If you intend to use version checking, CMake 2.6.2 or later is
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+required.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specify one or more of the following components as you call this find
+module.  See example below.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+gtk
+gtkmm
+glade
+glademm
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following variables will be defined for your use
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTK2_FOUND \- Were all of your specified components found?
+GTK2_INCLUDE_DIRS \- All include directories
+GTK2_LIBRARIES \- All libraries
+GTK2_DEFINITIONS \- Additional compiler flags
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Optional variables you can define prior to calling this module:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GTK2_DEBUG \- Enables verbose debugging of the module
+GTK2_ADDITIONAL_SUFFIXES \- Allows defining additional directories to
+                           search for include files
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+================= Example Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Call find_package() once, here are some examples to pick from:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Require GTK 2.6 or later
+    find_package(GTK2 2.6 REQUIRED gtk)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Require GTK 2.10 or later and Glade
+    find_package(GTK2 2.10 REQUIRED gtk glade)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Search for GTK/GTKMM 2.8 or later
+    find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(GTK2_FOUND)
+   include_directories(${GTK2_INCLUDE_DIRS})
+   add_executable(mygui mygui.cc)
+   target_link_libraries(mygui ${GTK2_LIBRARIES})
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindGTK
+.sp
+try to find GTK (and glib) and GTKGLArea
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqs GL features were found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindHDF5
+.sp
+Find HDF5, a library for reading and writing self describing array data.
+.sp
+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.
+.sp
+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.
+.sp
+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\(aqs dependencies.
+To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
+variable is set before the call to find_package.
+.sp
+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.
+.sp
+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.
+.sp
+This module will define the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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_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_HL_LIBRARIES \- Required libraries for the HDF5 high level API
+HDF5_Fortran_HL_LIBRARIES \- Required libraries for the high level Fortran
+                            bindings.
+HDF5_LIBRARIES \- Required libraries for all requested bindings
+HDF5_FOUND \- true if HDF5 was found on the system
+HDF5_VERSION \- HDF5 version in format Major.Minor.Release
+HDF5_LIBRARY_DIRS \- the full set of library directories
+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_DIFF_EXECUTABLE \- the path to the HDF5 dataset comparison tool
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindHg
+.sp
+Extract information from a mercurial working copy.
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the command line client executable is found the following macro is defined:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+HG_WC_INFO(<dir> <var\-prefix>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Hg_WC_INFO extracts information of a mercurial working copy
+at a given location.  This macro defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<var\-prefix>_WC_CHANGESET \- current changeset
+<var\-prefix>_WC_REVISION \- current revision
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindHSPELL
+.sp
+Try to find Hspell
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindHTMLHelp
+.sp
+This module looks for Microsoft HTML Help Compiler
+.sp
+It defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindIce
+.sp
+Find the ZeroC Internet Communication Engine (ICE) programs,
+libraries and datafiles.
+.sp
+This module supports multiple components.
+Components can include any of: \fBFreeze\fP, \fBGlacier2\fP, \fBIce\fP,
+\fBIceBox\fP, \fBIceDB\fP, \fBIceGrid\fP, \fBIcePatch\fP, \fBIceSSL\fP,
+\fBIceStorm\fP, \fBIceUtil\fP, \fBIceXML\fP, or \fBSlice\fP\&.
+.sp
+This module reports information about the Ice installation in
+several variables.  General variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Ice programs are reported in:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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_SLICE2PHP_EXECUTABLE \- path to slice2php executable
+Ice_SLICE2PY_EXECUTABLE \- path to slice2py executable
+Ice_SLICE2RB_EXECUTABLE \- path to slice2rb executable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Ice component libraries are reported in:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Ice_<C>_FOUND \- ON if component was found
+Ice_<C>_LIBRARIES \- libraries for component
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that \fB<C>\fP is the uppercased name of the component.
+.sp
+This module reads hints about search results from:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Ice_HOME \- the root of the Ice installation
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The environment variable \fBICE_HOME\fP may also be used; the
+Ice_HOME variable takes precedence.
+.sp
+The following cache variables may also be set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+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\(aqs 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.
+.UNINDENT
+.UNINDENT
+.sp
+Other variables one may set to control this module are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Ice_DEBUG \- Set to ON to enable debug output from FindIce.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindIcotool
+.sp
+Find icotool
+.sp
+This module looks for icotool.  This module defines the following
+values:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindImageMagick
+.sp
+Find the ImageMagick binary suite.
+.sp
+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):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+animate
+compare
+composite
+conjure
+convert
+display
+identify
+import
+mogrify
+montage
+stream
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+ImageMagick_VERSION_STRING will not work for old versions like 5.2.3.
+.sp
+There are also components for the following ImageMagick APIs:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Magick++
+MagickWand
+MagickCore
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For these components the following variables are set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example Usages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the standard FIND_PACKAGE features are supported (i.e.,
+QUIET, REQUIRED, etc.).
+.SS FindIntl
+.sp
+Find the Gettext libintl headers and libraries.
+.sp
+This module reports information about the Gettext libintl
+installation in several variables.  General variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following cache variables may also be set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Intl_INCLUDE_DIR \- the directory containing the libintl headers
+Intl_LIBRARY \- the libintl library (if any)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+On some platforms, such as Linux with GNU libc, the gettext
+functions are present in the C standard library and libintl
+is not required.  \fBIntl_LIBRARIES\fP will be empty in this
+case.
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+If you wish to use the Gettext tools (\fBmsgmerge\fP,
+\fBmsgfmt\fP, etc.), use \fBFindGettext\fP\&.
+.UNINDENT
+.UNINDENT
+.SS FindITK
+.sp
+This module no longer exists.
+.sp
+This module existed in versions of CMake prior to 3.1, but became
+only a thin wrapper around \fBfind_package(ITK NO_MODULE)\fP to
+provide compatibility for projects using long\-outdated conventions.
+Now \fBfind_package(ITK)\fP will search for \fBITKConfig.cmake\fP
+directly.
+.SS FindJasper
+.sp
+Try to find the Jasper JPEG2000 library
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindJava
+.sp
+Find Java
+.sp
+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.
+.sp
+This module sets the following result variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 documention generator
+Java_JAR_EXECUTABLE     = the full path to the Java archiver
+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 \(aq_\(aq)
+Java_VERSION            = This is set to: $major.$minor.$patch(.$tweak)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of Java can be specified using the
+standard CMake syntax, e.g.  find_package(Java 1.5)
+.sp
+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
+.sp
+another example is the Java OEM, with: Java_VERSION_STRING = 1.6.0\-oem
+and Java_VERSION = 1.6.0
+.sp
+For these components the following variables are set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example Usages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Java)
+find_package(Java COMPONENTS Runtime)
+find_package(Java COMPONENTS Development)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindJNI
+.sp
+Find JNI java libraries.
+.sp
+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.
+.sp
+This module sets the following result variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindJPEG
+.sp
+Find JPEG
+.sp
+Find the native JPEG includes and library This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+also defined, but not for general use are
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+JPEG_LIBRARY, where to find the JPEG library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindKDE3
+.sp
+Find the KDE3 include and library dirs, KDE preprocessors and define a some macros
+.sp
+This module defines the following variables:
+.INDENT 0.0
+.TP
+.B \fBKDE3_DEFINITIONS\fP
+compiler definitions required for compiling KDE software
+.TP
+.B \fBKDE3_INCLUDE_DIR\fP
+the KDE include directory
+.TP
+.B \fBKDE3_INCLUDE_DIRS\fP
+the KDE and the Qt include directory, for use with include_directories()
+.TP
+.B \fBKDE3_LIB_DIR\fP
+the directory where the KDE libraries are installed, for use with link_directories()
+.TP
+.B \fBQT_AND_KDECORE_LIBS\fP
+this contains both the Qt and the kdecore library
+.TP
+.B \fBKDE3_DCOPIDL_EXECUTABLE\fP
+the dcopidl executable
+.TP
+.B \fBKDE3_DCOPIDL2CPP_EXECUTABLE\fP
+the dcopidl2cpp executable
+.TP
+.B \fBKDE3_KCFGC_EXECUTABLE\fP
+the kconfig_compiler executable
+.TP
+.B \fBKDE3_FOUND\fP
+set to TRUE if all of the above has been found
+.UNINDENT
+.sp
+The following user adjustable options are provided:
+.INDENT 0.0
+.TP
+.B \fBKDE3_BUILD_TESTS\fP
+enable this to build KDE testcases
+.UNINDENT
+.sp
+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.
+.sp
+KDE3_AUTOMOC(file1 ...  fileN)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_MOC_FILES(SRCS_VAR file1 ...  fileN )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+If you don\(aqt use the KDE3_AUTOMOC() macro, for the files
+listed here moc files will be created (named "foo.moc.cpp")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_DCOP_SKELS(SRCS_VAR header1.h ...  headerN.h )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Use this to generate DCOP skeletions from the listed headers.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_DCOP_STUBS(SRCS_VAR header1.h ...  headerN.h )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Use this to generate DCOP stubs from the listed headers.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_UI_FILES(SRCS_VAR file1.ui ...  fileN.ui )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Use this to add the Qt designer ui files to your application/library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_KCFG_FILES(SRCS_VAR file1.kcfgc ...  fileN.kcfgc )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Use this to add KDE kconfig compiler files to your application/library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_INSTALL_LIBTOOL_FILE(target)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This will create and install a simple libtool file for the given target.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_EXECUTABLE(name file1 ...  fileN )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Currently identical to add_executable(), may provide some advanced
+features in the future.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_KPART(name [WITH_PREFIX] file1 ...  fileN )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt.
+It creates and installs an appropriate libtool la\-file.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+KDE3_ADD_KDEINIT_EXECUTABLE(name file1 ...  fileN )
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The option KDE3_ENABLE_FINAL to enable all\-in\-one compilation is no
+longer supported.
+.sp
+Author: Alexander Neundorf <\fI\%[email protected]\fP>
+.SS FindKDE4
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_INSTALL_PREFIX
+KDEDIRS
+/opt/kde4
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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/.
+.sp
+Author: Alexander Neundorf <\fI\%[email protected]\fP>
+.SS FindLAPACK
+.sp
+Find LAPACK library
+.sp
+This module finds an installed fortran library that implements the
+LAPACK linear\-algebra interface (see \fI\%http://www.netlib.org/lapack/\fP).
+.sp
+The approach follows that taken for the autoconf macro file,
+acx_lapack.m4 (distributed at
+\fI\%http://ac\-archive.sourceforge.net/ac\-archive/acx_lapack.html\fP).
+.sp
+This module sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+## List of vendors (BLA_VENDOR) valid in this module # Intel(mkl),
+ACML,Apple, NAS, Generic
+.SS FindLATEX
+.sp
+Find Latex
+.sp
+This module finds an installed Latex and determines the location
+of the compiler.  Additionally the module looks for Latex\-related
+software like BibTeX.
+.sp
+This module sets the following result variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Possible components are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PDFLATEX
+XELATEX
+LUALATEX
+BIBTEX
+BIBER
+MAKEINDEX
+XINDY
+DVIPS
+DVIPDF
+PS2PDF
+PDFTOPS
+LATEX2HTML
+HTLATEX
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example Usages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(LATEX)
+find_package(LATEX COMPONENTS PDFLATEX)
+find_package(LATEX COMPONENTS BIBTEX PS2PDF)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindLibArchive
+.sp
+Find libarchive library and headers
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindLibLZMA
+.sp
+Find LibLZMA
+.sp
+Find LibLZMA headers and library
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindLibXml2
+.sp
+Try to find the LibXml2 xml processing library
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindLibXslt
+.sp
+Try to find the LibXslt library
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Additionally, the following two variables are set (but not required
+for using xslt):
+.INDENT 0.0
+.TP
+.B \fBLIBXSLT_EXSLT_LIBRARIES\fP
+Link to these if you need to link against the exslt library.
+.TP
+.B \fBLIBXSLT_XSLTPROC_EXECUTABLE\fP
+Contains the full path to the xsltproc executable if found.
+.UNINDENT
+.SS FindLua50
+.sp
+Locate Lua library This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the expected include convention is
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include "lua.h"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and not
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <lua/lua.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This is because, the lua location is not standardized and may exist in
+locations other than lua/
+.SS FindLua51
+.sp
+Locate Lua library This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the expected include convention is
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include "lua.h"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and not
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <lua/lua.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This is because, the lua location is not standardized and may exist in
+locations other than lua/
+.SS FindLua
+.sp
+Locate Lua library This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that the expected include convention is
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include "lua.h"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and not
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <lua/lua.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This is because, the lua location is not standardized and may exist in
+locations other than lua/
+.SS FindMatlab
+.sp
+Finds Matlab installations and provides Matlab tools and libraries to cmake.
+.sp
+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:
+.INDENT 0.0
+.IP \(bu 2
+run specific commands in Matlab
+.IP \(bu 2
+declare Matlab unit test
+.IP \(bu 2
+retrieve various information from Matlab (mex extensions, versions and
+release queries, ...)
+.UNINDENT
+.sp
+The module supports the following components:
+.INDENT 0.0
+.IP \(bu 2
+\fBMX_LIBRARY\fP and \fBENG_LIBRARY\fP respectively the MX and ENG libraries of
+Matlab
+.IP \(bu 2
+\fBMAIN_PROGRAM\fP the Matlab binary program.
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The version given to the \fBfind_package()\fP directive is the Matlab
+\fBversion\fP, which should not be confused with the Matlab \fIrelease\fP name
+(eg. \fIR2014\fP).
+The \fI\%matlab_get_version_from_release_name()\fP and
+\fI\%matlab_get_release_name_from_version()\fP allow a mapping
+from the release name to the version.
+.UNINDENT
+.UNINDENT
+.sp
+The variable \fI\%Matlab_ROOT_DIR\fP may be specified in order to give
+the path of the desired Matlab version. Otherwise, the behaviour is platform
+specific:
+.INDENT 0.0
+.IP \(bu 2
+Windows: The installed versions of Matlab are retrieved from the
+Windows registry
+.IP \(bu 2
+OS X: The installed versions of Matlab are given by the MATLAB
+paths in \fB/Application\fP\&. If no such application is found, it falls back
+to the one that might be accessible from the PATH.
+.IP \(bu 2
+Unix: The desired Matlab should be accessible from the PATH.
+.UNINDENT
+.sp
+Additional information is provided when \fI\%MATLAB_FIND_DEBUG\fP is set.
+When a Matlab binary is found automatically and the \fBMATLAB_VERSION\fP
+is not given, the version is queried from Matlab directly.
+On Windows, it can make a window running Matlab appear.
+.sp
+The mapping of the release names and the version of Matlab is performed by
+defining pairs (name, version).  The variable
+\fI\%MATLAB_ADDITIONAL_VERSIONS\fP may be provided before the call to
+the \fBfind_package()\fP in order to handle additional versions.
+.sp
+A Matlab scripts can be added to the set of tests using the
+\fI\%matlab_add_unit_test()\fP\&. By default, the Matlab unit test framework
+will be used (>= 2013a) to run this script, but regular \fB\&.m\fP files
+returning an exit code can be used as well (0 indicating a success).
+.SS Module Input Variables
+.sp
+Users or projects may set the following variables to configure the module
+behaviour:
+.INDENT 0.0
+.TP
+.B \fI\%Matlab_ROOT_DIR\fP
+the root of the Matlab installation.
+.TP
+.B \fI\%MATLAB_FIND_DEBUG\fP
+outputs debug information
+.TP
+.B \fI\%MATLAB_ADDITIONAL_VERSIONS\fP
+additional versions of Matlab for the automatic retrieval of the installed
+versions.
+.UNINDENT
+.SS Variables defined by the module
+.SS Result variables
+.INDENT 0.0
+.TP
+.B \fBMatlab_FOUND\fP
+\fBTRUE\fP if the Matlab installation is found, \fBFALSE\fP
+otherwise. All variable below are defined if Matlab is found.
+.TP
+.B \fBMatlab_ROOT_DIR\fP
+the final root of the Matlab installation determined by the FindMatlab
+module.
+.TP
+.B \fBMatlab_MAIN_PROGRAM\fP
+the Matlab binary program. Available only if the component \fBMAIN_PROGRAM\fP
+is given in the \fBfind_package()\fP directive.
+.TP
+.B \fBMatlab_INCLUDE_DIRS\fP
+the path of the Matlab libraries headers
+.TP
+.B \fBMatlab_MEX_LIBRARY\fP
+library for mex, always available.
+.TP
+.B \fBMatlab_MX_LIBRARY\fP
+mx library of Matlab (arrays). Available only if the component
+\fBMX_LIBRARY\fP has been requested.
+.TP
+.B \fBMatlab_ENG_LIBRARY\fP
+Matlab engine library. Available only if the component \fBENG_LIBRARY\fP
+is requested.
+.TP
+.B \fBMatlab_LIBRARIES\fP
+the whole set of libraries of Matlab
+.TP
+.B \fBMatlab_MEX_COMPILER\fP
+the mex compiler of Matlab. Currently not used.
+Available only if the component \fBMEX_COMPILER\fP is asked
+.UNINDENT
+.SS Cached variables
+.INDENT 0.0
+.TP
+.B \fBMatlab_MEX_EXTENSION\fP
+the extension of the mex files for the current platform (given by Matlab).
+.TP
+.B \fBMatlab_ROOT_DIR\fP
+the location of the root of the Matlab installation found. If this value
+is changed by the user, the result variables are recomputed.
+.UNINDENT
+.SS Provided macros
+.INDENT 0.0
+.TP
+.B \fI\%matlab_get_version_from_release_name()\fP
+returns the version from the release name
+.TP
+.B \fI\%matlab_get_release_name_from_version()\fP
+returns the release name from the Matlab version
+.UNINDENT
+.SS Provided functions
+.INDENT 0.0
+.TP
+.B \fI\%matlab_add_mex()\fP
+adds a target compiling a MEX file.
+.TP
+.B \fI\%matlab_add_unit_test()\fP
+adds a Matlab unit test file as a test to the project.
+.TP
+.B \fI\%matlab_extract_all_installed_versions_from_registry()\fP
+parses the registry for all Matlab versions. Available on Windows only.
+The part of the registry parsed is dependent on the host processor
+.TP
+.B \fI\%matlab_get_all_valid_matlab_roots_from_registry()\fP
+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.
+.TP
+.B \fI\%matlab_get_mex_suffix()\fP
+returns the suffix to be used for the mex files
+(platform/architecture dependant)
+.TP
+.B \fI\%matlab_get_version_from_matlab_run()\fP
+returns the version of Matlab, given the full directory of the Matlab
+program.
+.UNINDENT
+.SS Known issues
+.INDENT 0.0
+.TP
+.B \fBSymbol clash in a MEX target\fP
+By default, every symbols inside a MEX
+file defined with the command \fI\%matlab_add_mex()\fP 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.
+.sp
+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 \fB\-Wl,\-\-exclude\-libs,ALL\fP\&.
+.TP
+.B \fBTests using GPU resources\fP
+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 \fBD = gpuDevice()\fP at the beginning of
+the test script (or via a fixture).
+.UNINDENT
+.SS Reference
+.INDENT 0.0
+.TP
+.B Matlab_ROOT_DIR
+The root folder of the Matlab installation. If set before the call to
+\fBfind_package()\fP, 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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B MATLAB_FIND_DEBUG
+If set, the lookup of Matlab and the intermediate configuration steps are
+outputted to the console.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(MATLAB_ADDITIONAL_VERSIONS
+    "release_name1=corresponding_version1"
+    "release_name2=corresponding_version2"
+    ...
+    )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(MATLAB_ADDITIONAL_VERSIONS
+    "R2013b=8.2"
+    "R2013a=8.1"
+    "R2012b=8.0")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B matlab_get_version_from_release_name
+Returns the version of Matlab (17.58) from a release name (R2017k)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B matlab_get_release_name_from_version
+Returns the release name (R2017k) from the version of Matlab (17.58)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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 \fImatlab_versions\fP\&.
+Set \fIwin64\fP to \fITRUE\fP if the 64 bit version of Matlab should be looked for
+The returned list contains all versions under
+\fBHKLM\e\eSOFTWARE\e\eMathworks\e\eMATLAB\fP or an empty list in case an error
+occurred (or nothing found).
+.sp
+\fBNOTE:\fP
+.INDENT 7.0
+.INDENT 3.5
+Only the versions are provided. No check is made over the existence of the
+installation referenced in the registry,
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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
+\fB(version_number,matlab_root_path)\fP\&.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+matlab_get_all_valid_matlab_roots_from_registry(
+    matlab_versions
+    matlab_roots)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \fBmatlab_versions\fP
+the versions of each of the Matlab installations
+.TP
+.B \fBmatlab_roots\fP
+the location of each of the Matlab installations
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+matlab_get_mex_suffix(
+    matlab_root
+    mex_suffix)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \fBmatlab_root\fP
+the root of the Matlab installation
+.TP
+.B \fBmex_suffix\fP
+the variable name in which the suffix will be returned.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B matlab_get_version_from_matlab_run
+This function runs Matlab program specified on arguments and extracts its
+version.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+matlab_get_version_from_matlab_run(
+    matlab_binary_path
+    matlab_list_versions)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \fBmatlab_binary_path\fP
+the location of the \fImatlab\fP binary executable
+.TP
+.B \fBmatlab_list_versions\fP
+the version extracted from Matlab
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B matlab_add_unit_test
+Adds a Matlab unit test to the test set of cmake/ctest.
+This command requires the component \fBMAIN_PROGRAM\fP\&.
+The unit test uses the Matlab unittest framework (default, available
+starting Matlab 2013b+) except if the option \fBNO_UNITTEST_FRAMEWORK\fP
+is given.
+.sp
+The function expects one Matlab test script file to be given.
+In the case \fBNO_UNITTEST_FRAMEWORK\fP 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 \fBadd_test()\fP can be
+passed through \fBTEST_ARGS\fP (eg. \fBCONFIGURATION <config> ...\fP).
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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]
+    )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The function arguments are:
+.INDENT 7.0
+.TP
+.B \fBNAME\fP
+name of the unittest in ctest.
+.TP
+.B \fBUNITTEST_FILE\fP
+the matlab unittest file. Its path will be automatically
+added to the Matlab path.
+.TP
+.B \fBUNITTEST_PRECOMMAND\fP
+Matlab script command to be ran before the file
+containing the test (eg. GPU device initialisation based on CMake
+variables).
+.TP
+.B \fBTIMEOUT\fP
+the test timeout in seconds. Defaults to 180 seconds as the
+Matlab unit test may hang.
+.TP
+.B \fBADDITIONAL_PATH\fP
+a list of paths to add to the Matlab path prior to
+running the unit test.
+.TP
+.B \fBMATLAB_ADDITIONAL_STARTUP_OPTIONS\fP
+a list of additional option in order
+to run Matlab from the command line.
+.TP
+.B \fBTEST_ARGS\fP
+Additional options provided to the add_test command. These
+options are added to the default options (eg. "CONFIGURATIONS Release")
+.TP
+.B \fBNO_UNITTEST_FRAMEWORK\fP
+when set, indicates that the test should not
+use the unittest framework of Matlab (available for versions >= R2013a).
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B 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
+\fBadd_library()\fP command.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+matlab_add_mex(
+    NAME <name>
+    SRC src1 [src2 ...]
+    [OUTPUT_NAME output_name]
+    [DOCUMENTATION file.txt]
+    [LINK_TO target1 target2 ...]
+    [...]
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \fBNAME\fP
+name of the target.
+.TP
+.B \fBSRC\fP
+list of tje source files.
+.TP
+.B \fBLINK_TO\fP
+a list of additional link dependencies.  The target links to \fBlibmex\fP
+by default. If \fBMatlab_MX_LIBRARY\fP is defined, it also
+links to \fBlibmx\fP\&.
+.TP
+.B \fBOUTPUT_NAME\fP
+if given, overrides the default name. The default name is
+the name of the target without any prefix and
+with \fBMatlab_MEX_EXTENSION\fP suffix.
+.TP
+.B \fBDOCUMENTATION\fP
+if given, the file \fBfile.txt\fP 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 \fI\&.m\fP\&. In that case, typing \fBhelp <name>\fP
+in Matlab prints the documentation contained in this file.
+.UNINDENT
+.sp
+The documentation file is not processed and should be in the following
+format:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+% This is the documentation
+function ret = mex_target_output_name(input1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS FindMFC
+.sp
+Find MFC on Windows
+.sp
+Find the native MFC \- i.e.  decide if an application can link to the
+MFC libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MFC_FOUND \- Was MFC support found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+You don\(aqt need to include anything or link anything to use it.
+.SS FindMotif
+.sp
+Try to find Motif (or lesstif)
+.sp
+Once done this will define:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MOTIF_FOUND        \- system has MOTIF
+MOTIF_INCLUDE_DIR  \- include paths to use Motif
+MOTIF_LIBRARIES    \- Link these to use Motif
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindMPEG2
+.sp
+Find the native MPEG2 includes and library
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+also defined, but not for general use are
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MPEG2_mpeg2_LIBRARY, where to find the MPEG2 library.
+MPEG2_vo_LIBRARY, where to find the vo library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindMPEG
+.sp
+Find the native MPEG includes and library
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+also defined, but not for general use are
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MPEG_mpeg2_LIBRARY, where to find the MPEG library.
+MPEG_vo_LIBRARY, where to find the vo library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindMPI
+.sp
+Find a Message Passing Interface (MPI) implementation
+.sp
+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.
+.sp
+=== Variables ===
+.sp
+This module will set the following variables per language in your
+project, where <lang> is one of C, CXX, or Fortran:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Additionally, FindMPI sets the following variables for running MPI
+programs from the command line:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+=== Usage ===
+.sp
+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\(aqre done.  If
+not, you have two options:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqs 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+When using MPIEXEC to execute MPI applications, you should typically
+use all of the MPIEXEC flags as follows:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
+  ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+=== Backward Compatibility ===
+.sp
+For backward compatibility with older versions of FindMPI, these
+variables are set, but deprecated:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MPI_FOUND           MPI_COMPILER        MPI_LIBRARY
+MPI_COMPILE_FLAGS   MPI_INCLUDE_PATH    MPI_EXTRA_LIBRARY
+MPI_LINK_FLAGS      MPI_LIBRARIES
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In new projects, please use the MPI_<lang>_XXX equivalents.
+.SS FindOpenAL
+.sp
+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
+.sp
+$OPENALDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OPENALDIR used in building OpenAL.
+.sp
+Created by Eric Wing.  This was influenced by the FindSDL.cmake
+module.
+.SS FindOpenCL
+.sp
+Try to find OpenCL
+.sp
+Once done this will define:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The module will also define two cache variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OpenCL_INCLUDE_DIR    \- the OpenCL include directory
+OpenCL_LIBRARY        \- the path to the OpenCL library
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindOpenGL
+.sp
+FindModule for OpenGL and GLU.
+.SS Result Variables
+.sp
+This module sets the following variables:
+.INDENT 0.0
+.TP
+.B \fBOPENGL_FOUND\fP
+True, if the system has OpenGL.
+.TP
+.B \fBOPENGL_XMESA_FOUND\fP
+True, if the system has XMESA.
+.TP
+.B \fBOPENGL_GLU_FOUND\fP
+True, if the system has GLU.
+.TP
+.B \fBOPENGL_INCLUDE_DIR\fP
+Path to the OpenGL include directory.
+.TP
+.B \fBOPENGL_LIBRARIES\fP
+Paths to the OpenGL and GLU libraries.
+.UNINDENT
+.sp
+If you want to use just GL you can use these values:
+.INDENT 0.0
+.TP
+.B \fBOPENGL_gl_LIBRARY\fP
+Path to the OpenGL library.
+.TP
+.B \fBOPENGL_glu_LIBRARY\fP
+Path to the GLU library.
+.UNINDENT
+.SS OSX Specific
+.sp
+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.
+.SS FindOpenMP
+.sp
+Finds OpenMP support
+.sp
+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.
+.sp
+The following variables are set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Supported compilers can be found at
+\fI\%http://openmp.org/wp/openmp\-compilers/\fP
+.SS FindOpenSceneGraph
+.sp
+Find OpenSceneGraph
+.sp
+This module searches for the OpenSceneGraph core "osg" library as well
+as OpenThreads, and whatever additional COMPONENTS (nodekits) that you
+specify.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+See http://www.openscenegraph.org
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+
+.sp
+.ce
+----
+
+.ce 0
+.sp
+.sp
+This module accepts the following variables (note mixed case)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OpenSceneGraph_DEBUG \- Enable debugging output
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OpenSceneGraph_MARK_AS_ADVANCED \- Mark cache variables as advanced
+                                  automatically
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following environment variables are also respected for finding the
+OSG and it\(aqs various components.  CMAKE_PREFIX_PATH can also be used
+for this (see find_library() CMake documentation).
+.INDENT 0.0
+.TP
+.B \fB<MODULE>_DIR\fP
+(where MODULE is of the form "OSGVOLUME" and there is a FindosgVolume.cmake file)
+.TP
+.B \fBOSG_DIR\fP
+.TP
+.B \fBOSGDIR\fP
+.TP
+.B \fBOSG_ROOT\fP
+.UNINDENT
+.sp
+[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.
+.sp
+This module defines the following output variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OPENSCENEGRAPH_FOUND \- Was the OSG and all of the specified components found?
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OPENSCENEGRAPH_VERSION \- The version of the OSG which was found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OPENSCENEGRAPH_INCLUDE_DIRS \- Where to find the headers
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OPENSCENEGRAPH_LIBRARIES \- The OSG libraries
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+================================== Example Usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(OpenSceneGraph 2.0.0 REQUIRED osgDB osgUtil)
+    # libOpenThreads & libosg automatically searched
+include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(foo foo.cc)
+target_link_libraries(foo ${OPENSCENEGRAPH_LIBRARIES})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindOpenSSL
+.sp
+Try to find the OpenSSL encryption library
+.sp
+Once done this will define
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+OPENSSL_ROOT_DIR \- Set this variable to the root installation of OpenSSL
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Read\-Only variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 (eg. 0.9.8s)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindOpenThreads
+.sp
+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.
+.sp
+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
+.sp
+$OPENTHREADS_DIR is an environment variable that would correspond to
+the ./configure \-\-prefix=$OPENTHREADS_DIR used in building osg.
+.sp
+[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.
+.sp
+Created by Eric Wing.
+.SS FindosgAnimation
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgAnimation This module defines
+.sp
+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)
+.sp
+OSGANIMATION_LIBRARY \- The OSG library OSGANIMATION_LIBRARY_DEBUG \-
+The OSG debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgDB
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgDB This module defines
+.sp
+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)
+.sp
+OSGDB_LIBRARY \- The osgDB library OSGDB_LIBRARY_DEBUG \- The osgDB
+debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS Findosg_functions
+.sp
+This CMake file contains two macros to assist with searching for OSG
+libraries and nodekits.  Please see FindOpenSceneGraph.cmake for full
+documentation.
+.SS FindosgFX
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgFX This module defines
+.sp
+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)
+.sp
+OSGFX_LIBRARY \- The osgFX library OSGFX_LIBRARY_DEBUG \- The osgFX
+debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgGA
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgGA This module defines
+.sp
+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)
+.sp
+OSGGA_LIBRARY \- The osgGA library OSGGA_LIBRARY_DEBUG \- The osgGA
+debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgIntrospection
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgINTROSPECTION This module defines
+.sp
+OSGINTROSPECTION_FOUND \- Was osgIntrospection found?
+OSGINTROSPECTION_INCLUDE_DIR \- Where to find the headers
+OSGINTROSPECTION_LIBRARIES \- The libraries to link for
+osgIntrospection (use this)
+.sp
+OSGINTROSPECTION_LIBRARY \- The osgIntrospection library
+OSGINTROSPECTION_LIBRARY_DEBUG \- The osgIntrospection debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgManipulator
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgManipulator This module defines
+.sp
+OSGMANIPULATOR_FOUND \- Was osgManipulator found?
+OSGMANIPULATOR_INCLUDE_DIR \- Where to find the headers
+OSGMANIPULATOR_LIBRARIES \- The libraries to link for osgManipulator
+(use this)
+.sp
+OSGMANIPULATOR_LIBRARY \- The osgManipulator library
+OSGMANIPULATOR_LIBRARY_DEBUG \- The osgManipulator debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgParticle
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgParticle This module defines
+.sp
+OSGPARTICLE_FOUND \- Was osgParticle found? OSGPARTICLE_INCLUDE_DIR \-
+Where to find the headers OSGPARTICLE_LIBRARIES \- The libraries to
+link for osgParticle (use this)
+.sp
+OSGPARTICLE_LIBRARY \- The osgParticle library
+OSGPARTICLE_LIBRARY_DEBUG \- The osgParticle debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgPresentation
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgPresentation This module defines
+.sp
+OSGPRESENTATION_FOUND \- Was osgPresentation found?
+OSGPRESENTATION_INCLUDE_DIR \- Where to find the headers
+OSGPRESENTATION_LIBRARIES \- The libraries to link for osgPresentation
+(use this)
+.sp
+OSGPRESENTATION_LIBRARY \- The osgPresentation library
+OSGPRESENTATION_LIBRARY_DEBUG \- The osgPresentation debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.  Modified to work with osgPresentation by Robert
+Osfield, January 2012.
+.SS FindosgProducer
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgProducer This module defines
+.sp
+OSGPRODUCER_FOUND \- Was osgProducer found? OSGPRODUCER_INCLUDE_DIR \-
+Where to find the headers OSGPRODUCER_LIBRARIES \- The libraries to
+link for osgProducer (use this)
+.sp
+OSGPRODUCER_LIBRARY \- The osgProducer library
+OSGPRODUCER_LIBRARY_DEBUG \- The osgProducer debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgQt
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgQt This module defines
+.sp
+OSGQT_FOUND \- Was osgQt found? OSGQT_INCLUDE_DIR \- Where to find the
+headers OSGQT_LIBRARIES \- The libraries to link for osgQt (use this)
+.sp
+OSGQT_LIBRARY \- The osgQt library OSGQT_LIBRARY_DEBUG \- The osgQt
+debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.  Modified to work with osgQt by Robert Osfield,
+January 2012.
+.SS Findosg
+.sp
+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.
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osg This module defines
+.sp
+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)
+.sp
+OSG_LIBRARY \- The OSG library OSG_LIBRARY_DEBUG \- The OSG debug
+library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgShadow
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgShadow This module defines
+.sp
+OSGSHADOW_FOUND \- Was osgShadow found? OSGSHADOW_INCLUDE_DIR \- Where
+to find the headers OSGSHADOW_LIBRARIES \- The libraries to link for
+osgShadow (use this)
+.sp
+OSGSHADOW_LIBRARY \- The osgShadow library OSGSHADOW_LIBRARY_DEBUG \-
+The osgShadow debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgSim
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgSim This module defines
+.sp
+OSGSIM_FOUND \- Was osgSim found? OSGSIM_INCLUDE_DIR \- Where to find
+the headers OSGSIM_LIBRARIES \- The libraries to link for osgSim (use
+this)
+.sp
+OSGSIM_LIBRARY \- The osgSim library OSGSIM_LIBRARY_DEBUG \- The osgSim
+debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgTerrain
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgTerrain This module defines
+.sp
+OSGTERRAIN_FOUND \- Was osgTerrain found? OSGTERRAIN_INCLUDE_DIR \-
+Where to find the headers OSGTERRAIN_LIBRARIES \- The libraries to link
+for osgTerrain (use this)
+.sp
+OSGTERRAIN_LIBRARY \- The osgTerrain library OSGTERRAIN_LIBRARY_DEBUG \-
+The osgTerrain debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgText
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgText This module defines
+.sp
+OSGTEXT_FOUND \- Was osgText found? OSGTEXT_INCLUDE_DIR \- Where to find
+the headers OSGTEXT_LIBRARIES \- The libraries to link for osgText (use
+this)
+.sp
+OSGTEXT_LIBRARY \- The osgText library OSGTEXT_LIBRARY_DEBUG \- The
+osgText debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgUtil
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgUtil This module defines
+.sp
+OSGUTIL_FOUND \- Was osgUtil found? OSGUTIL_INCLUDE_DIR \- Where to find
+the headers OSGUTIL_LIBRARIES \- The libraries to link for osgUtil (use
+this)
+.sp
+OSGUTIL_LIBRARY \- The osgUtil library OSGUTIL_LIBRARY_DEBUG \- The
+osgUtil debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgViewer
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgViewer This module defines
+.sp
+OSGVIEWER_FOUND \- Was osgViewer found? OSGVIEWER_INCLUDE_DIR \- Where
+to find the headers OSGVIEWER_LIBRARIES \- The libraries to link for
+osgViewer (use this)
+.sp
+OSGVIEWER_LIBRARY \- The osgViewer library OSGVIEWER_LIBRARY_DEBUG \-
+The osgViewer debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgVolume
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgVolume This module defines
+.sp
+OSGVOLUME_FOUND \- Was osgVolume found? OSGVOLUME_INCLUDE_DIR \- Where
+to find the headers OSGVOLUME_LIBRARIES \- The libraries to link for
+osgVolume (use this)
+.sp
+OSGVOLUME_LIBRARY \- The osgVolume library OSGVOLUME_LIBRARY_DEBUG \-
+The osgVolume debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindosgWidget
+.sp
+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\(aqt 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\(aqt
+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.
+.sp
+Locate osgWidget This module defines
+.sp
+OSGWIDGET_FOUND \- Was osgWidget found? OSGWIDGET_INCLUDE_DIR \- Where
+to find the headers OSGWIDGET_LIBRARIES \- The libraries to link for
+osgWidget (use this)
+.sp
+OSGWIDGET_LIBRARY \- The osgWidget library OSGWIDGET_LIBRARY_DEBUG \-
+The osgWidget debug library
+.sp
+$OSGDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$OSGDIR used in building osg.
+.sp
+FindosgWidget.cmake tweaked from Findosg* suite as created by Eric
+Wing.
+.SS FindPackageHandleStandardArgs
+.sp
+This module provides a function intended to be used in Find Modules
+implementing \fBfind_package(<PackageName>)\fP calls.  It handles the
+\fBREQUIRED\fP, \fBQUIET\fP and version\-related arguments of \fBfind_package\fP\&.
+It also sets the \fB<PackageName>_FOUND\fP variable.  The package is
+considered found if all variables listed contain valid results, e.g.
+valid filepaths.
+.INDENT 0.0
+.TP
+.B find_package_handle_standard_args
+There are two signatures:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fB<PackageName>_FOUND\fP variable will be set to \fBTRUE\fP if all
+the variables \fB<required\-var>...\fP are valid and any optional
+constraints are satisfied, and \fBFALSE\fP otherwise.  A success or
+failure message may be displayed based on the results and on
+whether the \fBREQUIRED\fP and/or \fBQUIET\fP option was given to
+the \fBfind_package()\fP call.
+.sp
+The options are:
+.INDENT 7.0
+.TP
+.B \fB(DEFAULT_MSG|<custom\-failure\-message>)\fP
+In the simple signature this specifies the failure message.
+Use \fBDEFAULT_MSG\fP to ask for a default message to be computed
+(recommended).  Not valid in the full signature.
+.TP
+.B \fBFOUND_VAR <result\-var>\fP
+Obselete.  Specifies either \fB<PackageName>_FOUND\fP or
+\fB<PACKAGENAME>_FOUND\fP 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.
+.TP
+.B \fBREQUIRED_VARS <required\-var>...\fP
+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 \fBFOO_LIBRARY\fP and not output
+variables like \fBFOO_LIBRARIES\fP\&.
+.TP
+.B \fBVERSION_VAR <version\-var>\fP
+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
+\fBfind_package()\fP call, including its \fBEXACT\fP 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.
+.TP
+.B \fBHANDLE_COMPONENTS\fP
+Enable handling of package components.  In this case, the command
+will report which components have been found and which are missing,
+and the \fB<PackageName>_FOUND\fP variable will be set to \fBFALSE\fP
+if any of the required components (i.e. not the ones listed after
+the \fBOPTIONAL_COMPONENTS\fP option of \fBfind_package()\fP) are
+missing.
+.TP
+.B \fBCONFIG_MODE\fP
+Specify that the calling find module is a wrapper around a
+call to \fBfind_package(<PackageName> NO_MODULE)\fP\&.  This implies
+a \fBVERSION_VAR\fP value of \fB<PackageName>_VERSION\fP\&.  The command
+will automatically check whether the package configuration file
+was found.
+.TP
+.B \fBFAIL_MESSAGE <custom\-failure\-message>\fP
+Specify a custom failure message instead of using the default
+generated message.  Not recommended.
+.UNINDENT
+.UNINDENT
+.sp
+Example for the simple signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package_handle_standard_args(LibXml2 DEFAULT_MSG
+  LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBLibXml2\fP package is considered to be found if both
+\fBLIBXML2_LIBRARY\fP and \fBLIBXML2_INCLUDE_DIR\fP are valid.
+Then also \fBLibXml2_FOUND\fP is set to \fBTRUE\fP\&.  If it is not found
+and \fBREQUIRED\fP was used, it fails with a
+\fBmessage(FATAL_ERROR)\fP, independent whether \fBQUIET\fP was
+used or not.  If it is found, success will be reported, including
+the content of the first \fB<required\-var>\fP\&.  On repeated CMake runs,
+the same message will not be printed again.
+.sp
+Example for the full signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package_handle_standard_args(LibArchive
+  REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
+  VERSION_VAR LibArchive_VERSION)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In this case, the \fBLibArchive\fP package is considered to be found if
+both \fBLibArchive_LIBRARY\fP and \fBLibArchive_INCLUDE_DIR\fP are valid.
+Also the version of \fBLibArchive\fP will be checked by using the version
+contained in \fBLibArchive_VERSION\fP\&.  Since no \fBFAIL_MESSAGE\fP is given,
+the default messages will be printed.
+.sp
+Another example for the full signature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+find_package_handle_standard_args(Automoc4  CONFIG_MODE)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In this case, a \fBFindAutmoc4.cmake\fP module wraps a call to
+\fBfind_package(Automoc4 NO_MODULE)\fP and adds an additional search
+directory for \fBautomoc4\fP\&.  Then the call to
+\fBfind_package_handle_standard_args\fP produces a proper success/failure
+message.
+.SS FindPackageMessage
+.sp
+FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
+.sp
+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.
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(X11_FOUND)
+  FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
+    "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
+else()
+ ...
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindPerlLibs
+.sp
+Find Perl libraries
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of Perl can be specified using the
+standard syntax, e.g.  find_package(PerlLibs 6.0)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+The following variables are also available if needed
+(introduced after CMake 2.6.4)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindPerl
+.sp
+Find perl
+.sp
+this module looks for Perl
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PERL_EXECUTABLE     \- the full path to perl
+PERL_FOUND          \- If false, don\(aqt attempt to use perl.
+PERL_VERSION_STRING \- version of perl found (since CMake 2.8.8)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindPHP4
+.sp
+Find PHP4
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PHP4_INCLUDE_PATH       = path to where php.h can be found
+PHP4_EXECUTABLE         = full path to the php4 binary
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindPhysFS
+.sp
+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
+.sp
+$PHYSFSDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$PHYSFSDIR used in building PHYSFS.
+.sp
+Created by Eric Wing.
+.SS FindPike
+.sp
+Find Pike
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PIKE_INCLUDE_PATH       = path to where program.h is found
+PIKE_EXECUTABLE         = full path to the pike binary
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindPkgConfig
+.sp
+A \fIpkg\-config\fP module for CMake.
+.sp
+Finds the \fBpkg\-config\fP executable and add the
+\fI\%pkg_check_modules()\fP and \fI\%pkg_search_module()\fP
+commands.
+.sp
+In order to find the \fBpkg\-config\fP executable, it uses the
+\fI\%PKG_CONFIG_EXECUTABLE\fP variable or the \fBPKG_CONFIG\fP
+environment variable first.
+.INDENT 0.0
+.TP
+.B pkg_check_modules
+Checks for all the given modules.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_check_modules(<PREFIX> [REQUIRED] [QUIET]
+                  [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
+                  <MODULE> [<MODULE>]*)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+When the \fBREQUIRED\fP argument was set, macros will fail with an error
+when module(s) could not be found.
+.sp
+When the \fBQUIET\fP argument is set, no status messages will be printed.
+.sp
+By default, if \fBCMAKE_MINIMUM_REQUIRED_VERSION\fP is 3.1 or
+later, or if \fI\%PKG_CONFIG_USE_CMAKE_PREFIX_PATH\fP is set, the
+\fBCMAKE_PREFIX_PATH\fP, \fBCMAKE_FRAMEWORK_PATH\fP, and
+\fBCMAKE_APPBUNDLE_PATH\fP cache and environment variables will
+be added to \fBpkg\-config\fP search path.
+The \fBNO_CMAKE_PATH\fP and \fBNO_CMAKE_ENVIRONMENT_PATH\fP arguments
+disable this behavior for the cache variables and the environment
+variables, respectively.
+.sp
+It sets the following variables:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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 \fBpkg\-config\fP was called with the \fB\-\-static\fP
+option.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<XPREFIX>_FOUND          ... set to 1 if module(s) exist
+<XPREFIX>_LIBRARIES      ... only the libraries (w/o the \(aq\-l\(aq)
+<XPREFIX>_LIBRARY_DIRS   ... the paths of the libraries (w/o the \(aq\-L\(aq)
+<XPREFIX>_LDFLAGS        ... all required linker flags
+<XPREFIX>_LDFLAGS_OTHER  ... all other linker flags
+<XPREFIX>_INCLUDE_DIRS   ... the \(aq\-I\(aq preprocessor flags (w/o the \(aq\-I\(aq)
+<XPREFIX>_CFLAGS         ... all required cflags
+<XPREFIX>_CFLAGS_OTHER   ... the other compiler flags
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<XPREFIX> = <PREFIX>        for common case
+<XPREFIX> = <PREFIX>_STATIC for static linking
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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>:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<XPREFIX> = <PREFIX>  when |MODULES| == 1, else
+<XPREFIX> = <PREFIX>_<MODNAME>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+A <MODULE> parameter can have the following formats:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+{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>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Examples
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_check_modules (GLIB2   glib\-2.0)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_check_modules (GLIB2   glib\-2.0>=2.10)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Requires at least version 2.10 of glib2 and defines e.g.
+\fBGLIB2_VERSION=2.10.3\fP
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_check_modules (FOO     glib\-2.0>=2.10 gtk+\-2.0)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Requires both glib2 and gtk2, and defines e.g.
+\fBFOO_glib\-2.0_VERSION=2.10.3\fP and \fBFOO_gtk+\-2.0_VERSION=2.8.20\fP
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_check_modules (XRENDER REQUIRED xrender)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Defines for example:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+XRENDER_LIBRARIES=Xrender;X11\(ga\(ga
+XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B pkg_search_module
+Same as \fI\%pkg_check_modules()\fP, but instead it checks for given
+modules and uses the first working one.
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_search_module(<PREFIX> [REQUIRED] [QUIET]
+                  [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH]
+                  <MODULE> [<MODULE>]*)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Examples
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+pkg_search_module (BAR     libxml\-2.0 libxml2 libxml>=2)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B PKG_CONFIG_EXECUTABLE
+Path to the pkg\-config executable.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B PKG_CONFIG_USE_CMAKE_PREFIX_PATH
+Whether \fI\%pkg_check_modules()\fP and \fI\%pkg_search_module()\fP
+should add the paths in \fBCMAKE_PREFIX_PATH\fP,
+\fBCMAKE_FRAMEWORK_PATH\fP, and \fBCMAKE_APPBUNDLE_PATH\fP
+cache and environment variables to \fBpkg\-config\fP search path.
+.sp
+If this variable is not set, this behavior is enabled by default if
+\fBCMAKE_MINIMUM_REQUIRED_VERSION\fP is 3.1 or later, disabled
+otherwise.
+.UNINDENT
+.SS FindPNG
+.sp
+Find the native PNG includes and library
+.sp
+This module searches libpng, the library for working with PNG images.
+.sp
+It defines the following variables
+.INDENT 0.0
+.TP
+.B \fBPNG_INCLUDE_DIRS\fP
+where to find png.h, etc.
+.TP
+.B \fBPNG_LIBRARIES\fP
+the libraries to link against to use PNG.
+.TP
+.B \fBPNG_DEFINITIONS\fP
+You should add_definitons(${PNG_DEFINITIONS}) before compiling code
+that includes png library files.
+.TP
+.B \fBPNG_FOUND\fP
+If false, do not try to use PNG.
+.TP
+.B \fBPNG_VERSION_STRING\fP
+the version of the PNG library found (since CMake 2.8.8)
+.UNINDENT
+.sp
+Also defined, but not for general use are
+.INDENT 0.0
+.TP
+.B \fBPNG_LIBRARY\fP
+where to find the PNG library.
+.UNINDENT
+.sp
+For backward compatiblity the variable PNG_INCLUDE_DIR is also set.
+It has the same value as PNG_INCLUDE_DIRS.
+.sp
+Since PNG depends on the ZLib compression library, none of the above
+will be defined unless ZLib can be found.
+.SS FindPostgreSQL
+.sp
+Find the PostgreSQL installation.
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindProducer
+.sp
+Though Producer isn\(aqt directly part of OpenSceneGraph, its primary
+user is OSG so I consider this part of the Findosg* suite used to find
+OpenSceneGraph components.  You\(aqll notice that I accept OSGDIR as an
+environment path.
+.sp
+Each component is separate and you must opt in to each module.  You
+must also opt into OpenGL (and OpenThreads?) as these modules won\(aqt 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\(aqt 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.
+.sp
+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
+.sp
+$PRODUCER_DIR is an environment variable that would correspond to the
+./configure \-\-prefix=$PRODUCER_DIR used in building osg.
+.sp
+Created by Eric Wing.
+.SS FindProtobuf
+.sp
+Locate and configure the Google Protocol Buffers library.
+.sp
+The following variables can be set and are optional:
+.INDENT 0.0
+.TP
+.B \fBPROTOBUF_SRC_ROOT_FOLDER\fP
+When compiling with MSVC, if this cache variable is set
+the protobuf\-default VS project build locations
+(vsprojects/Debug & vsprojects/Release) will be searched
+for libraries and binaries.
+.TP
+.B \fBPROTOBUF_IMPORT_DIRS\fP
+List of additional directories to be searched for
+imported .proto files.
+.UNINDENT
+.sp
+Defines the following variables:
+.INDENT 0.0
+.TP
+.B \fBPROTOBUF_FOUND\fP
+Found the Google Protocol Buffers library
+(libprotobuf & header files)
+.TP
+.B \fBPROTOBUF_INCLUDE_DIRS\fP
+Include directories for Google Protocol Buffers
+.TP
+.B \fBPROTOBUF_LIBRARIES\fP
+The protobuf libraries
+.TP
+.B \fBPROTOBUF_PROTOC_LIBRARIES\fP
+The protoc libraries
+.TP
+.B \fBPROTOBUF_LITE_LIBRARIES\fP
+The protobuf\-lite libraries
+.UNINDENT
+.sp
+The following cache variables are also available to set or use:
+.INDENT 0.0
+.TP
+.B \fBPROTOBUF_LIBRARY\fP
+The protobuf library
+.TP
+.B \fBPROTOBUF_PROTOC_LIBRARY\fP
+The protoc library
+.TP
+.B \fBPROTOBUF_INCLUDE_DIR\fP
+The include directory for protocol buffers
+.TP
+.B \fBPROTOBUF_PROTOC_EXECUTABLE\fP
+The protoc compiler
+.TP
+.B \fBPROTOBUF_LIBRARY_DEBUG\fP
+The protobuf library (debug)
+.TP
+.B \fBPROTOBUF_PROTOC_LIBRARY_DEBUG\fP
+The protoc library (debug)
+.TP
+.B \fBPROTOBUF_LITE_LIBRARY\fP
+The protobuf lite library
+.TP
+.B \fBPROTOBUF_LITE_LIBRARY_DEBUG\fP
+The protobuf lite library (debug)
+.UNINDENT
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Protobuf REQUIRED)
+include_directories(${PROTOBUF_INCLUDE_DIRS})
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto)
+add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS})
+target_link_libraries(bar ${PROTOBUF_LIBRARIES})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The PROTOBUF_GENERATE_CPP macro and add_executable() or
+add_library() calls only work properly within the same
+directory.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B protobuf_generate_cpp
+Add custom commands to process \fB\&.proto\fP files:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+protobuf_generate_cpp (<SRCS> <HDRS> [<ARGN>...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.TP
+.B \fBSRCS\fP
+Variable to define with autogenerated source files
+.TP
+.B \fBHDRS\fP
+Variable to define with autogenerated header files
+.TP
+.B \fBARGN\fP
+\fB\&.proto\fP files
+.UNINDENT
+.UNINDENT
+.SS FindPythonInterp
+.sp
+Find python interpreter
+.sp
+This module finds if Python interpreter is installed and determines
+where the executables are.  This code sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PYTHONINTERP_FOUND         \- Was the Python executable found
+PYTHON_EXECUTABLE          \- path to the Python interpreter
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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).
+.sp
+If also calling find_package(PythonLibs), call find_package(PythonInterp)
+first to get the currently active Python version by default with a consistent
+version of PYTHON_LIBRARIES.
+.SS FindPythonLibs
+.sp
+Find python libraries
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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).
+.sp
+If you\(aqd like to specify the installation of Python to use, you should
+modify the following cache variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+PYTHON_LIBRARY             \- path to the python library
+PYTHON_INCLUDE_DIR         \- path to where Python.h is found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If also calling find_package(PythonInterp), call find_package(PythonInterp)
+first to get the currently active Python version by default with a consistent
+version of PYTHON_LIBRARIES.
+.SS FindQt3
+.sp
+Locate Qt include paths and libraries
+.sp
+This module defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt try to use Qt.
+QT_VERSION_STRING \- the version of Qt found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If you need the multithreaded version of Qt, set QT_MT_REQUIRED to
+TRUE
+.sp
+Also defined, but not for general use are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindQt4
+.SS Finding and Using Qt4
+.sp
+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 \fBIMPORTED\fP targets, macros and variables.
+.sp
+Typical usage could be something like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+When using \fBIMPORTED\fP targets, the qtmain.lib static library is
+automatically linked on Windows for \fBWIN32\fP
+executables. To disable that globally, set the
+\fBQT4_NO_LINK_QTMAIN\fP variable before finding Qt4. To disable that
+for a particular executable, set the \fBQT4_NO_LINK_QTMAIN\fP target
+property to \fBTRUE\fP on the executable.
+.UNINDENT
+.UNINDENT
+.SS Qt Build Tools
+.sp
+Qt relies on some bundled tools for code generation, such as \fBmoc\fP for
+meta\-object code generation,\(ga\(gauic\(ga\(ga for widget layout and population,
+and \fBrcc\fP for virtual filesystem content generation.  These tools may be
+automatically invoked by \fBcmake(1)\fP if the appropriate conditions
+are met.  See \fBcmake\-qt(7)\fP for more.
+.SS Qt Macros
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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".
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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\(aqt
+      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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS IMPORTED Targets
+.sp
+A particular Qt library may be used by using the corresponding
+\fBIMPORTED\fP target with the \fBtarget_link_libraries()\fP
+command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myexe Qt4::QtGui Qt4::QtXml)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Using a target in this way causes :cmake(1)\(ga to use the appropriate include
+directories and compile definitions for the target when compiling \fBmyexe\fP\&.
+.sp
+Targets are aware of their dependencies, so for example it is not necessary
+to list \fBQt4::QtCore\fP if another Qt library is listed, and it is not
+necessary to list \fBQt4::QtGui\fP if \fBQt4::QtDeclarative\fP is listed.
+Targets may be tested for existence in the usual way with the
+\fBif(TARGET)\fP command.
+.sp
+The Qt toolkit may contain both debug and release libraries.
+\fBcmake(1)\fP will choose the appropriate version based on the build
+configuration.
+.INDENT 0.0
+.TP
+.B \fBQt4::QtCore\fP
+The QtCore target
+.TP
+.B \fBQt4::QtGui\fP
+The QtGui target
+.TP
+.B \fBQt4::Qt3Support\fP
+The Qt3Support target
+.TP
+.B \fBQt4::QtAssistant\fP
+The QtAssistant target
+.TP
+.B \fBQt4::QtAssistantClient\fP
+The QtAssistantClient target
+.TP
+.B \fBQt4::QAxContainer\fP
+The QAxContainer target (Windows only)
+.TP
+.B \fBQt4::QAxServer\fP
+The QAxServer target (Windows only)
+.TP
+.B \fBQt4::QtDBus\fP
+The QtDBus target
+.TP
+.B \fBQt4::QtDesigner\fP
+The QtDesigner target
+.TP
+.B \fBQt4::QtDesignerComponents\fP
+The QtDesignerComponents target
+.TP
+.B \fBQt4::QtHelp\fP
+The QtHelp target
+.TP
+.B \fBQt4::QtMotif\fP
+The QtMotif target
+.TP
+.B \fBQt4::QtMultimedia\fP
+The QtMultimedia target
+.TP
+.B \fBQt4::QtNetwork\fP
+The QtNetwork target
+.TP
+.B \fBQt4::QtNsPLugin\fP
+The QtNsPLugin target
+.TP
+.B \fBQt4::QtOpenGL\fP
+The QtOpenGL target
+.TP
+.B \fBQt4::QtScript\fP
+The QtScript target
+.TP
+.B \fBQt4::QtScriptTools\fP
+The QtScriptTools target
+.TP
+.B \fBQt4::QtSql\fP
+The QtSql target
+.TP
+.B \fBQt4::QtSvg\fP
+The QtSvg target
+.TP
+.B \fBQt4::QtTest\fP
+The QtTest target
+.TP
+.B \fBQt4::QtUiTools\fP
+The QtUiTools target
+.TP
+.B \fBQt4::QtWebKit\fP
+The QtWebKit target
+.TP
+.B \fBQt4::QtXml\fP
+The QtXml target
+.TP
+.B \fBQt4::QtXmlPatterns\fP
+The QtXmlPatterns target
+.TP
+.B \fBQt4::phonon\fP
+The phonon target
+.UNINDENT
+.SS Result Variables
+.INDENT 0.0
+.INDENT 3.5
+Below is a detailed list of variables that FindQt4.cmake sets.
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fBQt4_FOUND\fP
+If false, don\(aqt try to use Qt 4.
+.TP
+.B \fBQT_FOUND\fP
+If false, don\(aqt try to use Qt. This variable is for compatibility only.
+.TP
+.B \fBQT4_FOUND\fP
+If false, don\(aqt try to use Qt 4. This variable is for compatibility only.
+.TP
+.B \fBQT_VERSION_MAJOR\fP
+The major version of Qt found.
+.TP
+.B \fBQT_VERSION_MINOR\fP
+The minor version of Qt found.
+.TP
+.B \fBQT_VERSION_PATCH\fP
+The patch version of Qt found.
+.UNINDENT
+.SS FindQt
+.sp
+Searches for all installed versions of Qt.
+.sp
+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.
+.sp
+This module can only detect and switch between Qt versions 3 and 4. It
+cannot handle Qt5 or any later versions.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindQuickTime
+.sp
+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
+.sp
+$QUICKTIME_DIR is an environment variable that would correspond to the
+./configure \-\-prefix=$QUICKTIME_DIR
+.sp
+Created by Eric Wing.
+.SS FindRTI
+.sp
+Try to find M&S HLA RTI libraries
+.sp
+This module finds if any HLA RTI is installed and locates the standard
+RTI include files and libraries.
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://en.wikipedia.org/wiki/Run\-Time_Infrastructure_(simulation)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This code sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Report problems to <\fI\%certi\[email protected]\fP>
+.SS FindRuby
+.sp
+Find Ruby
+.sp
+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.
+.sp
+The minimum required version of Ruby can be specified using the
+standard syntax, e.g.  find_package(Ruby 1.8)
+.sp
+It also determines what the name of the library is.  This code sets
+the following variables:
+.INDENT 0.0
+.TP
+.B \fBRUBY_EXECUTABLE\fP
+full path to the ruby binary
+.TP
+.B \fBRUBY_INCLUDE_DIRS\fP
+include dirs to be used when using the ruby library
+.TP
+.B \fBRUBY_LIBRARY\fP
+full path to the ruby library
+.TP
+.B \fBRUBY_VERSION\fP
+the version of ruby which was found, e.g. "1.8.7"
+.TP
+.B \fBRUBY_FOUND\fP
+set to true if ruby ws found successfully
+.UNINDENT
+.sp
+Also:
+.INDENT 0.0
+.TP
+.B \fBRUBY_INCLUDE_PATH\fP
+same as RUBY_INCLUDE_DIRS, only provided for compatibility reasons, don\(aqt use it
+.UNINDENT
+.SS FindSDL_image
+.sp
+Locate SDL_image library
+.sp
+This module defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For backward compatiblity the following variables are also set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+$SDLDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$SDLDIR used in building SDL.
+.sp
+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).
+.SS FindSDL_mixer
+.sp
+Locate SDL_mixer library
+.sp
+This module defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For backward compatiblity the following variables are also set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+$SDLDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$SDLDIR used in building SDL.
+.sp
+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).
+.SS FindSDL_net
+.sp
+Locate SDL_net library
+.sp
+This module defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For backward compatiblity the following variables are also set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+$SDLDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$SDLDIR used in building SDL.
+.sp
+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).
+.SS FindSDL
+.sp
+Locate SDL library
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This module responds to the flag:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Don\(aqt 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.
+.sp
+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.
+.sp
+$SDLDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$SDLDIR used in building SDL.  l.e.galup 9\-20\-02
+.sp
+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.
+.sp
+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.
+.sp
+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).
+.SS FindSDL_sound
+.sp
+Locates the SDL_sound library
+.sp
+This module depends on SDL being found and must be called AFTER
+FindSDL.cmake is called.
+.sp
+This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This module also defines (but you shouldn\(aqt need to use directly)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+And might define the following as needed
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MIKMOD_LIBRARY
+MODPLUG_LIBRARY
+OGG_LIBRARY
+VORBIS_LIBRARY
+SMPEG_LIBRARY
+FLAC_LIBRARY
+SPEEX_LIBRARY
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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\(aqt 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.
+.sp
+Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that
+would correspond to the ./configure \-\-prefix=$SDLDIR used in building
+SDL.
+.sp
+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.
+.SS FindSDL_ttf
+.sp
+Locate SDL_ttf library
+.sp
+This module defines:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For backward compatiblity the following variables are also set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+$SDLDIR is an environment variable that would correspond to the
+./configure \-\-prefix=$SDLDIR used in building SDL.
+.sp
+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).
+.SS FindSelfPackers
+.sp
+Find upx
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+UPX: http://wildsau.idv.uni\-linz.ac.at/mfx/upx.html
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindSquish
+.sp
+\-\- Typical Use
+.sp
+This module can be used to find Squish.  Currently Squish versions 3
+and 4 are supported.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SQUISH_FOUND                    If false, don\(aqt 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+SQUISH_INSTALL_DIR              The Squish installation directory
+                                (containing bin, lib, etc)
+SQUISH_SERVER_EXECUTABLE        The squishserver executable
+SQUISH_CLIENT_EXECUTABLE        The squishrunner executable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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?
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It provides the function squish_v4_add_test() for adding a squish test
+to cmake using Squish 4.x:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+squish_v4_add_test(cmakeTestName
+  AUT targetName SUITE suiteName TEST squishTestName
+  [SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The arguments have the following meaning:
+.INDENT 0.0
+.TP
+.B \fBcmakeTestName\fP
+this will be used as the first argument for add_test()
+.TP
+.B \fBAUT targetName\fP
+the name of the cmake target which will be used as AUT, i.e. the
+executable which will be tested.
+.TP
+.B \fBSUITE suiteName\fP
+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.
+.TP
+.B \fBTEST squishTestName\fP
+the name of the squish test, i.e. the name of the subdirectory
+of the test inside the suite directory.
+.TP
+.B \fBSETTINGSGROUP group\fP
+if specified, the given settings group will be used for executing the test.
+If not specified, the groupname will be "CTest_<username>"
+.TP
+.B \fBPRE_COMMAND command\fP
+if specified, the given command will be executed before starting the squish test.
+.TP
+.B \fBPOST_COMMAND command\fP
+same as PRE_COMMAND, but after the squish test has been executed.
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 ()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For users of Squish version 3.x the macro squish_v3_add_test() is
+provided:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+squish_v3_add_test(testName applicationUnderTest testCase envVars testWrapper)
+Use this macro to add a test using Squish 3.x.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+enable_testing()
+find_package(Squish)
+if (SQUISH_FOUND)
+  squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
+endif ()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+macro SQUISH_ADD_TEST(testName applicationUnderTest testCase envVars
+testWrapper)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+This is deprecated. Use SQUISH_V3_ADD_TEST() if you are using Squish 3.x instead.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindSubversion
+.sp
+Extract information from a subversion working copy
+.sp
+The module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 compatiblity reasons
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of Subversion can be specified using the
+standard syntax, e.g.  find_package(Subversion 1.4)
+.sp
+If the command line client executable is found two macros are defined:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Subversion_WC_INFO(<dir> <var\-prefix>)
+Subversion_WC_LOG(<dir> <var\-prefix>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Subversion_WC_INFO extracts information of a subversion working copy
+at a given location.  This macro defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<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 \(gasvn info <dir>\(aq
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<var\-prefix>_LAST_CHANGED_LOG \- last log of base revision
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindSWIG
+.sp
+Find SWIG
+.sp
+This module finds an installed SWIG.  It sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The minimum required version of SWIG can be specified using the
+standard syntax, e.g.  find_package(SWIG 1.1)
+.sp
+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
+.SS FindTCL
+.sp
+TK_INTERNAL_PATH was removed.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+=> 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\(aqs 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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindTclsh
+.sp
+Find tclsh
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TCLSH_FOUND = TRUE if tclsh has been found
+TCL_TCLSH = the path to the tclsh executable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In cygwin, look for the cygwin version first.  Don\(aqt look for it later
+to avoid finding the cygwin version on a Win32 build.
+.SS FindTclStub
+.sp
+TCL_STUB_LIBRARY_DEBUG and TK_STUB_LIBRARY_DEBUG were removed.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://tcl.activestate.com/doc/howto/stubs.html
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Using Stub Libraries:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://safari.oreilly.com/0130385603/ch48lev1sec3
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This code sets the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TCL_STUB_LIBRARY       = path to Tcl stub library
+TK_STUB_LIBRARY        = path to Tk stub library
+TTK_STUB_LIBRARY       = path to ttk stub library
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+=> 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\(aqs leave that choice to the user by allowing him to assign
+   TCL_STUB_LIBRARY to any Tcl library, debug or not.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindThreads
+.sp
+This module determines the thread library of the system.
+.sp
+The following variables are set
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following import target is created
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Threads::Threads
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For systems with multiple thread libraries, caller can set
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_THREAD_PREFER_PTHREAD
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the use of the \-pthread compiler and linker flag is prefered then the
+caller can set
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+THREADS_PREFER_PTHREAD_FLAG
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SS FindTIFF
+.sp
+Find TIFF library
+.sp
+Find the native TIFF includes and library This module defines
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TIFF_INCLUDE_DIR, where to find tiff.h, etc.
+TIFF_LIBRARIES, libraries to link against to use TIFF.
+TIFF_FOUND, If false, do not try to use TIFF.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+also defined, but not for general use are
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TIFF_LIBRARY, where to find the TIFF library.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindUnixCommands
+.sp
+Find Unix commands, including the ones from Cygwin
+.sp
+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.
+.SS FindVTK
+.sp
+This module no longer exists.
+.sp
+This module existed in versions of CMake prior to 3.1, but became
+only a thin wrapper around \fBfind_package(VTK NO_MODULE)\fP to
+provide compatibility for projects using long\-outdated conventions.
+Now \fBfind_package(VTK)\fP will search for \fBVTKConfig.cmake\fP
+directly.
+.SS FindWget
+.sp
+Find wget
+.sp
+This module looks for wget.  This module defines the following values:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+WGET_EXECUTABLE: the full path to the wget tool.
+WGET_FOUND: True if wget has been found.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindWish
+.sp
+Find wish installation
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TK_WISH = the path to the wish executable
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+if UNIX is defined, then it will look for the cygwin version first
+.SS FindwxWidgets
+.sp
+Find a wxWidgets (a.k.a., wxWindows) installation.
+.sp
+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:
+.sp
+find_package(wxWidgets COMPONENTS core base ...)
+.sp
+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):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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).
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+wxWidgets_USE_DEBUG
+wxWidgets_USE_UNICODE
+wxWidgets_USE_UNIVERSAL
+wxWidgets_USE_STATIC
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(wxWidgets_CONFIG_OPTIONS \-\-toolkit=base \-\-prefix=/usr)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following are set after the configuration is done for both windows
+and unix style:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+                             "\(gawx\-config \-\-cxxflags\(ga".
+wxWidgets_USE_FILE         \- Convenience include file.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Sample usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# 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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If wxWidgets is required (i.e., not an optional part):
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindwxWindows
+.sp
+Find wxWindows (wxWidgets) installation
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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 "\(gawx\-config \-\-cxxflags\(ga"
+                             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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+OPTIONS If you need OpenGL support please
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(WXWINDOWS_USE_GL 1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+in your CMakeLists.txt \fIbefore\fP you include this file.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+HAVE_ISYSTEM      \- true required to replace \-I by \-isystem on g++
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For convenience include Use_wxWindows.cmake in your project\(aqs
+CMakeLists.txt using
+include(${CMAKE_CURRENT_LIST_DIR}/Use_wxWindows.cmake).
+.sp
+USAGE
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(WXWINDOWS_USE_GL 1)
+find_package(wxWindows)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+NOTES wxWidgets 2.6.x is supported for monolithic builds e.g.
+compiled in wx/build/msw dir as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+nmake \-f makefile.vc BUILD=debug SHARED=0 USE_OPENGL=1 MONOLITHIC=1
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+DEPRECATED
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_WX_CAN_COMPILE
+WXWINDOWS_LIBRARY
+CMAKE_WX_CXX_FLAGS
+WXWINDOWS_INCLUDE_PATH
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+AUTHOR Jan Woetzel <\fI\%http://www.mip.informatik.uni\-kiel.de/~jw\fP>
+(07/2003\-01/2006)
+.SS FindXCTest
+.sp
+Functions to help creating and executing XCTest bundles.
+.sp
+An XCTest bundle is a CFBundle with a special product\-type
+and bundle extension. The Mac Developer Library provides more
+information in the \fI\%Testing with Xcode\fP document.
+.SS Module Functions
+.INDENT 0.0
+.TP
+.B xctest_add_bundle
+The \fBxctest_add_bundle\fP function creates a XCTest bundle named
+<target> which will test the target <testee>. Supported target types
+for testee are Frameworks and App Bundles:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+xctest_add_bundle(
+  <target>  # Name of the XCTest bundle
+  <testee>  # Target name of the testee
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B xctest_add_test
+The \fBxctest_add_test\fP function adds an XCTest bundle to the
+project to be run by \fBctest(1)\fP\&. The test will be named
+<name> and tests <bundle>:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+xctest_add_test(
+  <name>    # Test name
+  <bundle>  # Target name of XCTest bundle
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS Module Variables
+.sp
+The following variables are set by including this module:
+.INDENT 0.0
+.TP
+.B XCTest_FOUND
+True if the XCTest Framework and executable were found.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B XCTest_EXECUTABLE
+The path to the xctest command line tool used to execute XCTest bundles.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B XCTest_INCLUDE_DIRS
+The directory containing the XCTest Framework headers.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B XCTest_LIBRARIES
+The location of the XCTest Framework.
+.UNINDENT
+.SS FindXercesC
+.sp
+Find the Apache Xerces\-C++ validating XML parser headers and libraries.
+.sp
+This module reports information about the Xerces installation in
+several variables.  General variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following cache variables may also be set:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+XercesC_INCLUDE_DIR \- the directory containing the Xerces headers
+XercesC_LIBRARY \- the Xerces library
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindX11
+.sp
+Find X11 installation
+.sp
+Try to find X11 on UNIX systems. The following values are defined
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+X11_FOUND        \- True if X11 is available
+X11_INCLUDE_DIR  \- include directories to use X11
+X11_LIBRARIES    \- link against these to use X11
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and also the following more fine grained variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindXMLRPC
+.sp
+Find xmlrpc
+.sp
+Find the native XMLRPC headers and libraries.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+XMLRPC_INCLUDE_DIRS      \- where to find xmlrpc.h, etc.
+XMLRPC_LIBRARIES         \- List of libraries when using xmlrpc.
+XMLRPC_FOUND             \- True if xmlrpc found.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+XMLRPC modules may be specified as components for this find module.
+Modules may be listed by running "xmlrpc\-c\-config".  Modules include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+c++            C++ wrapper code
+libwww\-client  libwww\-based client
+cgi\-server     CGI\-based server
+abyss\-server   ABYSS\-based server
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Typical usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(XMLRPC REQUIRED libwww\-client)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS FindZLIB
+.sp
+Find the native ZLIB includes and library.
+.SS IMPORTED Targets
+.sp
+This module defines \fBIMPORTED\fP target \fBZLIB::ZLIB\fP, if
+ZLIB has been found.
+.SS Result Variables
+.sp
+This module defines the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ZLIB_INCLUDE_DIRS   \- where to find zlib.h, etc.
+ZLIB_LIBRARIES      \- List of libraries when using zlib.
+ZLIB_FOUND          \- True if zlib found.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Backward Compatibility
+.sp
+The following variable are provided for backward compatibility
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ZLIB_MAJOR_VERSION  \- The major version of zlib
+ZLIB_MINOR_VERSION  \- The minor version of zlib
+ZLIB_PATCH_VERSION  \- The patch version of zlib
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Hints
+.sp
+A user may set \fBZLIB_ROOT\fP to a zlib installation root to tell this
+module where to look.
+.SS FortranCInterface
+.sp
+Fortran/C Interface Detection
+.sp
+This module automatically detects the API by which C and Fortran
+languages interact.  Variables indicate if the mangling is found:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FortranCInterface_GLOBAL_FOUND = Global subroutines and functions
+FortranCInterface_MODULE_FOUND = Module subroutines and functions
+                                 (declared by "MODULE PROCEDURE")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+A function is provided to generate a C header file containing macros
+to mangle symbol names:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FortranCInterface_HEADER(<file>
+                         [MACRO_NAMESPACE <macro\-ns>]
+                         [SYMBOL_NAMESPACE <ns>]
+                         [SYMBOLS [<module>:]<function> ...])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It generates in <file> definitions of the following macros:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#define FortranCInterface_GLOBAL (name,NAME) ...
+#define FortranCInterface_GLOBAL_(name,NAME) ...
+#define FortranCInterface_MODULE (mod,name, MOD,NAME) ...
+#define FortranCInterface_MODULE_(mod,name, MOD,NAME) ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+These macros mangle four categories of Fortran symbols, respectively:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\- Global symbols without \(aq_\(aq: call mysub()
+\- Global symbols with \(aq_\(aq   : call my_sub()
+\- Module symbols without \(aq_\(aq: use mymod; call mysub()
+\- Module symbols with \(aq_\(aq   : use mymod; call my_sub()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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
+MACRO_NAMESPACE option replaces the default "\fI\%FortranCInterface\fP"
+prefix with a given namespace "<macro\-ns>".
+.sp
+The SYMBOLS option lists symbols to mangle automatically with C
+preprocessor definitions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<function>          ==> #define <ns><function> ...
+<module>:<function> ==> #define <ns><module>_<function> ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If the mangling for some symbol is not known then no preprocessor
+definition is created, and a warning is displayed.  The
+SYMBOL_NAMESPACE option prefixes all preprocessor definitions
+generated by the SYMBOLS option with a given namespace "<ns>".
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(FortranCInterface)
+FortranCInterface_HEADER(FC.h MACRO_NAMESPACE "FC_")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This creates a "FC.h" header that defines mangling macros FC_GLOBAL(),
+FC_GLOBAL_(), FC_MODULE(), and FC_MODULE_().
+.sp
+Example usage:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(FortranCInterface)
+FortranCInterface_HEADER(FCMangle.h
+                         MACRO_NAMESPACE "FC_"
+                         SYMBOL_NAMESPACE "FC_"
+                         SYMBOLS mysub mymod:my_sub)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Another function is provided to verify that the Fortran and C/C++
+compilers work together:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FortranCInterface_VERIFY([CXX] [QUIET])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+FortranCInterface_GLOBAL_SYMBOLS
+FortranCInterface_MODULE_SYMBOLS
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+before including FortranCInterface to specify manglings of the symbols
+"MySub", "My_Sub", "MyModule:MySub", and "My_Module:My_Sub".  For
+example, the code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(FortranCInterface_GLOBAL_SYMBOLS mysub_ my_sub__ MYSUB_)
+  #                                  ^^^^^  ^^^^^^   ^^^^^
+set(FortranCInterface_MODULE_SYMBOLS
+    __mymodule_MOD_mysub __my_module_MOD_my_sub)
+  #   ^^^^^^^^     ^^^^^   ^^^^^^^^^     ^^^^^^
+include(FortranCInterface)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.)
+.SS GenerateExportHeader
+.sp
+Function for generation of export macros for libraries
+.sp
+This module provides the function GENERATE_EXPORT_HEADER().
+.sp
+The \fBGENERATE_EXPORT_HEADER\fP function can be used to generate a file
+suitable for preprocessor inclusion which contains EXPORT macros to be
+used in library classes:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The target properties \fBCXX_VISIBILITY_PRESET\fP
+and \fBVISIBILITY_INLINES_HIDDEN\fP can be used to add the appropriate
+compile flags for targets.  See the documentation of those target properties,
+and the convenience variables
+\fBCMAKE_CXX_VISIBILITY_PRESET\fP and
+\fBCMAKE_VISIBILITY_INLINES_HIDDEN\fP\&.
+.sp
+By default \fBGENERATE_EXPORT_HEADER()\fP generates macro names in a file
+name determined by the name of the library.  This means that in the
+simplest case, users of \fBGenerateExportHeader\fP will be equivalent to:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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}
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+And in the ABI header files:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include "somelib_export.h"
+class SOMELIB_EXPORT SomeClass {
+  ...
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The CMake fragment will generate a file in the
+\fB${CMAKE_CURRENT_BINARY_DIR}\fP called \fBsomelib_export.h\fP containing the
+macros \fBSOMELIB_EXPORT\fP, \fBSOMELIB_NO_EXPORT\fP, \fBSOMELIB_DEPRECATED\fP,
+\fBSOMELIB_DEPRECATED_EXPORT\fP and \fBSOMELIB_DEPRECATED_NO_EXPORT\fP\&.  The
+resulting file should be installed with other headers in the library.
+.sp
+The \fBBASE_NAME\fP argument can be used to override the file name and the
+names used for the macros:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(somelib someclass.cpp)
+generate_export_header(somelib
+  BASE_NAME other_name
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Generates a file called \fBother_name_export.h\fP containing the macros
+\fBOTHER_NAME_EXPORT\fP, \fBOTHER_NAME_NO_EXPORT\fP and \fBOTHER_NAME_DEPRECATED\fP
+etc.
+.sp
+The \fBBASE_NAME\fP may be overridden by specifiying other options in the
+function.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(somelib someclass.cpp)
+generate_export_header(somelib
+  EXPORT_MACRO_NAME OTHER_NAME_EXPORT
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+creates the macro \fBOTHER_NAME_EXPORT\fP instead of \fBSOMELIB_EXPORT\fP, but
+other macros and the generated file name is as default:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(somelib someclass.cpp)
+generate_export_header(somelib
+  DEPRECATED_MACRO_NAME KDE_DEPRECATED
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+creates the macro \fBKDE_DEPRECATED\fP instead of \fBSOMELIB_DEPRECATED\fP\&.
+.sp
+If \fBLIBRARY_TARGET\fP is a static library, macros are defined without
+values.
+.sp
+If the same sources are used to create both a shared and a static
+library, the uppercased symbol \fB${BASE_NAME}_STATIC_DEFINE\fP should be
+used when building the static library:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This will cause the export macros to expand to nothing when building
+the static library.
+.sp
+If \fBDEFINE_NO_DEPRECATED\fP is specified, then a macro
+\fB${BASE_NAME}_NO_DEPRECATED\fP will be defined This macro can be used to
+remove deprecated code from preprocessor output:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+And then in somelib:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+class SOMELIB_EXPORT SomeClass
+{
+public:
+#ifndef SOMELIB_NO_DEPRECATED
+  SOMELIB_DEPRECATED void oldMethod();
+#endif
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#ifndef SOMELIB_NO_DEPRECATED
+void SomeClass::oldMethod() {  }
+#endif
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If \fBPREFIX_NAME\fP is specified, the argument will be used as a prefix to
+all generated macros.
+.sp
+For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+generate_export_header(somelib PREFIX_NAME VTK_)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Generates the macros \fBVTK_SOMELIB_EXPORT\fP etc.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ADD_COMPILER_EXPORT_FLAGS( [<output_variable>] )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBADD_COMPILER_EXPORT_FLAGS\fP function adds \fB\-fvisibility=hidden\fP to
+\fBCMAKE_CXX_FLAGS\fP 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 \fBADD_COMPILER_EXPORT_FLAGS\fP
+that will be populated with the \fBCXX_FLAGS\fP required to enable visibility
+support for the compiler/architecture in use.
+.sp
+This function is deprecated.  Set the target properties
+\fBCXX_VISIBILITY_PRESET\fP and
+\fBVISIBILITY_INLINES_HIDDEN\fP instead.
+.SS GetPrerequisites
+.sp
+Functions to analyze and list executable file prerequisites.
+.sp
+This module provides functions to list the .dll, .dylib or .so files
+that an executable or shared library file depends on.  (Its
+prerequisites.)
+.sp
+It uses various tools to obtain the list of required shared library
+files:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+dumpbin (Windows)
+objdump (MinGW on Windows)
+ldd (Linux/Unix)
+otool (Mac OSX)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The following functions are provided by this module:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Requires CMake 2.6 or greater because it uses function, break, return
+and PARENT_SCOPE.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GET_PREREQUISITES(<target> <prerequisites_var> <exclude_system> <recurse>
+                  <exepath> <dirs> [<rpaths>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+<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...
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+LIST_PREREQUISITES(<target> [<recurse> [<exclude_system> [<verbose>]]])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Print a message listing the prerequisites of <target>.
+.sp
+<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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+LIST_PREREQUISITES_BY_GLOB(<glob_arg> <glob_exp>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+Any additional (optional) arguments provided are passed along as the
+optional arguments to the list_prerequisites calls.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GP_APPEND_UNIQUE(<list_var> <value>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Append <value> to the list variable <list_var> only if the value is
+not already in the list.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+IS_FILE_EXECUTABLE(<file> <result_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Return 1 in <result_var> if <file> is a binary executable, 0
+otherwise.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GP_ITEM_DEFAULT_EMBEDDED_PATH(<item> <default_embedded_path_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Return the path that others should refer to the item by when the item
+is embedded inside a bundle.
+.sp
+Override on a per\-project basis by providing a project\-specific
+gp_item_default_embedded_path_override function.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GP_RESOLVE_ITEM(<context> <item> <exepath> <dirs> <resolved_item_var>
+                [<rpaths>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Resolve an item into an existing full path file.
+.sp
+Override on a per\-project basis by providing a project\-specific
+gp_resolve_item_override function.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GP_RESOLVED_FILE_TYPE(<original_file> <file> <exepath> <dirs> <type_var>
+                      [<rpaths>])
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Return the type of <file> with respect to <original_file>.  String
+describing type of prerequisite is returned in variable named
+<type_var>.
+.sp
+Use <exepath> and <dirs> if necessary to resolve non\-absolute <file>
+values \-\- but only for non\-embedded items.
+.sp
+Possible types are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+system
+local
+embedded
+other
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Override on a per\-project basis by providing a project\-specific
+gp_resolved_file_type_override function.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GP_FILE_TYPE(<original_file> <file> <type_var>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Return the type of <file> with respect to <original_file>.  String
+describing type of prerequisite is returned in variable named
+<type_var>.
+.sp
+Possible types are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+system
+local
+embedded
+other
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS GNUInstallDirs
+.sp
+Define GNU standard installation directories
+.sp
+Provides install directory variables as defined for GNU software:
+.INDENT 0.0
+.INDENT 3.5
+\fI\%http://www.gnu.org/prep/standards/html_node/Directory\-Variables.html\fP
+.UNINDENT
+.UNINDENT
+.sp
+Inclusion of this module defines the following variables:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_INSTALL_<dir>\fP
+destination for files of a given type
+.TP
+.B \fBCMAKE_INSTALL_FULL_<dir>\fP
+corresponding absolute path
+.UNINDENT
+.sp
+where <dir> is one of:
+.INDENT 0.0
+.TP
+.B \fBBINDIR\fP
+user executables (bin)
+.TP
+.B \fBSBINDIR\fP
+system admin executables (sbin)
+.TP
+.B \fBLIBEXECDIR\fP
+program executables (libexec)
+.TP
+.B \fBSYSCONFDIR\fP
+read\-only single\-machine data (etc)
+.TP
+.B \fBSHAREDSTATEDIR\fP
+modifiable architecture\-independent data (com)
+.TP
+.B \fBLOCALSTATEDIR\fP
+modifiable single\-machine data (var)
+.TP
+.B \fBLIBDIR\fP
+object code libraries (lib or lib64 or lib/<multiarch\-tuple> on Debian)
+.TP
+.B \fBINCLUDEDIR\fP
+C header files (include)
+.TP
+.B \fBOLDINCLUDEDIR\fP
+C header files for non\-gcc (/usr/include)
+.TP
+.B \fBDATAROOTDIR\fP
+read\-only architecture\-independent data root (share)
+.TP
+.B \fBDATADIR\fP
+read\-only architecture\-independent data (DATAROOTDIR)
+.TP
+.B \fBINFODIR\fP
+info documentation (DATAROOTDIR/info)
+.TP
+.B \fBLOCALEDIR\fP
+locale\-dependent data (DATAROOTDIR/locale)
+.TP
+.B \fBMANDIR\fP
+man documentation (DATAROOTDIR/man)
+.TP
+.B \fBDOCDIR\fP
+documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+.UNINDENT
+.sp
+Each CMAKE_INSTALL_<dir> value may be passed to the DESTINATION
+options of install() commands for the corresponding file type.  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.  Each
+CMAKE_INSTALL_FULL_<dir> value contains an absolute path constructed
+from the corresponding destination by prepending (if necessary) the
+value of CMAKE_INSTALL_PREFIX.
+.SS InstallRequiredSystemLibraries
+.sp
+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:
+.INDENT 0.0
+.TP
+.B \fBCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS\fP
+Specify additional runtime libraries that may not be detected.
+After inclusion any detected libraries will be appended to this.
+.TP
+.B \fBCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP\fP
+Set to TRUE to skip calling the \fBinstall(PROGRAMS)\fP command to
+allow the includer to specify its own install rule, using the value of
+\fBCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS\fP to get the list of libraries.
+.TP
+.B \fBCMAKE_INSTALL_DEBUG_LIBRARIES\fP
+Set to TRUE to install the debug runtime libraries when available
+with MSVC tools.
+.TP
+.B \fBCMAKE_INSTALL_DEBUG_LIBRARIES_ONLY\fP
+Set to TRUE to install only the debug runtime libraries with MSVC
+tools even if the release runtime libraries are also available.
+.TP
+.B \fBCMAKE_INSTALL_MFC_LIBRARIES\fP
+Set to TRUE to install the MSVC MFC runtime libraries.
+.TP
+.B \fBCMAKE_INSTALL_OPENMP_LIBRARIES\fP
+Set to TRUE to install the MSVC OpenMP runtime libraries
+.TP
+.B \fBCMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION\fP
+Specify the \fBinstall(PROGRAMS)\fP command \fBDESTINATION\fP
+option.  If not specified, the default is \fBbin\fP on Windows
+and \fBlib\fP elsewhere.
+.TP
+.B \fBCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS\fP
+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.)
+.TP
+.B \fBCMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT\fP
+Specify the \fBinstall(PROGRAMS)\fP command \fBCOMPONENT\fP
+option.  If not specified, no such option will be used.
+.UNINDENT
+.SS MacroAddFileDependencies
+.sp
+MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...)
+.sp
+Using the macro MACRO_ADD_FILE_DEPENDENCIES() is discouraged.  There
+are usually better ways to specify the correct dependencies.
+.sp
+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.
+.SS ProcessorCount
+.sp
+ProcessorCount(var)
+.sp
+Determine the number of processors/cores and save value in ${var}
+.sp
+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.
+.sp
+This function is guaranteed to return a positive integer (>=1) if it
+succeeds.  It returns 0 if there\(aqs a problem determining the processor
+count.
+.sp
+Example use, in a ctest \-S dashboard script:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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\(aqs full capacity all for yourself.
+.SS SelectLibraryConfigurations
+.sp
+select_library_configurations( basename )
+.sp
+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.
+.sp
+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.
+.SS SquishTestScript
+.sp
+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.
+.sp
+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.
+.SS TestBigEndian
+.sp
+Define macro to determine endian type
+.sp
+Check if the system is big endian or little endian
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+TEST_BIG_ENDIAN(VARIABLE)
+VARIABLE \- variable to store the result to
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS TestCXXAcceptsFlag
+.sp
+Deprecated.  See \fBCheckCXXCompilerFlag\fP\&.
+.sp
+Check if the CXX compiler accepts a flag.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CHECK_CXX_ACCEPTS_FLAG(<flags> <variable>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \fB<flags>\fP
+the flags to try
+.TP
+.B \fB<variable>\fP
+variable to store the result
+.UNINDENT
+.SS TestForANSIForScope
+.sp
+Check for ANSI for scope support
+.sp
+Check if the compiler restricts the scope of variables declared in a
+for\-init\-statement to the loop body.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_NO_ANSI_FOR_SCOPE \- holds result
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS TestForANSIStreamHeaders
+.sp
+Test for compiler support of ANSI stream headers iostream, etc.
+.sp
+check if the compiler supports the standard ANSI iostream header
+(without the .h)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_NO_ANSI_STREAM_HEADERS \- defined by the results
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS TestForSSTREAM
+.sp
+Test for compiler support of ANSI sstream header
+.sp
+check if the compiler supports the standard ANSI sstream header
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_NO_ANSI_STRING_STREAM \- defined by the results
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS TestForSTDNamespace
+.sp
+Test for std:: namespace support
+.sp
+check if the compiler supports std:: on stl classes
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CMAKE_NO_STD_NAMESPACE \- defined by the results
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS UseEcos
+.sp
+This module defines variables and macros required to build eCos application.
+.sp
+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
+.sp
+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
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+ECOS_ADD_TARGET_LIB
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS UseJavaClassFilelist
+.sp
+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.
+.SS UseJava
+.sp
+Use Module for Java
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(target_name
+        [SOURCES] source1 [source2 ...] [resource1 ...]
+        [INCLUDE_JARS jar1 [jar2 ...]]
+        [ENTRY_POINT entry]
+        [VERSION version]
+        [OUTPUT_NAME name]
+        [OUTPUT_DIR dir]
+        )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.  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).
+.sp
+The default OUTPUT_DIR can also be changed by setting the variable
+CMAKE_JAVA_TARGET_OUTPUT_DIR.
+.sp
+Additional instructions:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To add compile flags to the target you can set these flags with
+the following variable:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_JAVA_COMPILE_FLAGS \-nowarn)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To add a path or a jar file to the class path you can do this
+with the CMAKE_JAVA_INCLUDE_PATH variable.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_JAVA_INCLUDE_PATH /usr/share/java/shibboleet.jar)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To use a different output name for the target you can set it with:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(foobar foobar.java OUTPUT_NAME shibboleet.jar)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To use a different output directory than CMAKE_CURRENT_BINARY_DIR
+you can set it with:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(foobar foobar.java OUTPUT_DIR ${PROJECT_BINARY_DIR}/bin)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To define an entry point in your jar you can set it with the ENTRY_POINT
+named argument:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(example ENTRY_POINT com/examples/MyProject/Main)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+To define a custom manifest for the jar, you can set it with the manifest
+named argument:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(example MANIFEST /path/to/manifest)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_jar(shibboleet shibbotleet.java VERSION 1.2.0)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+If the target is a JNI library, utilize the following commands to
+create a JNI symbolic link:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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:
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_JAR_CLASSES_PREFIX com/redhat/foo)
+add_jar(foo foo.java)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_JAR_CLASSES_PREFIX com/redhat/bar)
+add_jar(bar bar.java)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Target Properties:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+The add_jar() functions sets some target properties. You can get these
+properties with the
+   get_property(TARGET <target_name> PROPERTY <propery_name>)
+command.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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.
+CLASS_DIR          The directory where the class files can be found. For
+                   example to use them with javah.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_jar(<VAR>
+         name | NAMES name1 [name2 ...]
+         [PATHS path1 [path2 ... ENV var]]
+         [VERSIONS version1 [version2]]
+         [DOC "cache documentation string"]
+         )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_jar(TARGET_NAME DESTINATION)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+install_jni_symlink(TARGET_NAME DESTINATION)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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]
+               )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Create java documentation based on files or packages.  For more
+details please read the javadoc manpage.
+.sp
+There are two main signatures for create_javadoc.  The first signature
+works with package names on a path with source files:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The second signature for create_javadoc works on a given list of
+files.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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]
+              )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+The documentation will be by default installed to
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+${CMAKE_INSTALL_PREFIX}/share/javadoc/<VAR>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+if you don\(aqt set the INSTALLPATH.
+.SS UseJavaSymlinks
+.sp
+Helper script for UseJava.cmake
+.SS UsePkgConfig
+.sp
+Obsolete pkg\-config module for CMake, use FindPkgConfig instead.
+.sp
+This module defines the following macro:
+.sp
+PKGCONFIG(package includedir libdir linkflags cflags)
+.sp
+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\(aqt exist, the variable
+will be empty when the function returns, otherwise they will contain
+the respective information
+.SS UseSWIG
+.sp
+Defines the following macros for use with SWIG:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Source files properties on module files can be set before the invocation
+of the SWIG_ADD_MODULE macro to specify special behavior of SWIG.
+.sp
+The source file property CPLUSPLUS calls SWIG in c++ mode, e.g.:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(SOURCE mymod.i PROPERTY CPLUSPLUS ON)
+swig_add_module(mymod python mymod.i)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The source file property SWIG_FLAGS adds custom flags to the SWIG executable.
+.sp
+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.:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(SOURCE mymod.i PROPERTY SWIG_MODULE_NAME mymod_realname)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+To get the name of the swig module target library, use: ${SWIG_MODULE_${name}_REAL_NAME}.
+.sp
+Also some variables can be set to specify special behavior of SWIG.
+.sp
+CMAKE_SWIG_FLAGS can be used to add special flags to all swig calls.
+.sp
+Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
+where to write all the swig generated module (swig \-outdir option)
+.sp
+The name\-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used to specify extra
+dependencies for the generated modules.
+.sp
+If the source file generated by swig need some special flag you can use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_source_files_properties( ${swig_generated_file_fullname}
+                             PROPERTIES COMPILE_FLAGS "\-bla")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS UsewxWidgets
+.sp
+Convenience include for using wxWidgets library.
+.sp
+Determines if wxWidgets was FOUND and sets the appropriate libs,
+incdirs, flags, etc.  INCLUDE_DIRECTORIES and LINK_DIRECTORIES are
+called.
+.sp
+USAGE
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# 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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+DEPRECATED
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+LINK_LIBRARIES is not called in favor of adding dependencies per target.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+AUTHOR
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Jan Woetzel <jw \-at\- mip.informatik.uni\-kiel.de>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Use_wxWindows
+.sp
+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)
+.sp
+USAGE:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+just include Use_wxWindows.cmake
+in your projects CMakeLists.txt
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+include( ${CMAKE_MODULE_PATH}/Use_wxWindows.cmake)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if you are sure you need GL then
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+set(WXWINDOWS_USE_GL 1)
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+*before* you include this file.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS WriteBasicConfigVersionFile
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+WRITE_BASIC_CONFIG_VERSION_FILE( filename
+  [VERSION major.minor.patch]
+  COMPATIBILITY (AnyNewerVersion|SameMajorVersion)
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Deprecated, see WRITE_BASIC_PACKAGE_VERSION_FILE(), it is identical.
+.SS WriteCompilerDetectionHeader
+.sp
+This module provides the function write_compiler_detection_header().
+.sp
+The \fBWRITE_COMPILER_DETECTION_HEADER\fP function can be used to generate
+a file suitable for preprocessor inclusion which contains macros to be
+used in source code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>]
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBwrite_compiler_detection_header\fP function generates the
+file \fB<file>\fP with macros which all have the prefix \fB<prefix>\fP\&.
+.sp
+By default, all content is written directly to the \fB<file>\fP\&.  The
+\fBOUTPUT_FILES_VAR\fP may be specified to cause the compiler\-specific
+content to be written to separate files.  The separate files are then
+available in the \fB<output_files_var>\fP and may be consumed by the caller
+for installation for example.  The \fBOUTPUT_DIR\fP specifies a relative
+path from the main \fB<file>\fP to the compiler\-specific files. For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_compiler_detection_header(
+  FILE climbingstats_compiler_detection.h
+  PREFIX ClimbingStats
+  OUTPUT_FILES_VAR support_files
+  OUTPUT_DIR compilers
+  COMPILERS GNU Clang MSVC
+  FEATURES cxx_variadic_templates
+)
+install(FILES
+  ${CMAKE_CURRENT_BINARY_DIR}/climbingstats_compiler_detection.h
+  DESTINATION include
+)
+install(FILES
+  ${support_files}
+  DESTINATION include/compilers
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBVERSION\fP 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 \fB<version>\fP 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 \fBCMAKE_MINIMUM_REQUIRED_VERSION\fP
+variable is used if no explicit version is specified.
+(As of CMake version 3.3.2 there is only one API version.)
+.sp
+\fBPROLOG\fP may be specified as text content to write at the start of the
+header. \fBEPILOG\fP may be specified as text content to write at the end
+of the header
+.sp
+At least one \fB<compiler>\fP and one \fB<feature>\fP must be listed.  Compilers
+which are known to CMake, but not specified are detected and a preprocessor
+\fB#error\fP is generated for them.  A preprocessor macro matching
+\fB<PREFIX>_COMPILER_IS_<compiler>\fP is generated for each compiler
+known to CMake to contain the value \fB0\fP or \fB1\fP\&.
+.sp
+Possible compiler identifiers are documented with the
+\fBCMAKE_<LANG>_COMPILER_ID\fP variable.
+Available features in this version of CMake are listed in the
+\fBCMAKE_C_KNOWN_FEATURES\fP and
+\fBCMAKE_CXX_KNOWN_FEATURES\fP global properties.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features.
+.SS Feature Test Macros
+.sp
+For each compiler, a preprocessor macro is generated matching
+\fB<PREFIX>_COMPILER_IS_<compiler>\fP which has the content either \fB0\fP
+or \fB1\fP, depending on the compiler in use. Preprocessor macros for
+compiler version components are generated matching
+\fB<PREFIX>_COMPILER_VERSION_MAJOR\fP \fB<PREFIX>_COMPILER_VERSION_MINOR\fP
+and \fB<PREFIX>_COMPILER_VERSION_PATCH\fP containing decimal values
+for the corresponding compiler version components, if defined.
+.sp
+A preprocessor test is generated based on the compiler version
+denoting whether each feature is enabled.  A preprocessor macro
+matching \fB<PREFIX>_COMPILER_<FEATURE>\fP, where \fB<FEATURE>\fP is the
+upper\-case \fB<feature>\fP name, is generated to contain the value
+\fB0\fP or \fB1\fP depending on whether the compiler in use supports the
+feature:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+write_compiler_detection_header(
+  FILE climbingstats_compiler_detection.h
+  PREFIX ClimbingStats
+  COMPILERS GNU Clang AppleClang MSVC
+  FEATURES cxx_variadic_templates
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft 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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Symbol Macros
+.sp
+Some additional symbol\-defines are created for particular features for
+use as symbols which may be conditionally defined empty:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+class MyClass ClimbingStats_FINAL
+{
+    ClimbingStats_CONSTEXPR int someInterface() { return 42; }
+};
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBClimbingStats_FINAL\fP macro will expand to \fBfinal\fP if the
+compiler (and its flags) support the \fBcxx_final\fP feature, and the
+\fBClimbingStats_CONSTEXPR\fP macro will expand to \fBconstexpr\fP
+if \fBcxx_constexpr\fP is supported.
+.sp
+The following features generate corresponding symbol defines:
+.TS
+center;
+|l|l|l|.
+_
+T{
+Feature
+T}	T{
+Define
+T}	T{
+Symbol
+T}
+_
+T{
+\fBc_restrict\fP
+T}	T{
+\fB<PREFIX>_RESTRICT\fP
+T}	T{
+\fBrestrict\fP
+T}
+_
+T{
+\fBcxx_constexpr\fP
+T}	T{
+\fB<PREFIX>_CONSTEXPR\fP
+T}	T{
+\fBconstexpr\fP
+T}
+_
+T{
+\fBcxx_deleted_functions\fP
+T}	T{
+\fB<PREFIX>_DELETED_FUNCTION\fP
+T}	T{
+\fB= delete\fP
+T}
+_
+T{
+\fBcxx_extern_templates\fP
+T}	T{
+\fB<PREFIX>_EXTERN_TEMPLATE\fP
+T}	T{
+\fBextern\fP
+T}
+_
+T{
+\fBcxx_final\fP
+T}	T{
+\fB<PREFIX>_FINAL\fP
+T}	T{
+\fBfinal\fP
+T}
+_
+T{
+\fBcxx_noexcept\fP
+T}	T{
+\fB<PREFIX>_NOEXCEPT\fP
+T}	T{
+\fBnoexcept\fP
+T}
+_
+T{
+\fBcxx_noexcept\fP
+T}	T{
+\fB<PREFIX>_NOEXCEPT_EXPR(X)\fP
+T}	T{
+\fBnoexcept(X)\fP
+T}
+_
+T{
+\fBcxx_override\fP
+T}	T{
+\fB<PREFIX>_OVERRIDE\fP
+T}	T{
+\fBoverride\fP
+T}
+_
+.TE
+.SS Compatibility Implementation Macros
+.sp
+Some features are suitable for wrapping in a macro with a backward
+compatibility implementation if the compiler does not support the feature.
+.sp
+When the \fBcxx_static_assert\fP feature is not provided by the compiler,
+a compatibility implementation is available via the
+\fB<PREFIX>_STATIC_ASSERT(COND)\fP and
+\fB<PREFIX>_STATIC_ASSERT_MSG(COND, MSG)\fP function\-like macros. The macros
+expand to \fBstatic_assert\fP 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 \fBstatic_assert\fP\&.  In
+the second form, the message \fBMSG\fP is passed to the message field of
+\fBstatic_assert\fP, or ignored if using the backward compatibility
+implementation.
+.sp
+The \fBcxx_attribute_deprecated\fP feature provides a macro definition
+\fB<PREFIX>_DEPRECATED\fP, which expands to either the standard
+\fB[[deprecated]]\fP attribute or a compiler\-specific decorator such
+as \fB__attribute__((__deprecated__))\fP used by GNU compilers.
+.sp
+The \fBcxx_alignas\fP feature provides a macro definition
+\fB<PREFIX>_ALIGNAS\fP which expands to either the standard \fBalignas\fP
+decorator or a compiler\-specific decorator such as
+\fB__attribute__ ((__aligned__))\fP used by GNU compilers.
+.sp
+The \fBcxx_alignof\fP feature provides a macro definition
+\fB<PREFIX>_ALIGNOF\fP which expands to either the standard \fBalignof\fP
+decorator or a compiler\-specific decorator such as \fB__alignof__\fP
+used by GNU compilers.
+.TS
+center;
+|l|l|l|.
+_
+T{
+Feature
+T}	T{
+Define
+T}	T{
+Symbol
+T}
+_
+T{
+\fBcxx_alignas\fP
+T}	T{
+\fB<PREFIX>_ALIGNAS\fP
+T}	T{
+\fBalignas\fP
+T}
+_
+T{
+\fBcxx_alignof\fP
+T}	T{
+\fB<PREFIX>_ALIGNOF\fP
+T}	T{
+\fBalignof\fP
+T}
+_
+T{
+\fBcxx_nullptr\fP
+T}	T{
+\fB<PREFIX>_NULLPTR\fP
+T}	T{
+\fBnullptr\fP
+T}
+_
+T{
+\fBcxx_static_assert\fP
+T}	T{
+\fB<PREFIX>_STATIC_ASSERT\fP
+T}	T{
+\fBstatic_assert\fP
+T}
+_
+T{
+\fBcxx_static_assert\fP
+T}	T{
+\fB<PREFIX>_STATIC_ASSERT_MSG\fP
+T}	T{
+\fBstatic_assert\fP
+T}
+_
+T{
+\fBcxx_attribute_deprecated\fP
+T}	T{
+\fB<PREFIX>_DEPRECATED\fP
+T}	T{
+\fB[[deprecated]]\fP
+T}
+_
+T{
+\fBcxx_attribute_deprecated\fP
+T}	T{
+\fB<PREFIX>_DEPRECATED_MSG\fP
+T}	T{
+\fB[[deprecated]]\fP
+T}
+_
+T{
+\fBcxx_thread_local\fP
+T}	T{
+\fB<PREFIX>_THREAD_LOCAL\fP
+T}	T{
+\fBthread_local\fP
+T}
+_
+.TE
+.sp
+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 \fB<PREFIX>_DEPRECATED\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_library(compat_support ${srcs})
+target_compile_definitions(compat_support
+  PRIVATE
+    CompatSupport_DEPRECATED=
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-packages.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,890 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-PACKAGES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-packages \- CMake Packages Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+Packages provide dependency information to CMake based buildsystems.  Packages
+are found with the \fBfind_package()\fP command.  The result of
+using \fBfind_package\fP is either a set of \fBIMPORTED\fP targets, or
+a set of variables corresponding to build\-relevant information.
+.SH USING PACKAGES
+.sp
+CMake provides direct support for two forms of packages,
+\fI\%Config\-file Packages\fP and \fI\%Find\-module Packages\fP\&.
+Indirect support for \fBpkg\-config\fP packages is also provided via
+the \fBFindPkgConfig\fP module.  In all cases, the basic form
+of \fBfind_package()\fP calls is the same:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+In cases where it is known that a package configuration file is provided by
+upstream, and only that should be used, the \fBCONFIG\fP keyword may be passed
+to \fBfind_package()\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Qt5Core 5.1.0 CONFIG REQUIRED)
+find_package(Qt5Gui 5.1.0 CONFIG)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Similarly, the \fBMODULE\fP keyword says to use only a find\-module:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Qt4 4.7.0 MODULE REQUIRED)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Specifying the type of package explicitly improves the error message shown to
+the user if it is not found.
+.sp
+Both types of packages also support specifying components of a package,
+either after the \fBREQUIRED\fP keyword:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Qt5 5.1.0 CONFIG REQUIRED Widgets Xml Sql)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+or as a separate \fBCOMPONENTS\fP list:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Qt5 5.1.0 COMPONENTS Widgets Xml Sql)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+or as a separate \fBOPTIONAL_COMPONENTS\fP list:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(Qt5 5.1.0 COMPONENTS Widgets
+                       OPTIONAL_COMPONENTS Xml Sql
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Handling of \fBCOMPONENTS\fP and \fBOPTIONAL_COMPONENTS\fP is defined by the
+package.
+.sp
+By setting the \fBCMAKE_DISABLE_FIND_PACKAGE_<PackageName>\fP variable to
+\fBTRUE\fP, the \fBPackageName\fP package will not be searched, and will always
+be \fBNOTFOUND\fP\&.
+.SS Config\-file Packages
+.sp
+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 \fBfind_package()\fP documentation.  The most simple way for
+a CMake user to tell \fBcmake(1)\fP to search in a non\-standard prefix for
+a package is to set the \fBCMAKE_PREFIX_PATH\fP cache variable.
+.sp
+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 downsteams in using the package.
+.sp
+A set of variables which provide package status information are also set
+automatically when using a config\-file package.  The \fB<Package>_FOUND\fP
+variable is set to true or false, depending on whether the package was
+found.  The \fB<Package>_DIR\fP cache variable is set to the location of the
+package configuration file.
+.SS Find\-module Packages
+.sp
+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.
+.sp
+Unlike the case of an upstream\-provided package configuration file, no single point
+of reference identifies the package as being found, so the \fB<Package>_FOUND\fP
+variable is not automatically set by the \fBfind_package()\fP 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 \fB<Package>_DIR\fP variable,
+but each of the artifacts such as library locations and header file locations
+provide a separate cache variable.
+.sp
+See the \fBcmake\-developer(7)\fP manual for more information about creating
+Find\-module files.
+.SH PACKAGE LAYOUT
+.sp
+A config\-file package consists of a \fI\%Package Configuration File\fP and
+optionally a \fI\%Package Version File\fP provided with the project distribution.
+.SS Package Configuration File
+.sp
+Consider a project \fBFoo\fP that installs the following files:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<prefix>/include/foo\-1.2/foo.h
+<prefix>/lib/foo\-1.2/libfoo.a
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+It may also provide a CMake package configuration file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<prefix>/lib/cmake/foo\-1.2/FooConfig.cmake
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+with content defining \fBIMPORTED\fP targets, or defining variables, such
+as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# ...
+# (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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If another project wishes to use \fBFoo\fP it need only to locate the \fBFooConfig.cmake\fP
+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.
+.sp
+The \fBfind_package()\fP 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 \fBFoo\fP,
+it looks for a file called \fBFooConfig.cmake\fP or \fBfoo\-config.cmake\fP\&.
+The full set of locations is specified in the \fBfind_package()\fP command
+documentation. One place it looks is:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<prefix>/lib/cmake/Foo*/
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where \fBFoo*\fP is a case\-insensitive globbing expression.  In our example the
+globbing expression will match \fB<prefix>/lib/cmake/foo\-1.2\fP and the package
+configuration file will be found.
+.sp
+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.
+.SS Package Version File
+.sp
+When the \fBfind_package()\fP 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.
+.sp
+The name of the package version file must match that of the package configuration
+file but has either \fB\-version\fP or \fBVersion\fP appended to the name before
+the \fB\&.cmake\fP extension.  For example, the files:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<prefix>/lib/cmake/foo\-1.3/foo\-config.cmake
+<prefix>/lib/cmake/foo\-1.3/foo\-config\-version.cmake
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+and:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<prefix>/lib/cmake/bar\-4.2/BarConfig.cmake
+<prefix>/lib/cmake/bar\-4.2/BarConfigVersion.cmake
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+are each pairs of package configuration files and corresponding package version
+files.
+.sp
+When the \fBfind_package()\fP command loads a version file it first sets the
+following variables:
+.INDENT 0.0
+.TP
+.B \fBPACKAGE_FIND_NAME\fP
+The <package> name
+.TP
+.B \fBPACKAGE_FIND_VERSION\fP
+Full requested version string
+.TP
+.B \fBPACKAGE_FIND_VERSION_MAJOR\fP
+Major version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_MINOR\fP
+Minor version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_PATCH\fP
+Patch version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_TWEAK\fP
+Tweak version if requested, else 0
+.TP
+.B \fBPACKAGE_FIND_VERSION_COUNT\fP
+Number of version components, 0 to 4
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.TP
+.B \fBPACKAGE_VERSION\fP
+Full provided version string
+.TP
+.B \fBPACKAGE_VERSION_EXACT\fP
+True if version is exact match
+.TP
+.B \fBPACKAGE_VERSION_COMPATIBLE\fP
+True if version is compatible
+.TP
+.B \fBPACKAGE_VERSION_UNSUITABLE\fP
+True if unsuitable as any version
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.TP
+.B \fB<package>_VERSION\fP
+Full provided version string
+.TP
+.B \fB<package>_VERSION_MAJOR\fP
+Major version if provided, else 0
+.TP
+.B \fB<package>_VERSION_MINOR\fP
+Minor version if provided, else 0
+.TP
+.B \fB<package>_VERSION_PATCH\fP
+Patch version if provided, else 0
+.TP
+.B \fB<package>_VERSION_TWEAK\fP
+Tweak version if provided, else 0
+.TP
+.B \fB<package>_VERSION_COUNT\fP
+Number of version components, 0 to 4
+.UNINDENT
+.sp
+The variables report the version of the package that was actually found.
+The \fB<package>\fP part of their name matches the argument given to the
+\fBfind_package()\fP command.
+.SH CREATING PACKAGES
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCMakePackageConfigHelpers\fP module provides a macro for creating
+a simple \fBConfigVersion.cmake\fP file.  This file sets the version of the
+package.  It is read by CMake when \fBfind_package()\fP is called to
+determine the compatibility with the requested version, and to set some
+version\-specific variables \fB<Package>_VERSION\fP, \fB<Package>_VERSION_MAJOR\fP,
+\fB<Package>_VERSION_MINOR\fP etc.  The \fBinstall(EXPORT)\fP command is
+used to export the targets in the \fBClimbingStatsTargets\fP export\-set, defined
+previously by the \fBinstall(TARGETS)\fP command. This command generates
+the \fBClimbingStatsTargets.cmake\fP file to contain \fBIMPORTED\fP
+targets, suitable for use by downsteams and arranges to install it to
+\fBlib/cmake/ClimbingStats\fP\&.  The generated \fBClimbingStatsConfigVersion.cmake\fP
+and a \fBcmake/ClimbingStatsConfig.cmake\fP are installed to the same location,
+completing the package.
+.sp
+The generated \fBIMPORTED\fP targets have appropriate properties set
+to define their usage requirements, such as
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP,
+\fBINTERFACE_COMPILE_DEFINITIONS\fP and other relevant built\-in
+\fBINTERFACE_\fP properties.  The \fBINTERFACE\fP variant of user\-defined
+properties listed in \fBCOMPATIBLE_INTERFACE_STRING\fP and
+other Compatible Interface Properties are also propagated to the
+generated \fBIMPORTED\fP targets.  In the above case,
+\fBClimbingStats_MAJOR_VERSION\fP 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
+\fBClimbingStats\fP, \fBcmake(1)\fP 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.
+.sp
+A \fBNAMESPACE\fP 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 \fBIMPORTED\fP target when it is used by downstreams
+with the \fBtarget_link_libraries()\fP command.  This way, CMake can
+issue a diagnostic if the package providing it has not yet been found.
+.sp
+In this case, when using \fBinstall(TARGETS)\fP the \fBINCLUDES DESTINATION\fP
+was specified.  This causes the \fBIMPORTED\fP targets to have their
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP populated with the \fBinclude\fP
+directory in the \fBCMAKE_INSTALL_PREFIX\fP\&.  When the \fBIMPORTED\fP
+target is used by downsteam, it automatically consumes the entries from
+that property.
+.SS Creating a Package Configuration File
+.sp
+In this case, the \fBClimbingStatsConfig.cmake\fP file could be as simple as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+As this allows downstreams to use the \fBIMPORTED\fP targets.  If any macros
+should be provided by the \fBClimbingStats\fP package, they should
+be in a separate file which is installed to the same location as the
+\fBClimbingStatsConfig.cmake\fP file, and included from there.
+.sp
+This can also be extended to cover dependencies:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# ...
+add_library(ClimbingStats SHARED climbingstats.cpp)
+generate_export_header(ClimbingStats)
+
+find_package(Stats 2.6.4 REQUIRED)
+target_link_libraries(ClimbingStats PUBLIC Stats::Types)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+As the \fBStats::Types\fP target is a \fBPUBLIC\fP dependency of \fBClimbingStats\fP,
+downsteams must also find the \fBStats\fP package and link to the \fBStats::Types\fP
+library.  The \fBStats\fP package should be found in the \fBClimbingStatsConfig.cmake\fP
+file to ensure this.  The \fBfind_dependency\fP macro from the
+\fBCMakeFindDependencyMacro\fP helps with this by propagating
+whether the package is \fBREQUIRED\fP, or \fBQUIET\fP etc.  All \fBREQUIRED\fP
+dependencies of a package should be found in the \fBConfig.cmake\fP file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+include(CMakeFindDependencyMacro)
+find_dependency(Stats 2.6.4)
+
+include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/ClimbingStatsMacros.cmake")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBfind_dependency\fP macro also sets \fBClimbingStats_FOUND\fP to \fBFalse\fP if
+the dependency is not found, along with a diagnostic that the \fBClimbingStats\fP
+package can not be used without the \fBStats\fP package.
+.sp
+If \fBCOMPONENTS\fP are specified when the downstream uses \fBfind_package()\fP,
+they are listed in the \fB<Package>_FIND_COMPONENTS\fP variable. If a particular
+component is non\-optional, then the \fB<Package>_FIND_REQUIRED_<comp>\fP will
+be true. This can be tested with logic in the package configuration file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Here, the \fBClimbingStats_NOTFOUND_MESSAGE\fP 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 \fB_FOUND\fP variable is set to \fBFalse\fP,
+and will be displayed to the user.
+.SS Creating a Package Configuration File for the Build Tree
+.sp
+The \fBexport(EXPORT)\fP command creates an \fBIMPORTED\fP targets
+definition file which is specific to the build\-tree, and is not relocatable.
+This can similiarly 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
+\fBCMAKE_PREFIX_PATH\fP contains the build directory, or set the
+\fBClimbingStats_DIR\fP to \fB<build_dir>/ClimbingStats\fP in the cache.
+.SS Creating Relocatable Packages
+.sp
+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.
+.sp
+Packages created by \fBinstall(EXPORT)\fP are designed to be relocatable,
+using paths relative to the location of the package itself.  When defining
+the interface of a target for \fBEXPORT\fP, keep in mind that the include
+directories should be specified as relative paths which are relative to the
+\fBCMAKE_INSTALL_PREFIX\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fB$<INSTALL_PREFIX>\fP
+\fBgenerator expression\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_include_directories(tgt INTERFACE
+  # Ok, relocatable:
+  $<INSTALL_INTERFACE:$<$<CONFIG:Debug>:$<INSTALL_PREFIX>/include/TgtName>>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This also applies to paths referencing external dependencies.
+It is not advisable to populate any properties which may contain
+paths, such as \fBINTERFACE_INCLUDE_DIRECTORIES\fP and
+\fBINTERFACE_LINK_LIBRARIES\fP, with paths relevant to dependencies.
+For example, this code may not work well for a relocatable package:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(ClimbingStats INTERFACE
+  ${Foo_LIBRARIES} ${Bar_LIBRARIES}
+  )
+target_include_directories(ClimbingStats INTERFACE
+  "$<INSTALL_INTERFACE:${Foo_INCLUDE_DIRS};${Bar_INCLUDE_DIRS}>"
+  )
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The referenced variables may contain the absolute paths to libraries
+and include directories \fBas found on the machine the package was made on\fP\&.
+This would create a package with hard\-coded paths to dependencies and not
+suitable for relocation.
+.sp
+Ideally such dependencies should be used through their own
+IMPORTED targets that have their own
+\fBIMPORTED_LOCATION\fP and usage requirement properties
+such as \fBINTERFACE_INCLUDE_DIRECTORIES\fP populated
+appropriately.  Those imported targets may then be used with
+the \fBtarget_link_libraries()\fP command for \fBClimbingStats\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(ClimbingStats INTERFACE Foo::Foo Bar::Bar)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+With this approach the package references its external dependencies
+only through the names of IMPORTED targets\&.
+When a consumer uses the installed package, the consumer will run the
+appropriate \fBfind_package()\fP commands (via the \fBfind_dependency\fP
+macro described above) to find the dependencies and populate the
+imported targets with appropriate paths on their own machine.
+.sp
+Unfortunately many \fBmodules\fP shipped with
+CMake do not yet provide IMPORTED targets
+because their development pre\-dated this approach.  This may improve
+incrementally over time.  Workarounds to create relocatable packages
+using such modules include:
+.INDENT 0.0
+.IP \(bu 2
+When building the package, specify each \fBFoo_LIBRARY\fP cache
+entry as just a library name, e.g. \fB\-DFoo_LIBRARY=foo\fP\&.  This
+tells the corresponding find module to populate the \fBFoo_LIBRARIES\fP
+with just \fBfoo\fP to ask the linker to search for the library
+instead of hard\-coding a path.
+.IP \(bu 2
+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.
+.UNINDENT
+.SH PACKAGE REGISTRY
+.sp
+CMake provides two central locations to register packages that have
+been built or installed anywhere on a system:
+.INDENT 0.0
+.IP \(bu 2
+\fI\%User Package Registry\fP
+.IP \(bu 2
+\fI\%System Package Registry\fP
+.UNINDENT
+.sp
+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
+\fI\%Package Configuration File\fP (\fB<package>Config.cmake\fP) and optionally a
+\fI\%Package Version File\fP (\fB<package>ConfigVersion.cmake\fP).
+.sp
+The \fBfind_package()\fP 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.
+.SS User Package Registry
+.sp
+The User Package Registry is stored in a per\-user location.
+The \fBexport(PACKAGE)\fP 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.
+.sp
+On Windows the user package registry is stored in the Windows registry
+under a key in \fBHKEY_CURRENT_USER\fP\&.
+.sp
+A \fB<package>\fP may appear under registry key:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+HKEY_CURRENT_USER\eSoftware\eKitware\eCMake\ePackages\e<package>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+as a \fBREG_SZ\fP value, with arbitrary name, that specifies the directory
+containing the package configuration file.
+.sp
+On UNIX platforms the user package registry is stored in the user home
+directory under \fB~/.cmake/packages\fP\&.  A \fB<package>\fP may appear under
+the directory:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+~/.cmake/packages/<package>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+as a file, with arbitrary name, whose content specifies the directory
+containing the package configuration file.
+.SS System Package Registry
+.sp
+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.
+.sp
+On Windows the system package registry is stored in the Windows registry
+under a key in \fBHKEY_LOCAL_MACHINE\fP\&.  A \fB<package>\fP may appear under
+registry key:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+HKEY_LOCAL_MACHINE\eSoftware\eKitware\eCMake\ePackages\e<package>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+as a \fBREG_SZ\fP value, with arbitrary name, that specifies the directory
+containing the package configuration file.
+.sp
+There is no system package registry on non\-Windows platforms.
+.SS Disabling the Package Registry
+.sp
+In some cases using the Package Registries is not desirable. CMake
+allows to disable them using the following variables:
+.INDENT 0.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+\fBCMAKE_EXPORT_NO_PACKAGE_REGISTRY\fP disables the
+\fBexport(PACKAGE)\fP command.
+.IP \(bu 2
+\fBCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY\fP disables the
+User Package Registry in all the \fBfind_package()\fP calls.
+.IP \(bu 2
+\fBCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY\fP disables
+the System Package Registry in all the \fBfind_package()\fP calls.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SS Package Registry Example
+.sp
+A simple convention for naming package registry entries is to use content
+hashes.  They are deterministic and unlikely to collide
+(\fBexport(PACKAGE)\fP uses this approach).
+The name of an entry referencing a specific directory is simply the content
+hash of the directory path itself.
+.sp
+If a project arranges for package registry entries to exist, such as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+> reg query HKCU\eSoftware\eKitware\eCMake\ePackages\eMyPackage
+HKEY_CURRENT_USER\eSoftware\eKitware\eCMake\ePackages\eMyPackage
+ 45e7d55f13b87179bb12f907c8de6fc4 REG_SZ c:/Users/Me/Work/lib/cmake/MyPackage
+ 7b4a9844f681c80ce93190d4e3185db9 REG_SZ c:/Users/Me/Work/MyPackage\-build
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+or:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ cat ~/.cmake/packages/MyPackage/7d1fb77e07ce59a81bed093bbee945bd
+/home/me/work/lib/cmake/MyPackage
+$ cat ~/.cmake/packages/MyPackage/f92c1db873a1937f3100706657c63e07
+/home/me/work/MyPackage\-build
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+then the \fBCMakeLists.txt\fP code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+find_package(MyPackage)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will search the registered locations for package configuration files
+(\fBMyPackageConfig.cmake\fP).  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 (\fBMyPackageConfigVersion.cmake\fP) to
+tell \fBfind_package()\fP whether a specific location is suitable
+for the version requested.
+.SS Package Registry Ownership
+.sp
+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.
+.sp
+The \fBexport(PACKAGE)\fP 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 \fBfind_package()\fP
+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 \fBexport(PACKAGE)\fP 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.
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-policies.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,2411 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-POLICIES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-policies \- CMake Policies Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+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 \fBcmake_policy()\fP command.
+It is also possible to request \fBNEW\fP, or non\-backward compatible behavior
+for a policy, also avoiding the warning.  Each policy can also be set to
+either \fBNEW\fP or \fBOLD\fP behavior explicitly on the command line with the
+\fBCMAKE_POLICY_DEFAULT_CMP<NNNN>\fP variable.
+.sp
+A policy is a deprecation mechanism and not a reliable feature toggle.
+A policy should almost never be set to \fBOLD\fP, except to silence warnings
+in an otherwise frozen or stable codebase, or temporarily as part of a
+larger migration path. The \fBOLD\fP behavior of each policy is undesirable
+and will be replaced with an error condition in a future release.
+.sp
+The \fBcmake_minimum_required()\fP 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
+\fBNEW\fP behavior.  To manage policies without increasing the minimum required
+CMake version, the \fBif(POLICY)\fP command may be used:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if(POLICY CMP0990)
+  cmake_policy(SET CMP0990 NEW)
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This has the effect of using the \fBNEW\fP behavior with newer CMake releases which
+users may be using and not issuing a compatibility warning.
+.sp
+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 \fBinclude()\fP command
+or the \fBfind_package()\fP command contain a use of \fBcmake_policy()\fP,
+that policy setting will not affect the caller by default.  Both commands accept
+an optional \fBNO_POLICY_SCOPE\fP keyword to control this behavior.
+.sp
+The \fBCMAKE_MINIMUM_REQUIRED_VERSION\fP variable may also be used
+to determine whether to report an error on use of deprecated macros or
+functions.
+.SH ALL POLICIES
+.SS CMP0000
+.sp
+A minimum required CMake version must be specified.
+.sp
+CMake requires that projects specify the version of CMake to which
+they have been written.  This policy has been put in place so users
+trying to build the project may be told when they need to update their
+CMake.  Specifying a version also helps the project build with CMake
+versions newer than that specified.  Use the cmake_minimum_required
+command at the top of your main CMakeLists.txt file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_minimum_required(VERSION <major>.<minor>)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where "<major>.<minor>" is the version of CMake you want to support
+(such as "2.6").  The command will ensure that at least the given
+version of CMake is running and help newer versions be compatible with
+the project.  See documentation of cmake_minimum_required for details.
+.sp
+Note that the command invocation must appear in the CMakeLists.txt
+file itself; a call in an included file is not sufficient.  However,
+the cmake_policy command may be called to set policy CMP0000 to OLD or
+NEW behavior explicitly.  The OLD behavior is to silently ignore the
+missing invocation.  The NEW behavior is to issue an error instead of
+a warning.  An included file may set CMP0000 explicitly to affect how
+this policy is enforced for the main CMakeLists.txt file.
+.sp
+This policy was introduced in CMake version 2.6.0.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0001
+.sp
+CMAKE_BACKWARDS_COMPATIBILITY should no longer be used.
+.sp
+The OLD behavior is to check CMAKE_BACKWARDS_COMPATIBILITY and present
+it to the user.  The NEW behavior is to ignore
+CMAKE_BACKWARDS_COMPATIBILITY completely.
+.sp
+In CMake 2.4 and below the variable CMAKE_BACKWARDS_COMPATIBILITY was
+used to request compatibility with earlier versions of CMake.  In
+CMake 2.6 and above all compatibility issues are handled by policies
+and the cmake_policy command.  However, CMake must still check
+CMAKE_BACKWARDS_COMPATIBILITY for projects written for CMake 2.4 and
+below.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0002
+.sp
+Logical target names must be globally unique.
+.sp
+Targets names created with add_executable, add_library, or
+add_custom_target are logical build target names.  Logical target
+names must be globally unique because:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\- Unique names may be referenced unambiguously both in CMake
+  code and on make tool command lines.
+\- Logical names are used by Xcode and VS IDE generators
+  to produce meaningful project names for the targets.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The logical name of executable and library targets does not have to
+correspond to the physical file names built.  Consider using the
+OUTPUT_NAME target property to create two targets with the same
+physical name while keeping logical names distinct.  Custom targets
+must simply have globally unique names (unless one uses the global
+property ALLOW_DUPLICATE_CUSTOM_TARGETS with a Makefiles generator).
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0003
+.sp
+Libraries linked via full path no longer produce linker search paths.
+.sp
+This policy affects how libraries whose full paths are NOT known are
+found at link time, but was created due to a change in how CMake deals
+with libraries whose full paths are known.  Consider the code
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myexe /path/to/libA.so)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake 2.4 and below implemented linking to libraries whose full paths
+are known by splitting them on the link line into separate components
+consisting of the linker search path and the library name.  The
+example code might have produced something like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... \-L/path/to \-lA ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+in order to link to library A.  An analysis was performed to order
+multiple link directories such that the linker would find library A in
+the desired location, but there are cases in which this does not work.
+CMake versions 2.6 and above use the more reliable approach of passing
+the full path to libraries directly to the linker in most cases.  The
+example code now produces something like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... /path/to/libA.so ....
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Unfortunately this change can break code like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myexe /path/to/libA.so B)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where "B" is meant to find "/path/to/libB.so".  This code is wrong
+because the user is asking the linker to find library B but has not
+provided a linker search path (which may be added with the
+link_directories command).  However, with the old linking
+implementation the code would work accidentally because the linker
+search path added for library A allowed library B to be found.
+.sp
+In order to support projects depending on linker search paths added by
+linking to libraries with known full paths, the OLD behavior for this
+policy will add the linker search paths even though they are not
+needed for their own libraries.  When this policy is set to OLD, CMake
+will produce a link line such as
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... \-L/path/to /path/to/libA.so \-lB ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which will allow library B to be found as it was previously.  When
+this policy is set to NEW, CMake will produce a link line such as
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&... /path/to/libA.so \-lB ...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+which more accurately matches what the project specified.
+.sp
+The setting for this policy used when generating the link line is that
+in effect when the target is created by an add_executable or
+add_library command.  For the example described above, the code
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(SET CMP0003 OLD) # or cmake_policy(VERSION 2.4)
+add_executable(myexe myexe.c)
+target_link_libraries(myexe /path/to/libA.so B)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will work and suppress the warning for this policy.  It may also be
+updated to work with the corrected linking approach:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+cmake_policy(SET CMP0003 NEW) # or cmake_policy(VERSION 2.6)
+link_directories(/path/to) # needed to find library B
+add_executable(myexe myexe.c)
+target_link_libraries(myexe /path/to/libA.so B)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Even better, library B may be specified with a full path:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(myexe myexe.c)
+target_link_libraries(myexe /path/to/libA.so /path/to/libB.so)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+When all items on the link line have known paths CMake does not check
+this policy so it has no effect.
+.sp
+Note that the warning for this policy will be issued for at most one
+target.  This avoids flooding users with messages for every target
+when setting the policy once will probably fix all targets.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0004
+.sp
+Libraries linked may not have leading or trailing whitespace.
+.sp
+CMake versions 2.4 and below silently removed leading and trailing
+whitespace from libraries linked with code like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myexe " A ")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This could lead to subtle errors in user projects.
+.sp
+The OLD behavior for this policy is to silently remove leading and
+trailing whitespace.  The NEW behavior for this policy is to diagnose
+the existence of such whitespace as an error.  The setting for this
+policy used when checking the library names is that in effect when the
+target is created by an add_executable or add_library command.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0005
+.sp
+Preprocessor definition values are now escaped automatically.
+.sp
+This policy determines whether or not CMake should generate escaped
+preprocessor definition values added via add_definitions.  CMake
+versions 2.4 and below assumed that only trivial values would be given
+for macros in add_definitions calls.  It did not attempt to escape
+non\-trivial values such as string literals in generated build rules.
+CMake versions 2.6 and above support escaping of most values, but
+cannot assume the user has not added escapes already in an attempt to
+work around limitations in earlier versions.
+.sp
+The OLD behavior for this policy is to place definition values given
+to add_definitions directly in the generated build rules without
+attempting to escape anything.  The NEW behavior for this policy is to
+generate correct escapes for all native build tools automatically.
+See documentation of the COMPILE_DEFINITIONS target property for
+limitations of the escaping implementation.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0006
+.sp
+Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION.
+.sp
+This policy determines whether the install(TARGETS) command must be
+given a BUNDLE DESTINATION when asked to install a target with the
+MACOSX_BUNDLE property set.  CMake 2.4 and below did not distinguish
+application bundles from normal executables when installing targets.
+CMake 2.6 provides a BUNDLE option to the install(TARGETS) command
+that specifies rules specific to application bundles on the Mac.
+Projects should use this option when installing a target with the
+MACOSX_BUNDLE property set.
+.sp
+The OLD behavior for this policy is to fall back to the RUNTIME
+DESTINATION if a BUNDLE DESTINATION is not given.  The NEW behavior
+for this policy is to produce an error if a bundle target is installed
+without a BUNDLE DESTINATION.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0007
+.sp
+list command no longer ignores empty elements.
+.sp
+This policy determines whether the list command will ignore empty
+elements in the list.  CMake 2.4 and below list commands ignored all
+empty elements in the list.  For example, a;b;;c would have length 3
+and not 4.  The OLD behavior for this policy is to ignore empty list
+elements.  The NEW behavior for this policy is to correctly count
+empty elements in a list.
+.sp
+This policy was introduced in CMake version 2.6.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0008
+.sp
+Libraries linked by full\-path must have a valid library file name.
+.sp
+In CMake 2.4 and below it is possible to write code like
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(myexe /full/path/to/somelib)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where "somelib" is supposed to be a valid library file name such as
+"libsomelib.a" or "somelib.lib".  For Makefile generators this
+produces an error at build time because the dependency on the full
+path cannot be found.  For VS IDE and Xcode generators this used to
+work by accident because CMake would always split off the library
+directory and ask the linker to search for the library by name
+(\-lsomelib or somelib.lib).  Despite the failure with Makefiles, some
+projects have code like this and build only with VS and/or Xcode.
+This version of CMake prefers to pass the full path directly to the
+native build tool, which will fail in this case because it does not
+name a valid library file.
+.sp
+This policy determines what to do with full paths that do not appear
+to name a valid library file.  The OLD behavior for this policy is to
+split the library name from the path and ask the linker to search for
+it.  The NEW behavior for this policy is to trust the given path and
+pass it directly to the native build tool unchanged.
+.sp
+This policy was introduced in CMake version 2.6.1.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0009
+.sp
+FILE GLOB_RECURSE calls should not follow symlinks by default.
+.sp
+In CMake 2.6.1 and below, FILE GLOB_RECURSE calls would follow through
+symlinks, sometimes coming up with unexpectedly large result sets
+because of symlinks to top level directories that contain hundreds of
+thousands of files.
+.sp
+This policy determines whether or not to follow symlinks encountered
+during a FILE GLOB_RECURSE call.  The OLD behavior for this policy is
+to follow the symlinks.  The NEW behavior for this policy is not to
+follow the symlinks by default, but only if FOLLOW_SYMLINKS is given
+as an additional argument to the FILE command.
+.sp
+This policy was introduced in CMake version 2.6.2.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0010
+.sp
+Bad variable reference syntax is an error.
+.sp
+In CMake 2.6.2 and below, incorrect variable reference syntax such as
+a missing close\-brace ("${FOO") was reported but did not stop
+processing of CMake code.  This policy determines whether a bad
+variable reference is an error.  The OLD behavior for this policy is
+to warn about the error, leave the string untouched, and continue.
+The NEW behavior for this policy is to report an error.
+.sp
+If \fBCMP0053\fP is set to \fBNEW\fP, this policy has no effect
+and is treated as always being \fBNEW\fP\&.
+.sp
+This policy was introduced in CMake version 2.6.3.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0011
+.sp
+Included scripts do automatic cmake_policy PUSH and POP.
+.sp
+In CMake 2.6.2 and below, CMake Policy settings in scripts loaded by
+the include() and find_package() commands would affect the includer.
+Explicit invocations of cmake_policy(PUSH) and cmake_policy(POP) were
+required to isolate policy changes and protect the includer.  While
+some scripts intend to affect the policies of their includer, most do
+not.  In CMake 2.6.3 and above, include() and find_package() by
+default PUSH and POP an entry on the policy stack around an included
+script, but provide a NO_POLICY_SCOPE option to disable it.  This
+policy determines whether or not to imply NO_POLICY_SCOPE for
+compatibility.  The OLD behavior for this policy is to imply
+NO_POLICY_SCOPE for include() and find_package() commands.  The NEW
+behavior for this policy is to allow the commands to do their default
+cmake_policy PUSH and POP.
+.sp
+This policy was introduced in CMake version 2.6.3.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0012
+.sp
+if() recognizes numbers and boolean constants.
+.sp
+In CMake versions 2.6.4 and lower the if() command implicitly
+dereferenced arguments corresponding to variables, even those named
+like numbers or boolean constants, except for 0 and 1.  Numbers and
+boolean constants such as true, false, yes, no, on, off, y, n,
+notfound, ignore (all case insensitive) were recognized in some cases
+but not all.  For example, the code "if(TRUE)" might have evaluated as
+false.  Numbers such as 2 were recognized only in boolean expressions
+like "if(NOT 2)" (leading to false) but not as a single\-argument like
+"if(2)" (also leading to false).  Later versions of CMake prefer to
+treat numbers and boolean constants literally, so they should not be
+used as variable names.
+.sp
+The OLD behavior for this policy is to implicitly dereference
+variables named like numbers and boolean constants.  The NEW behavior
+for this policy is to recognize numbers and boolean constants without
+dereferencing variables with such names.
+.sp
+This policy was introduced in CMake version 2.8.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0013
+.sp
+Duplicate binary directories are not allowed.
+.sp
+CMake 2.6.3 and below silently permitted add_subdirectory() calls to
+create the same binary directory multiple times.  During build system
+generation files would be written and then overwritten in the build
+tree and could lead to strange behavior.  CMake 2.6.4 and above
+explicitly detect duplicate binary directories.  CMake 2.6.4 always
+considers this case an error.  In CMake 2.8.0 and above this policy
+determines whether or not the case is an error.  The OLD behavior for
+this policy is to allow duplicate binary directories.  The NEW
+behavior for this policy is to disallow duplicate binary directories
+with an error.
+.sp
+This policy was introduced in CMake version 2.8.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0014
+.sp
+Input directories must have CMakeLists.txt.
+.sp
+CMake versions before 2.8 silently ignored missing CMakeLists.txt
+files in directories referenced by add_subdirectory() or subdirs(),
+treating them as if present but empty.  In CMake 2.8.0 and above this
+policy determines whether or not the case is an error.  The OLD
+behavior for this policy is to silently ignore the problem.  The NEW
+behavior for this policy is to report an error.
+.sp
+This policy was introduced in CMake version 2.8.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0015
+.sp
+link_directories() treats paths relative to the source dir.
+.sp
+In CMake 2.8.0 and lower the link_directories() command passed
+relative paths unchanged to the linker.  In CMake 2.8.1 and above the
+link_directories() command prefers to interpret relative paths with
+respect to CMAKE_CURRENT_SOURCE_DIR, which is consistent with
+include_directories() and other commands.  The OLD behavior for this
+policy is to use relative paths verbatim in the linker command.  The
+NEW behavior for this policy is to convert relative paths to absolute
+paths by appending the relative path to CMAKE_CURRENT_SOURCE_DIR.
+.sp
+This policy was introduced in CMake version 2.8.1.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0016
+.sp
+target_link_libraries() reports error if its only argument is not a target.
+.sp
+In CMake 2.8.2 and lower the target_link_libraries() command silently
+ignored if it was called with only one argument, and this argument
+wasn\(aqt a valid target.  In CMake 2.8.3 and above it reports an error
+in this case.
+.sp
+This policy was introduced in CMake version 2.8.3.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0017
+.sp
+Prefer files from the CMake module directory when including from there.
+.sp
+Starting with CMake 2.8.4, if a cmake\-module shipped with CMake (i.e.
+located in the CMake module directory) calls include() or
+find_package(), the files located in the CMake module directory are
+preferred over the files in CMAKE_MODULE_PATH.  This makes sure that
+the modules belonging to CMake always get those files included which
+they expect, and against which they were developed and tested.  In all
+other cases, the files found in CMAKE_MODULE_PATH still take
+precedence over the ones in the CMake module directory.  The OLD
+behavior is to always prefer files from CMAKE_MODULE_PATH over files
+from the CMake modules directory.
+.sp
+This policy was introduced in CMake version 2.8.4.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0018
+.sp
+Ignore CMAKE_SHARED_LIBRARY_<Lang>_FLAGS variable.
+.sp
+CMake 2.8.8 and lower compiled sources in SHARED and MODULE libraries
+using the value of the undocumented CMAKE_SHARED_LIBRARY_<Lang>_FLAGS
+platform variable.  The variable contained platform\-specific flags
+needed to compile objects for shared libraries.  Typically it included
+a flag such as \-fPIC for position independent code but also included
+other flags needed on certain platforms.  CMake 2.8.9 and higher
+prefer instead to use the POSITION_INDEPENDENT_CODE target property to
+determine what targets should be position independent, and new
+undocumented platform variables to select flags while ignoring
+CMAKE_SHARED_LIBRARY_<Lang>_FLAGS completely.
+.sp
+The default for either approach produces identical compilation flags,
+but if a project modifies CMAKE_SHARED_LIBRARY_<Lang>_FLAGS from its
+original value this policy determines which approach to use.
+.sp
+The OLD behavior for this policy is to ignore the
+POSITION_INDEPENDENT_CODE property for all targets and use the
+modified value of CMAKE_SHARED_LIBRARY_<Lang>_FLAGS for SHARED and
+MODULE libraries.
+.sp
+The NEW behavior for this policy is to ignore
+CMAKE_SHARED_LIBRARY_<Lang>_FLAGS whether it is modified or not and
+honor the POSITION_INDEPENDENT_CODE target property.
+.sp
+This policy was introduced in CMake version 2.8.9.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0019
+.sp
+Do not re\-expand variables in include and link information.
+.sp
+CMake 2.8.10 and lower re\-evaluated values given to the
+include_directories, link_directories, and link_libraries commands to
+expand any leftover variable references at the end of the
+configuration step.  This was for strict compatibility with VERY early
+CMake versions because all variable references are now normally
+evaluated during CMake language processing.  CMake 2.8.11 and higher
+prefer to skip the extra evaluation.
+.sp
+The OLD behavior for this policy is to re\-evaluate the values for
+strict compatibility.  The NEW behavior for this policy is to leave
+the values untouched.
+.sp
+This policy was introduced in CMake version 2.8.11.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0020
+.sp
+Automatically link Qt executables to qtmain target on Windows.
+.sp
+CMake 2.8.10 and lower required users of Qt to always specify a link
+dependency to the qtmain.lib static library manually on Windows.
+CMake 2.8.11 gained the ability to evaluate generator expressions
+while determining the link dependencies from IMPORTED targets.  This
+allows CMake itself to automatically link executables which link to Qt
+to the qtmain.lib library when using IMPORTED Qt targets.  For
+applications already linking to qtmain.lib, this should have little
+impact.  For applications which supply their own alternative WinMain
+implementation and for applications which use the QAxServer library,
+this automatic linking will need to be disabled as per the
+documentation.
+.sp
+The OLD behavior for this policy is not to link executables to
+qtmain.lib automatically when they link to the QtCore IMPORTED target.
+The NEW behavior for this policy is to link executables to qtmain.lib
+automatically when they link to QtCore IMPORTED target.
+.sp
+This policy was introduced in CMake version 2.8.11.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0021
+.sp
+Fatal error on relative paths in INCLUDE_DIRECTORIES target property.
+.sp
+CMake 2.8.10.2 and lower allowed the INCLUDE_DIRECTORIES target
+property to contain relative paths.  The base path for such relative
+entries is not well defined.  CMake 2.8.12 issues a FATAL_ERROR if the
+INCLUDE_DIRECTORIES property contains a relative path.
+.sp
+The OLD behavior for this policy is not to warn about relative paths
+in the INCLUDE_DIRECTORIES target property.  The NEW behavior for this
+policy is to issue a FATAL_ERROR if INCLUDE_DIRECTORIES contains a
+relative path.
+.sp
+This policy was introduced in CMake version 2.8.12.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0022
+.sp
+INTERFACE_LINK_LIBRARIES defines the link interface.
+.sp
+CMake 2.8.11 constructed the \(aqlink interface\(aq of a target from
+properties matching \fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP\&.
+The modern way to specify config\-sensitive content is to use generator
+expressions and the \fBIMPORTED_\fP prefix makes uniform processing of the
+link interface with generator expressions impossible.  The
+INTERFACE_LINK_LIBRARIES target property was introduced as a
+replacement in CMake 2.8.12.  This new property is named consistently
+with the INTERFACE_COMPILE_DEFINITIONS, INTERFACE_INCLUDE_DIRECTORIES
+and INTERFACE_COMPILE_OPTIONS properties.  For in\-build targets, CMake
+will use the INTERFACE_LINK_LIBRARIES property as the source of the
+link interface only if policy CMP0022 is NEW.  When exporting a target
+which has this policy set to NEW, only the INTERFACE_LINK_LIBRARIES
+property will be processed and generated for the IMPORTED target by
+default.  A new option to the install(EXPORT) and export commands
+allows export of the old\-style properties for compatibility with
+downstream users of CMake versions older than 2.8.12.  The
+target_link_libraries command will no longer populate the properties
+matching LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if this policy is NEW.
+.sp
+Warning\-free future\-compatible code which works with CMake 2.8.7 onwards
+can be written by using the \fBLINK_PRIVATE\fP and \fBLINK_PUBLIC\fP keywords
+of \fBtarget_link_libraries()\fP\&.
+.sp
+The OLD behavior for this policy is to ignore the
+INTERFACE_LINK_LIBRARIES property for in\-build targets.  The NEW
+behavior for this policy is to use the INTERFACE_LINK_LIBRARIES
+property for in\-build targets, and ignore the old properties matching
+\fB(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?\fP\&.
+.sp
+This policy was introduced in CMake version 2.8.12.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0023
+.sp
+Plain and keyword target_link_libraries signatures cannot be mixed.
+.sp
+CMake 2.8.12 introduced the target_link_libraries signature using the
+PUBLIC, PRIVATE, and INTERFACE keywords to generalize the LINK_PUBLIC
+and LINK_PRIVATE keywords introduced in CMake 2.8.7.  Use of
+signatures with any of these keywords sets the link interface of a
+target explicitly, even if empty.  This produces confusing behavior
+when used in combination with the historical behavior of the plain
+target_link_libraries signature.  For example, consider the code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_link_libraries(mylib A)
+target_link_libraries(mylib PRIVATE B)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+After the first line the link interface has not been set explicitly so
+CMake would use the link implementation, A, as the link interface.
+However, the second line sets the link interface to empty.  In order
+to avoid this subtle behavior CMake now prefers to disallow mixing the
+plain and keyword signatures of target_link_libraries for a single
+target.
+.sp
+The OLD behavior for this policy is to allow keyword and plain
+target_link_libraries signatures to be mixed.  The NEW behavior for
+this policy is to not to allow mixing of the keyword and plain
+signatures.
+.sp
+This policy was introduced in CMake version 2.8.12.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0024
+.sp
+Disallow include export result.
+.sp
+CMake 2.8.12 and lower allowed use of the include() command with the
+result of the export() command.  This relies on the assumption that
+the export() command has an immediate effect at configure\-time during
+a cmake run.  Certain properties of targets are not fully determined
+until later at generate\-time, such as the link language and complete
+list of link libraries.  Future refactoring will change the effect of
+the export() command to be executed at generate\-time.  Use ALIAS
+targets instead in cases where the goal is to refer to targets by
+another name.
+.sp
+The OLD behavior for this policy is to allow including the result of
+an export() command.  The NEW behavior for this policy is not to
+allow including the result of an export() command.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0025
+.sp
+Compiler id for Apple Clang is now \fBAppleClang\fP\&.
+.sp
+CMake 3.0 and above recognize that Apple Clang is a different compiler
+than upstream Clang and that they have different version numbers.
+CMake now prefers to present this to projects by setting the
+\fBCMAKE_<LANG>_COMPILER_ID\fP variable to \fBAppleClang\fP instead
+of \fBClang\fP\&.  However, existing projects may assume the compiler id for
+Apple Clang is just \fBClang\fP as it was in CMake versions prior to 3.0.
+Therefore this policy determines for Apple Clang which compiler id to
+report in the \fBCMAKE_<LANG>_COMPILER_ID\fP variable after
+language \fB<LANG>\fP is enabled by the \fBproject()\fP or
+\fBenable_language()\fP command.  The policy must be set prior
+to the invocation of either command.
+.sp
+The OLD behavior for this policy is to use compiler id \fBClang\fP\&.  The
+NEW behavior for this policy is to use compiler id \fBAppleClang\fP\&.
+.sp
+This policy was introduced in CMake version 3.0.  Use the
+\fBcmake_policy()\fP command to set this policy to OLD or NEW explicitly.
+Unlike most policies, CMake version 3.3.2 does \fInot\fP warn
+by default when this policy is not set and simply uses OLD behavior.
+See documentation of the
+\fBCMAKE_POLICY_WARNING_CMP0025\fP
+variable to control the warning.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0026
+.sp
+Disallow use of the LOCATION property for build targets.
+.sp
+CMake 2.8.12 and lower allowed reading the LOCATION target
+property (and configuration\-specific variants) to
+determine the eventual location of build targets.  This relies on the
+assumption that all necessary information is available at
+configure\-time to determine the final location and filename of the
+target.  However, this property is not fully determined until later at
+generate\-time.  At generate time, the $<TARGET_FILE> generator
+expression can be used to determine the eventual LOCATION of a target
+output.
+.sp
+Code which reads the LOCATION target property can be ported to use the
+$<TARGET_FILE> generator expression together with the file(GENERATE)
+subcommand to generate a file containing the target location.
+.sp
+The OLD behavior for this policy is to allow reading the LOCATION
+properties from build\-targets.  The NEW behavior for this policy is to
+not to allow reading the LOCATION properties from build\-targets.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0027
+.sp
+Conditionally linked imported targets with missing include directories.
+.sp
+CMake 2.8.11 introduced introduced the concept of
+INTERFACE_INCLUDE_DIRECTORIES, and a check at cmake time that the
+entries in the INTERFACE_INCLUDE_DIRECTORIES of an IMPORTED target
+actually exist.  CMake 2.8.11 also introduced generator expression
+support in the target_link_libraries command.  However, if an imported
+target is linked as a result of a generator expression evaluation, the
+entries in the INTERFACE_INCLUDE_DIRECTORIES of that target were not
+checked for existence as they should be.
+.sp
+The OLD behavior of this policy is to report a warning if an entry in
+the INTERFACE_INCLUDE_DIRECTORIES of a generator\-expression
+conditionally linked IMPORTED target does not exist.
+.sp
+The NEW behavior of this policy is to report an error if an entry in
+the INTERFACE_INCLUDE_DIRECTORIES of a generator\-expression
+conditionally linked IMPORTED target does not exist.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0028
+.sp
+Double colon in target name means ALIAS or IMPORTED target.
+.sp
+CMake 2.8.12 and lower allowed the use of targets and files with double
+colons in target_link_libraries, with some buildsystem generators.
+.sp
+The use of double\-colons is a common pattern used to namespace IMPORTED
+targets and ALIAS targets.  When computing the link dependencies of a target,
+the name of each dependency could either be a target, or a file on disk.
+Previously, if a target was not found with a matching name, the name was
+considered to refer to a file on disk.  This can lead to confusing error
+messages if there is a typo in what should be a target name.
+.sp
+The OLD behavior for this policy is to search for targets, then files on disk,
+even if the search term contains double\-colons.  The NEW behavior for this
+policy is to issue a FATAL_ERROR if a link dependency contains
+double\-colons but is not an IMPORTED target or an ALIAS target.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0029
+.sp
+The \fBsubdir_depends()\fP command should not be called.
+.sp
+The implementation of this command has been empty since December 2001
+but was kept in CMake for compatibility for a long time.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0030
+.sp
+The \fBuse_mangled_mesa()\fP command should not be called.
+.sp
+This command was created in September 2001 to support VTK before
+modern CMake language and custom command capabilities.  VTK has
+not used it in years.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0031
+.sp
+The \fBload_command()\fP command should not be called.
+.sp
+This command was added in August 2002 to allow projects to add
+arbitrary commands implemented in C or C++.  However, it does
+not work when the toolchain in use does not match the ABI of
+the CMake process.  It has been mostly superseded by the
+\fBmacro()\fP and \fBfunction()\fP commands.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0032
+.sp
+The \fBoutput_required_files()\fP command should not be called.
+.sp
+This command was added in June 2001 to expose the then\-current CMake
+implicit dependency scanner.  CMake\(aqs real implicit dependency scanner
+has evolved since then but is not exposed through this command.  The
+scanning capabilities of this command are very limited and this
+functionality is better achieved through dedicated outside tools.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0033
+.sp
+The \fBexport_library_dependencies()\fP command should not be called.
+.sp
+This command was added in January 2003 to export \fB<tgt>_LIB_DEPENDS\fP
+internal CMake cache entries to a file for installation with a project.
+This was used at the time to allow transitive link dependencies to
+work for applications outside of the original build tree of a project.
+The functionality has been superseded by the \fBexport()\fP and
+\fBinstall(EXPORT)\fP commands.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0034
+.sp
+The \fButility_source()\fP command should not be called.
+.sp
+This command was introduced in March 2001 to help build executables used to
+generate other files.  This approach has long been replaced by
+\fBadd_executable()\fP combined with \fBadd_custom_command()\fP\&.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0035
+.sp
+The \fBvariable_requires()\fP command should not be called.
+.sp
+This command was introduced in November 2001 to perform some conditional
+logic.  It has long been replaced by the \fBif()\fP command.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0036
+.sp
+The \fBbuild_name()\fP command should not be called.
+.sp
+This command was added in May 2001 to compute a name for the current
+operating system and compiler combination.  The command has long been
+documented as discouraged and replaced by the \fBCMAKE_SYSTEM\fP
+and \fBCMAKE_<LANG>_COMPILER\fP variables.
+.sp
+CMake >= 3.0 prefer that this command never be called.
+The OLD behavior for this policy is to allow the command to be called.
+The NEW behavior for this policy is to issue a FATAL_ERROR when the
+command is called.
+.sp
+This policy was introduced in CMake version 3.0\&.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0037
+.sp
+Target names should not be reserved and should match a validity pattern.
+.sp
+CMake 2.8.12 and lower allowed creating targets using \fBadd_library()\fP,
+\fBadd_executable()\fP and \fBadd_custom_target()\fP with unrestricted
+choice for the target name.  Newer cmake features such
+as \fBcmake\-generator\-expressions(7)\fP and some
+diagnostics expect target names to match a restricted pattern.
+.sp
+Target names may contain upper and lower case letters, numbers, the underscore
+character (_), dot(.), plus(+) and minus(\-).  As a special case, ALIAS
+targets and IMPORTED targets may contain two consequtive colons.
+.sp
+Target names reserved by one or more CMake generators are not allowed.
+Among others these include "all", "help" and "test".
+.sp
+The OLD behavior for this policy is to allow creating targets with
+reserved names or which do not match the validity pattern.
+The NEW behavior for this policy is to report an error
+if an add_* command is used with an invalid target name.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0038
+.sp
+Targets may not link directly to themselves.
+.sp
+CMake 2.8.12 and lower allowed a build target to link to itself directly with
+a \fBtarget_link_libraries()\fP call. This is an indicator of a bug in
+user code.
+.sp
+The OLD behavior for this policy is to ignore targets which list themselves
+in their own link implementation.  The NEW behavior for this policy is to
+report an error if a target attempts to link to itself.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0039
+.sp
+Utility targets may not have link dependencies.
+.sp
+CMake 2.8.12 and lower allowed using utility targets in the left hand side
+position of the \fBtarget_link_libraries()\fP command. This is an indicator
+of a bug in user code.
+.sp
+The OLD behavior for this policy is to ignore attempts to set the link
+libraries of utility targets.  The NEW behavior for this policy is to
+report an error if an attempt is made to set the link libraries of a
+utility target.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0040
+.sp
+The target in the TARGET signature of add_custom_command() must exist.
+.sp
+CMake 2.8.12 and lower silently ignored a custom command created with
+the TARGET signature of \fBadd_custom_command()\fP
+if the target is unknown.
+.sp
+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 \fBadd_custom_command()\fP is unknown.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0041
+.sp
+Error on relative include with generator expression.
+.sp
+Diagnostics in CMake 2.8.12 and lower silently ignored an entry in the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of a target if it contained a generator
+expression at any position.
+.sp
+The path entries in that target property should not be relative. High\-level
+API should ensure that by adding either a source directory or a install
+directory prefix, as appropriate.
+.sp
+As an additional diagnostic, the \fBINTERFACE_INCLUDE_DIRECTORIES\fP generated
+on an \fBIMPORTED\fP target for the install location should not contain
+paths in the source directory or the build directory.
+.sp
+The OLD behavior for this policy is to ignore relative path entries if they
+contain a generator expression. The NEW behavior for this policy is to report
+an error if a generator expression appears in another location and the path is
+relative.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0042
+.sp
+\fBMACOSX_RPATH\fP is enabled by default.
+.sp
+CMake 2.8.12 and newer has support for using \fB@rpath\fP in a target\(aqs install
+name.  This was enabled by setting the target property
+\fBMACOSX_RPATH\fP\&.  The \fB@rpath\fP in an install name is a more
+flexible and powerful mechanism than \fB@executable_path\fP or \fB@loader_path\fP
+for locating shared libraries.
+.sp
+CMake 3.0 and later prefer this property to be ON by default.  Projects
+wanting \fB@rpath\fP in a target\(aqs install name may remove any setting of
+the \fBINSTALL_NAME_DIR\fP and \fBCMAKE_INSTALL_NAME_DIR\fP
+variables.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0043
+.sp
+Ignore COMPILE_DEFINITIONS_<Config> properties
+.sp
+CMake 2.8.12 and lower allowed setting the
+\fBCOMPILE_DEFINITIONS_<CONFIG>\fP target property and
+\fBCOMPILE_DEFINITIONS_<CONFIG>\fP directory property to apply
+configuration\-specific compile definitions.
+.sp
+Since CMake 2.8.10, the \fBCOMPILE_DEFINITIONS\fP property has supported
+\fBgenerator expressions\fP for setting
+configuration\-dependent content.  The continued existence of the suffixed
+variables is redundant, and causes a maintenance burden.  Population of the
+\fBCOMPILE_DEFINITIONS_DEBUG\fP property
+may be replaced with a population of \fBCOMPILE_DEFINITIONS\fP directly
+or via \fBtarget_compile_definitions()\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# Old Interfaces:
+set_property(TARGET tgt APPEND PROPERTY
+  COMPILE_DEFINITIONS_DEBUG DEBUG_MODE
+)
+set_property(DIRECTORY APPEND PROPERTY
+  COMPILE_DEFINITIONS_DEBUG DIR_DEBUG_MODE
+)
+
+# New Interfaces:
+set_property(TARGET tgt APPEND PROPERTY
+  COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUG_MODE>
+)
+target_compile_definitions(tgt PRIVATE $<$<CONFIG:Debug>:DEBUG_MODE>)
+set_property(DIRECTORY APPEND PROPERTY
+  COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DIR_DEBUG_MODE>
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The OLD behavior for this policy is to consume the content of the suffixed
+\fBCOMPILE_DEFINITIONS_<CONFIG>\fP target property when generating the
+compilation command. The NEW behavior for this policy is to ignore the content
+of the \fBCOMPILE_DEFINITIONS_<CONFIG>\fP target property .
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0044
+.sp
+Case sensitive \fB<LANG>_COMPILER_ID\fP generator expressions
+.sp
+CMake 2.8.12 introduced the \fB<LANG>_COMPILER_ID\fP
+\fBgenerator expressions\fP to allow
+comparison of the \fBCMAKE_<LANG>_COMPILER_ID\fP with a test value.  The
+possible valid values are lowercase, but the comparison with the test value
+was performed case\-insensitively.
+.sp
+The OLD behavior for this policy is to perform a case\-insensitive comparison
+with the value in the \fB<LANG>_COMPILER_ID\fP expression. The NEW behavior
+for this policy is to perform a case\-sensitive comparison with the value in
+the \fB<LANG>_COMPILER_ID\fP expression.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0045
+.sp
+Error on non\-existent target in get_target_property.
+.sp
+In CMake 2.8.12 and lower, the \fBget_target_property()\fP command accepted
+a non\-existent target argument without issuing any error or warning.  The
+result variable is set to a \fB\-NOTFOUND\fP value.
+.sp
+The OLD behavior for this policy is to issue no warning and set the result
+variable to a \fB\-NOTFOUND\fP value.  The NEW behavior
+for this policy is to issue a \fBFATAL_ERROR\fP if the command is called with a
+non\-existent target.
+.sp
+This policy was introduced in CMake version 3.0.  CMake version
+3.3.2 warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0046
+.sp
+Error on non\-existent dependency in add_dependencies.
+.sp
+CMake 2.8.12 and lower silently ignored non\-existent dependencies
+listed in the \fBadd_dependencies()\fP command.
+.sp
+The OLD behavior for this policy is to silently ignore non\-existent
+dependencies. The NEW behavior for this policy is to report an error
+if non\-existent dependencies are listed in the \fBadd_dependencies()\fP
+command.
+.sp
+This policy was introduced in CMake version 3.0.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0047
+.sp
+Use \fBQCC\fP compiler id for the qcc drivers on QNX.
+.sp
+CMake 3.0 and above recognize that the QNX qcc compiler driver is
+different from the GNU compiler.
+CMake now prefers to present this to projects by setting the
+\fBCMAKE_<LANG>_COMPILER_ID\fP variable to \fBQCC\fP instead
+of \fBGNU\fP\&.  However, existing projects may assume the compiler id for
+QNX qcc is just \fBGNU\fP as it was in CMake versions prior to 3.0.
+Therefore this policy determines for QNX qcc which compiler id to
+report in the \fBCMAKE_<LANG>_COMPILER_ID\fP variable after
+language \fB<LANG>\fP is enabled by the \fBproject()\fP or
+\fBenable_language()\fP command.  The policy must be set prior
+to the invocation of either command.
+.sp
+The OLD behavior for this policy is to use the \fBGNU\fP compiler id
+for the qcc and QCC compiler drivers. The NEW behavior for this policy
+is to use the \fBQCC\fP compiler id for those drivers.
+.sp
+This policy was introduced in CMake version 3.0.  Use the
+\fBcmake_policy()\fP command to set this policy to OLD or NEW explicitly.
+Unlike most policies, CMake version 3.3.2 does \fInot\fP warn
+by default when this policy is not set and simply uses OLD behavior.
+See documentation of the
+\fBCMAKE_POLICY_WARNING_CMP0047\fP
+variable to control the warning.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0048
+.sp
+The \fBproject()\fP command manages VERSION variables.
+.sp
+CMake version 3.0 introduced the \fBVERSION\fP option of the \fBproject()\fP
+command to specify a project version as well as the name.  In order to keep
+\fBPROJECT_VERSION\fP and related variables consistent with variable
+\fBPROJECT_NAME\fP it is necessary to set the VERSION variables
+to the empty string when no \fBVERSION\fP is given to \fBproject()\fP\&.
+However, this can change behavior for existing projects that set VERSION
+variables themselves since \fBproject()\fP may now clear them.
+This policy controls the behavior for compatibility with such projects.
+.sp
+The OLD behavior for this policy is to leave VERSION variables untouched.
+The NEW behavior for this policy is to set VERSION as documented by the
+\fBproject()\fP command.
+.sp
+This policy was introduced in CMake version 3.0.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0049
+.sp
+Do not expand variables in target source entries.
+.sp
+CMake 2.8.12 and lower performed and extra layer of variable expansion
+when evaluating source file names:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(a_source foo.c)
+add_executable(foo \e${a_source})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This was undocumented behavior.
+.sp
+The OLD behavior for this policy is to expand such variables when processing
+the target sources.  The NEW behavior for this policy is to issue an error
+if such variables need to be expanded.
+.sp
+This policy was introduced in CMake version 3.0.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0050
+.sp
+Disallow add_custom_command SOURCE signatures.
+.sp
+CMake 2.8.12 and lower allowed a signature for \fBadd_custom_command()\fP
+which specified an input to a command.  This was undocumented behavior.
+Modern use of CMake associates custom commands with their output, rather
+than their input.
+.sp
+The OLD behavior for this policy is to allow the use of
+\fBadd_custom_command()\fP SOURCE signatures.  The NEW behavior for this
+policy is to issue an error if such a signature is used.
+.sp
+This policy was introduced in CMake version 3.0.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0051
+.sp
+List TARGET_OBJECTS in SOURCES target property.
+.sp
+CMake 3.0 and lower did not include the \fBTARGET_OBJECTS\fP
+\fBgenerator expression\fP when
+returning the \fBSOURCES\fP target property.
+.sp
+Configure\-time CMake code is not able to handle generator expressions.  If
+using the \fBSOURCES\fP target property at configure time, it may be
+necessary to first remove generator expressions using the
+\fBstring(GENEX_STRIP)\fP command.  Generate\-time CMake code such as
+\fBfile(GENERATE)\fP can handle the content without stripping.
+.sp
+The \fBOLD\fP behavior for this policy is to omit \fBTARGET_OBJECTS\fP
+expressions from the \fBSOURCES\fP target property.  The \fBNEW\fP
+behavior for this policy is to include \fBTARGET_OBJECTS\fP expressions
+in the output.
+.sp
+This policy was introduced in CMake version 3.1.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set it
+to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0052
+.sp
+Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES.
+.sp
+CMake 3.0 and lower allowed subdirectories of the source directory or build
+directory to be in the \fBINTERFACE_INCLUDE_DIRECTORIES\fP of
+installed and exported targets, if the directory was also a subdirectory of
+the installation prefix.  This makes the installation depend on the
+existence of the source dir or binary dir, and the installation will be
+broken if either are removed after installation.
+.sp
+See Include Directories and Usage Requirements for more on
+specifying include directories for targets.
+.sp
+The OLD behavior for this policy is to export the content of the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP with the source or binary
+directory.  The NEW behavior for this
+policy is to issue an error if such a directory is used.
+.sp
+This policy was introduced in CMake version 3.1.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set it
+to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0053
+.sp
+Simplify variable reference and escape sequence evaluation.
+.sp
+CMake 3.1 introduced a much faster implementation of evaluation of the
+Variable References and Escape Sequences documented in the
+\fBcmake\-language(7)\fP manual.  While the behavior is identical
+to the legacy implementation in most cases, some corner cases were
+cleaned up to simplify the behavior.  Specifically:
+.INDENT 0.0
+.IP \(bu 2
+Expansion of \fB@VAR@\fP reference syntax defined by the
+\fBconfigure_file()\fP and \fBstring(CONFIGURE)\fP
+commands is no longer performed in other contexts.
+.IP \(bu 2
+Literal \fB${VAR}\fP reference syntax may contain only
+alphanumeric characters (\fBA\-Z\fP, \fBa\-z\fP, \fB0\-9\fP) and
+the characters \fB_\fP, \fB\&.\fP, \fB/\fP, \fB\-\fP, and \fB+\fP\&.
+Variables with other characters in their name may still
+be referenced indirectly, e.g.
+.INDENT 2.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(varname "otherwise & disallowed $ characters")
+message("${${varname}}")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.IP \(bu 2
+The setting of policy \fBCMP0010\fP is not considered,
+so improper variable reference syntax is always an error.
+.IP \(bu 2
+More characters are allowed to be escaped in variable names.
+Previously, only \fB()#" \e@^\fP were valid characters to
+escape. Now any non\-alphanumeric, non\-semicolon, non\-NUL
+character may be escaped following the \fBescape_identity\fP
+production in the Escape Sequences section of the
+\fBcmake\-language(7)\fP manual.
+.UNINDENT
+.sp
+The \fBOLD\fP behavior for this policy is to honor the legacy behavior for
+variable references and escape sequences.  The \fBNEW\fP behavior is to
+use the simpler variable expansion and escape sequence evaluation rules.
+.sp
+This policy was introduced in CMake version 3.1.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set
+it to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0054
+.sp
+Only interpret \fBif()\fP arguments as variables or keywords when unquoted.
+.sp
+CMake 3.1 and above no longer implicitly dereference variables or
+interpret keywords in an \fBif()\fP command argument when
+it is a Quoted Argument or a Bracket Argument\&.
+.sp
+The \fBOLD\fP behavior for this policy is to dereference variables and
+interpret keywords even if they are quoted or bracketed.
+The \fBNEW\fP behavior is to not dereference variables or interpret keywords
+that have been quoted or bracketed.
+.sp
+Given the following partial example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(A E)
+set(E "")
+
+if("${A}" STREQUAL "")
+  message("Result is TRUE before CMake 3.1 or when CMP0054 is OLD")
+else()
+  message("Result is FALSE in CMake 3.1 and above if CMP0054 is NEW")
+endif()
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+After explicit expansion of variables this gives:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if("E" STREQUAL "")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+With the policy set to \fBOLD\fP implicit expansion reduces this semantically to:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if("" STREQUAL "")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+With the policy set to \fBNEW\fP the quoted arguments will not be
+further dereferenced:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+if("E" STREQUAL "")
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This policy was introduced in CMake version 3.1.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set
+it to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0055
+.sp
+Strict checking for the \fBbreak()\fP command.
+.sp
+CMake 3.1 and lower allowed calls to the \fBbreak()\fP command
+outside of a loop context and also ignored any given arguments.
+This was undefined behavior.
+.sp
+The OLD behavior for this policy is to allow \fBbreak()\fP to be placed
+outside of loop contexts and ignores any arguments.  The NEW behavior for this
+policy is to issue an error if a misplaced break or any arguments are found.
+.sp
+This policy was introduced in CMake version 3.2.
+CMake version 3.3.2 warns when the policy is not set and uses
+OLD behavior.  Use the cmake_policy command to set it to OLD or
+NEW explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0056
+.sp
+Honor link flags in \fBtry_compile()\fP source\-file signature.
+.sp
+The \fBtry_compile()\fP command source\-file signature generates a
+\fBCMakeLists.txt\fP file to build the source file into an executable.
+In order to compile the source the same way as it might be compiled
+by the calling project, the generated project sets the value of the
+\fBCMAKE_<LANG>_FLAGS\fP variable to that in the calling project.
+The value of the \fBCMAKE_EXE_LINKER_FLAGS\fP variable may be
+needed in some cases too, but CMake 3.1 and lower did not set it in
+the generated project.  CMake 3.2 and above prefer to set it so that
+linker flags are honored as well as compiler flags.  This policy
+provides compatibility with the pre\-3.2 behavior.
+.sp
+The OLD behavior for this policy is to not set the value of the
+\fBCMAKE_EXE_LINKER_FLAGS\fP variable in the generated test
+project.  The NEW behavior for this policy is to set the value of
+the \fBCMAKE_EXE_LINKER_FLAGS\fP variable in the test project
+to the same as it is in the calling project.
+.sp
+If the project code does not set the policy explicitly, users may
+set it on the command line by defining the
+\fBCMAKE_POLICY_DEFAULT_CMP0056\fP
+variable in the cache.
+.sp
+This policy was introduced in CMake version 3.2.  Unlike most policies,
+CMake version 3.3.2 does \fInot\fP warn by default when this policy
+is not set and simply uses OLD behavior.  See documentation of the
+\fBCMAKE_POLICY_WARNING_CMP0056\fP
+variable to control the warning.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0057
+.sp
+Support new \fBif()\fP IN_LIST operator.
+.sp
+CMake 3.3 adds support for the new IN_LIST operator.
+.sp
+The \fBOLD\fP behavior for this policy is to ignore the IN_LIST operator.
+The \fBNEW\fP behavior is to interpret the IN_LIST operator.
+.sp
+This policy was introduced in CMake version 3.3.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set
+it to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0058
+.sp
+Ninja requires custom command byproducts to be explicit.
+.sp
+When an intermediate file generated during the build is consumed
+by an expensive operation or a large tree of dependents, one may
+reduce the work needed for an incremental rebuild by updating the
+file timestamp only when its content changes.  With this approach
+the generation rule must have a separate output file that is always
+updated with a new timestamp that is newer than any dependencies of
+the rule so that the build tool re\-runs the rule only when the input
+changes.  We refer to the separate output file as a rule\(aqs \fIwitness\fP
+and the generated file as a rule\(aqs \fIbyproduct\fP\&.
+.sp
+Byproducts may not be listed as outputs because their timestamps are
+allowed to be older than the inputs.  No build tools (like \fBmake\fP)
+that existed when CMake was designed have a way to express byproducts.
+Therefore CMake versions prior to 3.2 had no way to specify them.
+Projects typically left byproducts undeclared in the rules that
+generate them.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_custom_command(
+  OUTPUT witness.txt
+  COMMAND ${CMAKE_COMMAND} \-E copy_if_different
+          ${CMAKE_CURRENT_SOURCE_DIR}/input.txt
+          byproduct.txt # timestamp may not change
+  COMMAND ${CMAKE_COMMAND} \-E touch witness.txt
+  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/input.txt
+  )
+add_custom_target(Provider DEPENDS witness.txt)
+add_custom_command(
+  OUTPUT generated.c
+  COMMAND expensive\-task \-i byproduct.txt \-o generated.c
+  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/byproduct.txt
+  )
+add_library(Consumer generated.c)
+add_dependencies(Consumer Provider)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This works well for all generators except \fBNinja\fP\&.
+The Ninja build tool sees a rule listing \fBbyproduct.txt\fP
+as a dependency and no rule listing it as an output.  Ninja then
+complains that there is no way to satisfy the dependency and
+stops building even though there are order\-only dependencies
+that ensure \fBbyproduct.txt\fP will exist before its consumers
+need it.  See discussion of this problem in \fI\%Ninja Issue 760\fP
+for further details on why Ninja works this way.
+.sp
+Instead of leaving byproducts undeclared in the rules that generate
+them, Ninja expects byproducts to be listed along with other outputs.
+Such rules may be marked with a \fBrestat\fP option that tells Ninja
+to check the timestamps of outputs after the rules run.  This
+prevents byproducts whose timestamps do not change from causing
+their dependents to re\-build unnecessarily.
+.sp
+Since the above approach does not tell CMake what custom command
+generates \fBbyproduct.txt\fP, the Ninja generator does not have
+enough information to add the byproduct as an output of any rule.
+CMake 2.8.12 and above work around this problem and allow projects
+using the above approach to build by generating \fBphony\fP build
+rules to tell Ninja to tolerate such missing files.  However, this
+workaround prevents Ninja from diagnosing a dependency that is
+really missing.  It also works poorly in in\-source builds where
+every custom command dependency, even on source files, needs to
+be treated this way because CMake does not have enough information
+to know which files are generated as byproducts of custom commands.
+.sp
+CMake 3.2 introduced the \fBBYPRODUCTS\fP option to the
+\fBadd_custom_command()\fP and \fBadd_custom_target()\fP
+commands.  This option allows byproducts to be specified explicitly:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_custom_command(
+  OUTPUT witness.txt
+  BYPRODUCTS byproduct.txt # explicit byproduct specification
+  COMMAND ${CMAKE_COMMAND} \-E copy_if_different
+          ${CMAKE_CURRENT_SOURCE_DIR}/input.txt
+          byproduct.txt # timestamp may not change
+\&...
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBBYPRODUCTS\fP option is used by the \fBNinja\fP generator
+to list byproducts among the outputs of the custom commands that
+generate them, and is ignored by other generators.
+.sp
+CMake 3.3 and above prefer to require projects to specify custom
+command byproducts explicitly so that it can avoid using the
+\fBphony\fP rule workaround altogether.  Policy \fBCMP0058\fP was
+introduced to provide compatibility with existing projects that
+still need the workaround.
+.sp
+This policy has no effect on generators other than \fBNinja\fP\&.
+The \fBOLD\fP behavior for this policy is to generate Ninja \fBphony\fP
+rules for unknown dependencies in the build tree.  The \fBNEW\fP
+behavior for this policy is to not generate these and instead
+require projects to specify custom command \fBBYPRODUCTS\fP explicitly.
+.sp
+This policy was introduced in CMake version 3.3.
+CMake version 3.3.2 warns when it sees unknown dependencies in
+out\-of\-source build trees if the policy is not set and then uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set
+the policy to \fBOLD\fP or \fBNEW\fP explicitly.  The policy setting
+must be in scope at the end of the top\-level \fBCMakeLists.txt\fP
+file of the project and has global effect.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0059
+.sp
+Don\(aqt treat \fBDEFINITIONS\fP as a built\-in directory property.
+.sp
+CMake 3.3 and above no longer make a list of definitions available through
+the \fBDEFINITIONS\fP directory property.  The
+\fBCOMPILE_DEFINITIONS\fP directory property may be used instead.
+.sp
+The \fBOLD\fP behavior for this policy is to provide the list of flags given
+so far to the \fBadd_definitions()\fP command.  The \fBNEW\fP behavior is
+to behave as a normal user\-defined directory property.
+.sp
+This policy was introduced in CMake version 3.3.
+CMake version 3.3.2 warns when the policy is not set and uses
+\fBOLD\fP behavior.  Use the \fBcmake_policy()\fP command to set
+it to \fBOLD\fP or \fBNEW\fP explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0060
+.sp
+Link libraries by full path even in implicit directories.
+.sp
+Policy \fBCMP0003\fP was introduced with the intention of always
+linking library files by full path when a full path is given to the
+\fBtarget_link_libraries()\fP command.  However, on some platforms
+(e.g. HP\-UX) the compiler front\-end adds alternative library search paths
+for the current architecture (e.g. \fB/usr/lib/<arch>\fP has alternatives
+to libraries in \fB/usr/lib\fP for the current architecture).
+On such platforms the \fBfind_library()\fP may find a library such as
+\fB/usr/lib/libfoo.so\fP that does not belong to the current architecture.
+.sp
+Prior to policy \fBCMP0003\fP projects would still build in such
+cases because the incorrect library path would be converted to \fB\-lfoo\fP
+on the link line and the linker would find the proper library in the
+arch\-specific search path provided by the compiler front\-end implicitly.
+At the time we chose to remain compatible with such projects by always
+converting library files found in implicit link directories to \fB\-lfoo\fP
+flags to ask the linker to search for them.  This approach allowed existing
+projects to continue to build while still linking to libraries outside
+implicit link directories via full path (such as those in the build tree).
+.sp
+CMake does allow projects to override this behavior by using an
+IMPORTED library target with its
+\fBIMPORTED_LOCATION\fP property set to the desired full path to
+a library file.  In fact, many Find Modules are learning to provide
+Imported Targets instead of just the traditional \fBFoo_LIBRARIES\fP
+variable listing library files.  However, this makes the link line
+generated for a library found by a Find Module depend on whether it
+is linked through an imported target or not, which is inconsistent.
+Furthermore, this behavior has been a source of confusion because the
+generated link line for a library file depends on its location.  It is
+also problematic for projects trying to link statically because flags
+like \fB\-Wl,\-Bstatic \-lfoo \-Wl,\-Bdynamic\fP may be used to help the linker
+select \fBlibfoo.a\fP instead of \fBlibfoo.so\fP but then leak dynamic linking
+to following libraries.  (See the \fBLINK_SEARCH_END_STATIC\fP
+target property for a solution typically used for that problem.)
+.sp
+When the special case for libraries in implicit link directories was first
+introduced the list of implicit link directories was simply hard\-coded
+(e.g. \fB/lib\fP, \fB/usr/lib\fP, and a few others).  Since that time, CMake
+has learned to detect the implicit link directories used by the compiler
+front\-end.  If necessary, the \fBfind_library()\fP command could be
+taught to use this information to help find libraries of the proper
+architecture.
+.sp
+For these reasons, CMake 3.3 and above prefer to drop the special case
+and link libraries by full path even when they are in implicit link
+directories.  Policy \fBCMP0060\fP provides compatibility for existing
+projects.
+.sp
+The OLD behavior for this policy is to ask the linker to search for
+libraries whose full paths are known to be in implicit link directories.
+The NEW behavior for this policy is to link libraries by full path even
+if they are in implicit link directories.
+.sp
+This policy was introduced in CMake version 3.3.  Unlike most policies,
+CMake version 3.3.2 does \fInot\fP warn by default when this policy
+is not set and simply uses OLD behavior.  See documentation of the
+\fBCMAKE_POLICY_WARNING_CMP0060\fP
+variable to control the warning.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0061
+.sp
+CTest does not by default tell \fBmake\fP to ignore errors (\fB\-i\fP).
+.sp
+The \fBctest_build()\fP and \fBbuild_command()\fP commands no
+longer generate build commands for Makefile Generators with
+the \fB\-i\fP option.  Previously this was done to help build as much
+of tested projects as possible.  However, this behavior is not
+consistent with other generators and also causes the return code
+of the \fBmake\fP tool to be meaningless.
+.sp
+Of course users may still add this option manually by setting
+\fBCTEST_BUILD_COMMAND\fP or the \fBMAKECOMMAND\fP cache entry.
+See the CTest Build Step \fBMakeCommand\fP setting documentation
+for their effects.
+.sp
+The \fBOLD\fP behavior for this policy is to add \fB\-i\fP to \fBmake\fP
+calls in CTest.  The \fBNEW\fP behavior for this policy is to not
+add \fB\-i\fP\&.
+.sp
+This policy was introduced in CMake version 3.3.  Unlike most policies,
+CMake version 3.3.2 does \fInot\fP warn when this policy is not set and
+simply uses OLD behavior.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0062
+.sp
+Disallow install() of export() result.
+.sp
+The \fBexport()\fP command generates a file containing
+Imported Targets, which is suitable for use from the build
+directory.  It is not suitable for installation because it contains absolute
+paths to buildsystem locations, and is particular to a single build
+configuration.
+.sp
+The \fBinstall(EXPORT)\fP generates and installs files which contain
+Imported Targets\&.  These files are generated with relative paths
+(unless the user specifies absolute paths), and are designed for
+multi\-configuration use.  See Creating Packages for more.
+.sp
+CMake 3.3 no longer allows the use of the \fBinstall(FILES)\fP command
+with the result of the \fBexport()\fP command.
+.sp
+The \fBOLD\fP behavior for this policy is to allow installing the result of
+an \fBexport()\fP command.  The \fBNEW\fP behavior for this policy is
+not to allow installing the result of an \fBexport()\fP command.
+.sp
+This policy was introduced in CMake version 3.3.  CMake version
+3.3.2 warns when the policy is not set and uses \fBOLD\fP behavior.  Use
+the \fBcmake_policy()\fP command to set it to \fBOLD\fP or \fBNEW\fP
+explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SS CMP0063
+.sp
+Honor visibility properties for all target types.
+.sp
+The \fB<LANG>_VISIBILITY_PRESET\fP and
+\fBVISIBILITY_INLINES_HIDDEN\fP target properties affect visibility
+of symbols during dynamic linking.  When first introduced these properties
+affected compilation of sources only in shared libraries, module libraries,
+and executables with the \fBENABLE_EXPORTS\fP property set.  This
+was sufficient for the basic use cases of shared libraries and executables
+with plugins.  However, some sources may be compiled as part of static
+libraries or object libraries and then linked into a shared library later.
+CMake 3.3 and above prefer to honor these properties for sources compiled
+in all target types.  This policy preserves compatibility for projects
+expecting the properties to work only for some target types.
+.sp
+The \fBOLD\fP behavior for this policy is to ignore the visibility properties
+for static libraries, object libraries, and executables without exports.
+The \fBNEW\fP behavior for this policy is to honor the visibility properties
+for all target types.
+.sp
+This policy was introduced in CMake version 3.3.  CMake version
+3.3.2 warns when the policy is not set and uses \fBOLD\fP behavior.  Use
+the \fBcmake_policy()\fP command to set it to \fBOLD\fP or \fBNEW\fP
+explicitly.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The \fBOLD\fP behavior of a policy is
+\fBdeprecated by definition\fP
+and may be removed in a future version of CMake.
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-properties.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,3611 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-PROPERTIES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-properties \- CMake Properties Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH PROPERTIES OF GLOBAL SCOPE
+.SS ALLOW_DUPLICATE_CUSTOM_TARGETS
+.sp
+Allow duplicate custom targets to be created.
+.sp
+Normally CMake requires that all targets built in a project have
+globally unique logical names (see policy CMP0002).  This is necessary
+to generate meaningful project file names in Xcode and VS IDE
+generators.  It also allows the target names to be referenced
+unambiguously.
+.sp
+Makefile generators are capable of supporting duplicate custom target
+names.  For projects that care only about Makefile generators and do
+not wish to support Xcode or VS IDE generators, one may set this
+property to true to allow duplicate custom targets.  The property
+allows multiple add_custom_target command calls in different
+directories to specify the same target name.  However, setting this
+property will cause non\-Makefile generators to produce an error and
+refuse to generate the project.
+.SS AUTOGEN_TARGETS_FOLDER
+.sp
+Name of \fBFOLDER\fP for \fB*_automoc\fP targets that are added automatically by
+CMake for targets for which \fBAUTOMOC\fP is enabled.
+.sp
+If not set, CMake uses the \fBFOLDER\fP property of the parent target as a
+default value for this property.  See also the documentation for the
+\fBFOLDER\fP target property and the \fBAUTOMOC\fP target property.
+.SS AUTOMOC_TARGETS_FOLDER
+.sp
+Name of \fBFOLDER\fP for \fB*_automoc\fP targets that are added automatically by
+CMake for targets for which \fBAUTOMOC\fP is enabled.
+.sp
+This property is obsolete.  Use \fBAUTOGEN_TARGETS_FOLDER\fP instead.
+.sp
+If not set, CMake uses the \fBFOLDER\fP property of the parent target as a
+default value for this property.  See also the documentation for the
+\fBFOLDER\fP target property and the \fBAUTOMOC\fP target property.
+.SS CMAKE_C_KNOWN_FEATURES
+.sp
+List of C features known to this version of CMake.
+.sp
+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 \fBCMAKE_C_COMPILE_FEATURES\fP variable.
+.sp
+The features listed here may be used with the \fBtarget_compile_features()\fP
+command.  See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+The features known to this version of CMake are:
+.INDENT 0.0
+.TP
+.B \fBc_function_prototypes\fP
+Function prototypes, as defined in \fBISO/IEC 9899:1990\fP\&.
+.TP
+.B \fBc_restrict\fP
+\fBrestrict\fP keyword, as defined in \fBISO/IEC 9899:1999\fP\&.
+.TP
+.B \fBc_static_assert\fP
+Static assert, as defined in \fBISO/IEC 9899:2011\fP\&.
+.TP
+.B \fBc_variadic_macros\fP
+Variadic macros, as defined in \fBISO/IEC 9899:1999\fP\&.
+.UNINDENT
+.SS CMAKE_CXX_KNOWN_FEATURES
+.sp
+List of C++ features known to this version of CMake.
+.sp
+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 \fBCMAKE_CXX_COMPILE_FEATURES\fP variable.
+.sp
+The features listed here may be used with the \fBtarget_compile_features()\fP
+command.  See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+The features known to this version of CMake are:
+.INDENT 0.0
+.TP
+.B \fBcxx_aggregate_default_initializers\fP
+Aggregate default initializers, as defined in \fI\%N3605\fP\&.
+.TP
+.B \fBcxx_alias_templates\fP
+Template aliases, as defined in \fI\%N2258\fP\&.
+.TP
+.B \fBcxx_alignas\fP
+Alignment control \fBalignas\fP, as defined in \fI\%N2341\fP\&.
+.TP
+.B \fBcxx_alignof\fP
+Alignment control \fBalignof\fP, as defined in \fI\%N2341\fP\&.
+.TP
+.B \fBcxx_attributes\fP
+Generic attributes, as defined in \fI\%N2761\fP\&.
+.TP
+.B \fBcxx_attribute_deprecated\fP
+\fB[[deprecated]]\fP attribute, as defined in \fI\%N3760\fP\&.
+.TP
+.B \fBcxx_auto_type\fP
+Automatic type deduction, as defined in \fI\%N1984\fP\&.
+.TP
+.B \fBcxx_binary_literals\fP
+Binary literals, as defined in \fI\%N3472\fP\&.
+.TP
+.B \fBcxx_constexpr\fP
+Constant expressions, as defined in \fI\%N2235\fP\&.
+.TP
+.B \fBcxx_contextual_conversions\fP
+Contextual conversions, as defined in \fI\%N3323\fP\&.
+.TP
+.B \fBcxx_decltype_incomplete_return_types\fP
+Decltype on incomplete return types, as defined in \fI\%N3276\fP\&.
+.TP
+.B \fBcxx_decltype\fP
+Decltype, as defined in \fI\%N2343\fP\&.
+.TP
+.B \fBcxx_decltype_auto\fP
+\fBdecltype(auto)\fP semantics, as defined in \fI\%N3638\fP\&.
+.TP
+.B \fBcxx_default_function_template_args\fP
+Default template arguments for function templates, as defined in \fI\%DR226\fP
+.TP
+.B \fBcxx_defaulted_functions\fP
+Defaulted functions, as defined in \fI\%N2346\fP\&.
+.TP
+.B \fBcxx_defaulted_move_initializers\fP
+Defaulted move initializers, as defined in \fI\%N3053\fP\&.
+.TP
+.B \fBcxx_delegating_constructors\fP
+Delegating constructors, as defined in \fI\%N1986\fP\&.
+.TP
+.B \fBcxx_deleted_functions\fP
+Deleted functions, as defined in \fI\%N2346\fP\&.
+.TP
+.B \fBcxx_digit_separators\fP
+Digit separators, as defined in \fI\%N3781\fP\&.
+.TP
+.B \fBcxx_enum_forward_declarations\fP
+Enum forward declarations, as defined in \fI\%N2764\fP\&.
+.TP
+.B \fBcxx_explicit_conversions\fP
+Explicit conversion operators, as defined in \fI\%N2437\fP\&.
+.TP
+.B \fBcxx_extended_friend_declarations\fP
+Extended friend declarations, as defined in \fI\%N1791\fP\&.
+.TP
+.B \fBcxx_extern_templates\fP
+Extern templates, as defined in \fI\%N1987\fP\&.
+.TP
+.B \fBcxx_final\fP
+Override control \fBfinal\fP keyword, as defined in \fI\%N2928\fP, \fI\%N3206\fP and \fI\%N3272\fP\&.
+.TP
+.B \fBcxx_func_identifier\fP
+Predefined \fB__func__\fP identifier, as defined in \fI\%N2340\fP\&.
+.TP
+.B \fBcxx_generalized_initializers\fP
+Initializer lists, as defined in \fI\%N2672\fP\&.
+.TP
+.B \fBcxx_generic_lambdas\fP
+Generic lambdas, as defined in \fI\%N3649\fP\&.
+.TP
+.B \fBcxx_inheriting_constructors\fP
+Inheriting constructors, as defined in \fI\%N2540\fP\&.
+.TP
+.B \fBcxx_inline_namespaces\fP
+Inline namespaces, as defined in \fI\%N2535\fP\&.
+.TP
+.B \fBcxx_lambdas\fP
+Lambda functions, as defined in \fI\%N2927\fP\&.
+.TP
+.B \fBcxx_lambda_init_captures\fP
+Initialized lambda captures, as defined in \fI\%N3648\fP\&.
+.TP
+.B \fBcxx_local_type_template_args\fP
+Local and unnamed types as template arguments, as defined in \fI\%N2657\fP\&.
+.TP
+.B \fBcxx_long_long_type\fP
+\fBlong long\fP type, as defined in \fI\%N1811\fP\&.
+.TP
+.B \fBcxx_noexcept\fP
+Exception specifications, as defined in \fI\%N3050\fP\&.
+.TP
+.B \fBcxx_nonstatic_member_init\fP
+Non\-static data member initialization, as defined in \fI\%N2756\fP\&.
+.TP
+.B \fBcxx_nullptr\fP
+Null pointer, as defined in \fI\%N2431\fP\&.
+.TP
+.B \fBcxx_override\fP
+Override control \fBoverride\fP keyword, as defined in \fI\%N2928\fP, \fI\%N3206\fP
+and \fI\%N3272\fP\&.
+.TP
+.B \fBcxx_range_for\fP
+Range\-based for, as defined in \fI\%N2930\fP\&.
+.TP
+.B \fBcxx_raw_string_literals\fP
+Raw string literals, as defined in \fI\%N2442\fP\&.
+.TP
+.B \fBcxx_reference_qualified_functions\fP
+Reference qualified functions, as defined in \fI\%N2439\fP\&.
+.TP
+.B \fBcxx_relaxed_constexpr\fP
+Relaxed constexpr, as defined in \fI\%N3652\fP\&.
+.TP
+.B \fBcxx_return_type_deduction\fP
+Return type deduction on normal functions, as defined in \fI\%N3386\fP\&.
+.TP
+.B \fBcxx_right_angle_brackets\fP
+Right angle bracket parsing, as defined in \fI\%N1757\fP\&.
+.TP
+.B \fBcxx_rvalue_references\fP
+R\-value references, as defined in \fI\%N2118\fP\&.
+.TP
+.B \fBcxx_sizeof_member\fP
+Size of non\-static data members, as defined in \fI\%N2253\fP\&.
+.TP
+.B \fBcxx_static_assert\fP
+Static assert, as defined in \fI\%N1720\fP\&.
+.TP
+.B \fBcxx_strong_enums\fP
+Strongly typed enums, as defined in \fI\%N2347\fP\&.
+.TP
+.B \fBcxx_thread_local\fP
+Thread\-local variables, as defined in \fI\%N2659\fP\&.
+.TP
+.B \fBcxx_trailing_return_types\fP
+Automatic function return type, as defined in \fI\%N2541\fP\&.
+.TP
+.B \fBcxx_unicode_literals\fP
+Unicode string literals, as defined in \fI\%N2442\fP\&.
+.TP
+.B \fBcxx_uniform_initialization\fP
+Uniform intialization, as defined in \fI\%N2640\fP\&.
+.TP
+.B \fBcxx_unrestricted_unions\fP
+Unrestricted unions, as defined in \fI\%N2544\fP\&.
+.TP
+.B \fBcxx_user_literals\fP
+User\-defined literals, as defined in \fI\%N2765\fP\&.
+.TP
+.B \fBcxx_variable_templates\fP
+Variable templates, as defined in \fI\%N3651\fP\&.
+.TP
+.B \fBcxx_variadic_macros\fP
+Variadic macros, as defined in \fI\%N1653\fP\&.
+.TP
+.B \fBcxx_variadic_templates\fP
+Variadic templates, as defined in \fI\%N2242\fP\&.
+.TP
+.B \fBcxx_template_template_parameters\fP
+Template template parameters, as defined in \fBISO/IEC 14882:1998\fP\&.
+.UNINDENT
+.SS DEBUG_CONFIGURATIONS
+.sp
+Specify which configurations are for debugging.
+.sp
+The value must be a semi\-colon separated list of configuration names.
+Currently this property is used only by the target_link_libraries
+command (see its documentation for details).  Additional uses may be
+defined in the future.
+.sp
+This property must be set at the top level of the project and before
+the first target_link_libraries command invocation.  If any entry in
+the list does not match a valid configuration for the project the
+behavior is undefined.
+.SS DISABLED_FEATURES
+.sp
+List of features which are disabled during the CMake run.
+.sp
+List of features which are disabled during the CMake run.  By default
+it contains the names of all packages which were not found.  This is
+determined using the <NAME>_FOUND variables.  Packages which are
+searched QUIET are not listed.  A project can add its own features to
+this list.  This property is used by the macros in
+FeatureSummary.cmake.
+.SS ENABLED_FEATURES
+.sp
+List of features which are enabled during the CMake run.
+.sp
+List of features which are enabled during the CMake run.  By default
+it contains the names of all packages which were found.  This is
+determined using the <NAME>_FOUND variables.  Packages which are
+searched QUIET are not listed.  A project can add its own features to
+this list.  This property is used by the macros in
+FeatureSummary.cmake.
+.SS ENABLED_LANGUAGES
+.sp
+Read\-only property that contains the list of currently enabled languages
+.sp
+Set to list of currently enabled languages.
+.SS FIND_LIBRARY_USE_LIB64_PATHS
+.sp
+Whether FIND_LIBRARY should automatically search lib64 directories.
+.sp
+FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
+FIND_LIBRARY command should automatically search the lib64 variant of
+directories called lib in the search path when building 64\-bit
+binaries.
+.SS FIND_LIBRARY_USE_OPENBSD_VERSIONING
+.sp
+Whether FIND_LIBRARY should find OpenBSD\-style shared libraries.
+.sp
+This property is a boolean specifying whether the FIND_LIBRARY command
+should find shared libraries with OpenBSD\-style versioned extension:
+".so.<major>.<minor>".  The property is set to true on OpenBSD and
+false on other platforms.
+.SS GLOBAL_DEPENDS_DEBUG_MODE
+.sp
+Enable global target dependency graph debug mode.
+.sp
+CMake automatically analyzes the global inter\-target dependency graph
+at the beginning of native build system generation.  This property
+causes it to display details of its analysis to stderr.
+.SS GLOBAL_DEPENDS_NO_CYCLES
+.sp
+Disallow global target dependency graph cycles.
+.sp
+CMake automatically analyzes the global inter\-target dependency graph
+at the beginning of native build system generation.  It reports an
+error if the dependency graph contains a cycle that does not consist
+of all STATIC library targets.  This property tells CMake to disallow
+all cycles completely, even among static libraries.
+.SS IN_TRY_COMPILE
+.sp
+Read\-only property that is true during a try\-compile configuration.
+.sp
+True when building a project inside a TRY_COMPILE or TRY_RUN command.
+.SS PACKAGES_FOUND
+.sp
+List of packages which were found during the CMake run.
+.sp
+List of packages which were found during the CMake run.  Whether a
+package has been found is determined using the <NAME>_FOUND variables.
+.SS PACKAGES_NOT_FOUND
+.sp
+List of packages which were not found during the CMake run.
+.sp
+List of packages which were not found during the CMake run.  Whether a
+package has been found is determined using the <NAME>_FOUND variables.
+.SS JOB_POOLS
+.sp
+Ninja only: List of available pools.
+.sp
+A pool is a named integer property and defines the maximum number
+of concurrent jobs which can be started by a rule assigned to the pool.
+The \fI\%JOB_POOLS\fP property is a semicolon\-separated list of
+pairs using the syntax NAME=integer (without a space after the equality sign).
+.sp
+For instance:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(GLOBAL PROPERTY JOB_POOLS two_jobs=2 ten_jobs=10)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Defined pools could be used globally by setting
+\fBCMAKE_JOB_POOL_COMPILE\fP and \fBCMAKE_JOB_POOL_LINK\fP
+or per target by setting the target properties
+\fBJOB_POOL_COMPILE\fP and \fBJOB_POOL_LINK\fP\&.
+.sp
+Build targets provided by CMake that are meant for individual interactive
+use, such as \fBinstall\fP, are placed in the \fBconsole\fP pool automatically.
+.SS PREDEFINED_TARGETS_FOLDER
+.sp
+Name of FOLDER for targets that are added automatically by CMake.
+.sp
+If not set, CMake uses "CMakePredefinedTargets" as a default value for
+this property.  Targets such as INSTALL, PACKAGE and RUN_TESTS will be
+organized into this FOLDER.  See also the documentation for the FOLDER
+target property.
+.SS ECLIPSE_EXTRA_NATURES
+.sp
+List of natures to add to the generated Eclipse project file.
+.sp
+Eclipse projects specify language plugins by using natures. This property
+should be set to the unique identifier for a nature (which looks like a Java
+package name).
+.SS REPORT_UNDEFINED_PROPERTIES
+.sp
+If set, report any undefined properties to this file.
+.sp
+If this property is set to a filename then when CMake runs it will
+report any properties or variables that were accessed but not defined
+into the filename specified in this property.
+.SS RULE_LAUNCH_COMPILE
+.sp
+Specify a launcher for compile rules.
+.sp
+Makefile generators prefix compiler commands with the given launcher
+command line.  This is intended to allow launchers to intercept build
+problems with high granularity.  Non\-Makefile generators currently
+ignore this property.
+.SS RULE_LAUNCH_CUSTOM
+.sp
+Specify a launcher for custom rules.
+.sp
+Makefile generators prefix custom commands with the given launcher
+command line.  This is intended to allow launchers to intercept build
+problems with high granularity.  Non\-Makefile generators currently
+ignore this property.
+.SS RULE_LAUNCH_LINK
+.sp
+Specify a launcher for link rules.
+.sp
+Makefile generators prefix link and archive commands with the given
+launcher command line.  This is intended to allow launchers to
+intercept build problems with high granularity.  Non\-Makefile
+generators currently ignore this property.
+.SS RULE_MESSAGES
+.sp
+Specify whether to report a message for each make rule.
+.sp
+This property specifies whether Makefile generators should add a
+progress message describing what each build rule does.  If the
+property is not set the default is ON.  Set the property to OFF to
+disable granular messages and report only as each target completes.
+This is intended to allow scripted builds to avoid the build time cost
+of detailed reports.  If a CMAKE_RULE_MESSAGES cache entry exists its
+value initializes the value of this property.  Non\-Makefile generators
+currently ignore this property.
+.SS TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
+.sp
+Set if shared libraries may be named like archives.
+.sp
+On AIX shared libraries may be named "lib<name>.a".  This property is
+set to true on such platforms.
+.SS TARGET_SUPPORTS_SHARED_LIBS
+.sp
+Does the target platform support shared libraries.
+.sp
+TARGET_SUPPORTS_SHARED_LIBS is a boolean specifying whether the target
+platform supports shared libraries.  Basically all current general
+general purpose OS do so, the exception are usually embedded systems
+with no or special OSs.
+.SS USE_FOLDERS
+.sp
+Use the FOLDER target property to organize targets into folders.
+.sp
+If not set, CMake treats this property as OFF by default.  CMake
+generators that are capable of organizing into a hierarchy of folders
+use the values of the FOLDER target property to name those folders.
+See also the documentation for the FOLDER target property.
+.SH PROPERTIES ON DIRECTORIES
+.SS ADDITIONAL_MAKE_CLEAN_FILES
+.sp
+Additional files to clean during the make clean stage.
+.sp
+A list of files that will be cleaned as a part of the "make clean"
+stage.
+.SS CACHE_VARIABLES
+.sp
+List of cache variables available in the current directory.
+.sp
+This read\-only property specifies the list of CMake cache variables
+currently defined.  It is intended for debugging purposes.
+.SS CLEAN_NO_CUSTOM
+.sp
+Should the output of custom commands be left.
+.sp
+If this is true then the outputs of custom commands for this directory
+will not be removed during the "make clean" stage.
+.SS CMAKE_CONFIGURE_DEPENDS
+.sp
+Tell CMake about additional input files to the configuration process.
+If any named file is modified the build system will re\-run CMake to
+re\-configure the file and generate the build system again.
+.sp
+Specify files as a semicolon\-separated list of paths.  Relative paths
+are interpreted as relative to the current source directory.
+.SS COMPILE_DEFINITIONS
+.sp
+Preprocessor definitions for compiling a directory\(aqs sources.
+.sp
+This property specifies the list of options given so far to the
+\fBadd_definitions()\fP command.
+.sp
+The \fBCOMPILE_DEFINITIONS\fP property may be set to a semicolon\-separated
+list of preprocessor definitions using the syntax \fBVAR\fP or \fBVAR=value\fP\&.
+Function\-style definitions are not supported.  CMake will
+automatically escape the value correctly for the native build system
+(note that CMake language syntax may require escapes to specify some
+values).
+.sp
+This property will be initialized in each directory by its value in the
+directory\(aqs parent.
+.sp
+CMake will automatically drop some definitions that are not supported
+by the native build tool.  The VS6 IDE does not support definition
+values with spaces (but NMake does).
+.sp
+Disclaimer: Most native build tools have poor support for escaping
+certain values.  CMake has work\-arounds for many cases but some values
+may just not be possible to pass correctly.  If a value does not seem
+to be escaped correctly, do not attempt to work\-around the problem by
+adding escape sequences to the value.  Your work\-around may break in a
+future version of CMake that has improved escape support.  Instead
+consider defining the macro in a (configured) header file.  Then
+report the limitation.  Known limitations include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#          \- broken almost everywhere
+;          \- broken in VS IDE 7.0 and Borland Makefiles
+,          \- broken in VS IDE
+%          \- broken in some cases in NMake
+& |        \- broken in some cases on MinGW
+^ < > \e"   \- broken in most Make tools on Windows
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake does not reject these values outright because they do work in
+some cases.  Use with caution.
+.sp
+Contents of \fBCOMPILE_DEFINITIONS\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.sp
+The corresponding \fBCOMPILE_DEFINITIONS_<CONFIG>\fP property may
+be set to specify per\-configuration definitions.  Generator expressions
+should be preferred instead of setting the alternative property.
+.SS COMPILE_OPTIONS
+.sp
+List of options to pass to the compiler.
+.sp
+This property holds a ;\-list of options
+given so far to the \fBadd_compile_options()\fP command.
+.sp
+This property is used to initialize the \fBCOMPILE_OPTIONS\fP target
+property when a target is created, which is used by the generators to set
+the options for the compiler.
+.sp
+Contents of \fBCOMPILE_OPTIONS\fP may use "generator expressions" with the
+syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP manual
+for available expressions.  See the \fBcmake\-buildsystem(7)\fP manual
+for more on defining buildsystem properties.
+.SS DEFINITIONS
+.sp
+For CMake 2.4 compatibility only.  Use \fBCOMPILE_DEFINITIONS\fP
+instead.
+.sp
+This read\-only property specifies the list of flags given so far to
+the \fBadd_definitions()\fP command.  It is intended for debugging
+purposes.  Use the \fBCOMPILE_DEFINITIONS\fP directory property
+instead.
+.sp
+This built\-in read\-only property does not exist if policy
+\fBCMP0059\fP is set to \fBNEW\fP\&.
+.SS EXCLUDE_FROM_ALL
+.sp
+Exclude the directory from the all target of its parent.
+.sp
+A property on a directory that indicates if its targets are excluded
+from the default build target.  If it is not, then with a Makefile for
+example typing make will cause the targets to be built.  The same
+concept applies to the default build of other generators.
+.SS IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+.sp
+Specify #include line transforms for dependencies in a directory.
+.sp
+This property specifies rules to transform macro\-like #include lines
+during implicit dependency scanning of C and C++ source files.  The
+list of rules must be semicolon\-separated with each entry of the form
+"A_MACRO(%)=value\-with\-%" (the % must be literal).  During dependency
+scanning occurrences of A_MACRO(...) on #include lines will be
+replaced by the value given with the macro argument substituted for
+\(aq%\(aq.  For example, the entry
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MYDIR(%)=<mydir/%>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will convert lines of the form
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include MYDIR(myheader.h)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+to
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <mydir/myheader.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+allowing the dependency to be followed.
+.sp
+This property applies to sources in all targets within a directory.
+The property value is initialized in each directory by its value in
+the directory\(aqs parent.
+.SS INCLUDE_DIRECTORIES
+.sp
+List of preprocessor include file search directories.
+.sp
+This property specifies the list of directories given so far to the
+\fBinclude_directories()\fP command.
+.sp
+This property is used to populate the \fBINCLUDE_DIRECTORIES\fP
+target property, which is used by the generators to set the include
+directories for the compiler.
+.sp
+In addition to accepting values from that command, values may be set
+directly on any directory using the \fBset_property()\fP command.  A
+directory gets its initial value from its parent directory if it has one.
+The intial value of the \fBINCLUDE_DIRECTORIES\fP target property
+comes from the value of this property.  Both directory and target property
+values are adjusted by calls to the \fBinclude_directories()\fP command.
+.sp
+The target property values are used by the generators to set the
+include paths for the compiler.
+.sp
+Contents of \fBINCLUDE_DIRECTORIES\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS INCLUDE_REGULAR_EXPRESSION
+.sp
+Include file scanning regular expression.
+.sp
+This read\-only property specifies the regular expression used during
+dependency scanning to match include files that should be followed.
+See the include_regular_expression command.
+.SS INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
+.sp
+Per\-configuration interprocedural optimization for a directory.
+.sp
+This is a per\-configuration version of INTERPROCEDURAL_OPTIMIZATION.
+If set, this property overrides the generic property for the named
+configuration.
+.SS INTERPROCEDURAL_OPTIMIZATION
+.sp
+Enable interprocedural optimization for targets in a directory.
+.sp
+If set to true, enables interprocedural optimizations if they are
+known to be supported by the compiler.
+.SS LINK_DIRECTORIES
+.sp
+List of linker search directories.
+.sp
+This read\-only property specifies the list of directories given so far
+to the link_directories command.  It is intended for debugging
+purposes.
+.SS LISTFILE_STACK
+.sp
+The current stack of listfiles being processed.
+.sp
+This property is mainly useful when trying to debug errors in your
+CMake scripts.  It returns a list of what list files are currently
+being processed, in order.  So if one listfile does an INCLUDE command
+then that is effectively pushing the included listfile onto the stack.
+.SS MACROS
+.sp
+List of macro commands available in the current directory.
+.sp
+This read\-only property specifies the list of CMake macros currently
+defined.  It is intended for debugging purposes.  See the macro
+command.
+.SS PARENT_DIRECTORY
+.sp
+Source directory that added current subdirectory.
+.sp
+This read\-only property specifies the source directory that added the
+current source directory as a subdirectory of the build.  In the
+top\-level directory the value is the empty\-string.
+.SS RULE_LAUNCH_COMPILE
+.sp
+Specify a launcher for compile rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global property for a directory.
+.SS RULE_LAUNCH_CUSTOM
+.sp
+Specify a launcher for custom rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global property for a directory.
+.SS RULE_LAUNCH_LINK
+.sp
+Specify a launcher for link rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global property for a directory.
+.SS TEST_INCLUDE_FILE
+.sp
+A cmake file that will be included when ctest is run.
+.sp
+If you specify TEST_INCLUDE_FILE, that file will be included and
+processed when ctest is run on the directory.
+.SS VARIABLES
+.sp
+List of variables defined in the current directory.
+.sp
+This read\-only property specifies the list of CMake variables
+currently defined.  It is intended for debugging purposes.
+.SS VS_GLOBAL_SECTION_POST_<section>
+.sp
+Specify a postSolution global section in Visual Studio.
+.sp
+Setting a property like this generates an entry of the following form
+in the solution file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GlobalSection(<section>) = postSolution
+  <contents based on property value>
+EndGlobalSection
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.sp
+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.
+.SS VS_GLOBAL_SECTION_PRE_<section>
+.sp
+Specify a preSolution global section in Visual Studio.
+.sp
+Setting a property like this generates an entry of the following form
+in the solution file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+GlobalSection(<section>) = preSolution
+  <contents based on property value>
+EndGlobalSection
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+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.
+.SH PROPERTIES ON TARGETS
+.SS ALIASED_TARGET
+.sp
+Name of target aliased by this target.
+.sp
+If this is an Alias Target, this property contains
+the name of the target aliased.
+.SS ANDROID_API
+.sp
+Set the Android Target API version (e.g. \fB15\fP).  The version number
+must be a positive decimal integer.  This property is initialized by
+the value of the \fBCMAKE_ANDROID_API\fP variable if it is set
+when a target is created.
+.SS ANDROID_API_MIN
+.sp
+Set the Android MIN API version (e.g. \fB9\fP).  The version number
+must be a positive decimal integer.  This property is initialized by
+the value of the \fBCMAKE_ANDROID_API_MIN\fP variable if it is set
+when a target is created.  Native code builds using this API version.
+.SS ANDROID_GUI
+.sp
+Build an executable as an application package on Android.
+.sp
+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 \fBCMAKE_ANDROID_GUI\fP variable if it is set
+when a target is created.
+.sp
+Add the \fBAndroidManifest.xml\fP source file explicitly to the
+target \fBadd_executable()\fP command invocation to specify the
+root directory of the application package source.
+.SS ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for
+ARCHIVE target files.
+.sp
+This is a per\-configuration version of the
+\fBARCHIVE_OUTPUT_DIRECTORY\fP target property, but
+multi\-configuration generators (VS, Xcode) do NOT append a
+per\-configuration subdirectory to the specified directory.  This
+property is initialized by the value of the
+\fBCMAKE_ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>\fP variable if
+it is set when a target is created.
+.SS ARCHIVE_OUTPUT_DIRECTORY
+.sp
+Output directory in which to build ARCHIVE target files.
+.sp
+This property specifies the directory into which archive target files
+should be built.  Multi\-configuration generators (VS, Xcode) append a
+per\-configuration subdirectory to the specified directory.
+.sp
+This property is initialized by the value of the variable
+CMAKE_ARCHIVE_OUTPUT_DIRECTORY if it is set when a target is created.
+.sp
+See also the \fBARCHIVE_OUTPUT_DIRECTORY_<CONFIG>\fP target property.
+.SS ARCHIVE_OUTPUT_NAME_<CONFIG>
+.sp
+Per\-configuration output name for
+ARCHIVE target files.
+.sp
+This is the configuration\-specific version of the
+\fBARCHIVE_OUTPUT_NAME\fP target property.
+.SS ARCHIVE_OUTPUT_NAME
+.sp
+Output name for ARCHIVE target files.
+.sp
+This property specifies the base name for archive target files.  It
+overrides \fBOUTPUT_NAME\fP and \fBOUTPUT_NAME_<CONFIG>\fP
+properties.
+.sp
+See also the \fBARCHIVE_OUTPUT_NAME_<CONFIG>\fP target property.
+.SS AUTOGEN_TARGET_DEPENDS
+.sp
+Target dependencies of the corresponding \fB_automoc\fP target.
+.sp
+Targets which have their \fBAUTOMOC\fP target \fBON\fP have a
+corresponding \fB_automoc\fP target which is used to autogenerate generate moc
+files.  As this \fB_automoc\fP target is created at generate\-time, it is not
+possible to define dependencies of it, such as to create inputs for the \fBmoc\fP
+executable.
+.sp
+The \fBAUTOGEN_TARGET_DEPENDS\fP target property can be set instead to a list of
+dependencies for the \fB_automoc\fP target.  The buildsystem will be generated to
+depend on its contents.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTOMOC_MOC_OPTIONS
+.sp
+Additional options for moc when using \fBAUTOMOC\fP
+.sp
+This property is only used if the \fBAUTOMOC\fP property is \fBON\fP
+for this target.  In this case, it holds additional command line
+options which will be used when \fBmoc\fP is executed during the build, i.e.
+it is equivalent to the optional \fBOPTIONS\fP argument of the
+\fBqt4_wrap_cpp()\fP macro.
+.sp
+By default it is empty.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTOMOC
+.sp
+Should the target be processed with automoc (for Qt projects).
+.sp
+AUTOMOC is a boolean specifying whether CMake will handle the Qt \fBmoc\fP
+preprocessor automatically, i.e.  without having to use the
+\fBQT4_WRAP_CPP()\fP or QT5_WRAP_CPP() macro.  Currently Qt4 and Qt5 are
+supported.  When this property is set \fBON\fP, CMake will scan the
+source files at build time and invoke moc accordingly.  If an \fB#include\fP
+statement like \fB#include "moc_foo.cpp"\fP is found, the \fBQ_OBJECT\fP class
+declaration is expected in the header, and \fBmoc\fP is run on the header
+file.  If an \fB#include\fP statement like \fB#include "foo.moc"\fP is found, then
+a \fBQ_OBJECT\fP is expected in the current source file and \fBmoc\fP is run on
+the file itself.  Additionally, header files with the same base name (like
+\fBfoo.h\fP) or \fB_p\fP appended to the base name (like \fBfoo_p.h\fP) are parsed
+for \fBQ_OBJECT\fP macros, and if found, \fBmoc\fP is also executed on those files.
+\fBAUTOMOC\fP checks multiple header alternative extensions, such as
+\fBhpp\fP, \fBhxx\fP 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
+\fB<targetname>_automoc.cpp\fP file, which is compiled as part of the
+target.  This property is initialized by the value of the
+\fBCMAKE_AUTOMOC\fP variable if it is set when a target is created.
+.sp
+Additional command line options for moc can be set via the
+\fBAUTOMOC_MOC_OPTIONS\fP property.
+.sp
+By enabling the \fBCMAKE_AUTOMOC_RELAXED_MODE\fP 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.
+.sp
+The global property \fBAUTOGEN_TARGETS_FOLDER\fP can be used to group the
+automoc targets together in an IDE, e.g.  in MSVS.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTOUIC
+.sp
+Should the target be processed with autouic (for Qt projects).
+.sp
+\fBAUTOUIC\fP is a boolean specifying whether CMake will handle
+the Qt \fBuic\fP code generator automatically, i.e. without having to use
+the \fBQT4_WRAP_UI()\fP or \fBQT5_WRAP_UI()\fP macro. Currently
+Qt4 and Qt5 are supported.
+.sp
+When this property is \fBON\fP, CMake will scan the source files at build time
+and invoke \fBuic\fP accordingly.  If an \fB#include\fP statement like
+\fB#include "ui_foo.h"\fP is found in \fBfoo.cpp\fP, a \fBfoo.ui\fP file is
+expected next to \fBfoo.cpp\fP, and \fBuic\fP is run on the \fBfoo.ui\fP file.
+This property is initialized by the value of the \fBCMAKE_AUTOUIC\fP
+variable if it is set when a target is created.
+.sp
+Additional command line options for \fBuic\fP can be set via the
+\fBAUTOUIC_OPTIONS\fP source file property on the \fBfoo.ui\fP file.
+The global property \fBAUTOGEN_TARGETS_FOLDER\fP can be used to group the
+autouic targets together in an IDE, e.g. in MSVS.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTOUIC_OPTIONS
+.sp
+Additional options for uic when using \fBAUTOUIC\fP
+.sp
+This property holds additional command line options which will be used when
+\fBuic\fP is executed during the build via \fBAUTOUIC\fP, i.e. it is
+equivalent to the optional \fBOPTIONS\fP argument of the
+\fBqt4_wrap_ui()\fP macro.
+.sp
+By default it is empty.
+.sp
+This property is initialized by the value of the
+\fBCMAKE_AUTOUIC_OPTIONS\fP variable if it is set when a target is
+created.
+.sp
+The options set on the target may be overridden by \fBAUTOUIC_OPTIONS\fP
+set on the \fB\&.ui\fP source file.
+.sp
+This property may use "generator expressions" with the syntax \fB$<...>\fP\&.
+See the \fBcmake\-generator\-expressions(7)\fP manual for available
+expressions.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTORCC
+.sp
+Should the target be processed with autorcc (for Qt projects).
+.sp
+\fBAUTORCC\fP is a boolean specifying whether CMake will handle
+the Qt \fBrcc\fP code generator automatically, i.e. without having to use
+the \fBQT4_ADD_RESOURCES()\fP or \fBQT5_ADD_RESOURCES()\fP
+macro.  Currently Qt4 and Qt5 are supported.
+.sp
+When this property is \fBON\fP, CMake will handle \fB\&.qrc\fP files added
+as target sources at build time and invoke \fBrcc\fP accordingly.
+This property is initialized by the value of the \fBCMAKE_AUTORCC\fP
+variable if it is set when a target is created.
+.sp
+Additional command line options for rcc can be set via the
+\fBAUTORCC_OPTIONS\fP source file property on the \fB\&.qrc\fP file.
+.sp
+The global property \fBAUTOGEN_TARGETS_FOLDER\fP can be used to group
+the autorcc targets together in an IDE, e.g. in MSVS.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS AUTORCC_OPTIONS
+.sp
+Additional options for \fBrcc\fP when using \fBAUTORCC\fP
+.sp
+This property holds additional command line options which will be used
+when \fBrcc\fP is executed during the build via \fBAUTORCC\fP,
+i.e. it is equivalent to the optional \fBOPTIONS\fP argument of the
+\fBqt4_add_resources()\fP macro.
+.sp
+By default it is empty.
+.sp
+This property is initialized by the value of the
+\fBCMAKE_AUTORCC_OPTIONS\fP variable if it is set when a target is
+created.
+.sp
+The options set on the target may be overridden by \fBAUTORCC_OPTIONS\fP
+set on the \fB\&.qrc\fP source file.
+.sp
+See the \fBcmake\-qt(7)\fP manual for more information on using CMake
+with Qt.
+.SS BUILD_WITH_INSTALL_RPATH
+.sp
+Should build tree targets have install tree rpaths.
+.sp
+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.
+.SS BUNDLE_EXTENSION
+.sp
+The file extension used to name a BUNDLE target on the Mac.
+.sp
+The default value is "bundle" \- you can also use "plugin" or whatever
+file extension is required by the host app for your bundle.
+.SS BUNDLE
+.sp
+This target is a CFBundle on the Mac.
+.sp
+If a module library target has this property set to true it will be
+built as a CFBundle when built on the mac.  It will have the directory
+structure required for a CFBundle and will be suitable to be used for
+creating Browser Plugins or other application resources.
+.SS C_EXTENSIONS
+.sp
+Boolean specifying whether compiler specific extensions are requested.
+.sp
+This property specifies whether compiler specific extensions should be
+used.  For some compilers, this results in adding a flag such
+as \fB\-std=gnu11\fP instead of \fB\-std=c11\fP to the compile line.  This
+property is \fBON\fP by default.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_C_EXTENSIONS\fP variable if it is set when a target
+is created.
+.SS C_STANDARD
+.sp
+The C standard whose features are requested to build this target.
+.sp
+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 \fB\-std=gnu11\fP to the compile line.  For compilers that
+have no notion of a standard level, such as MSVC, this has no effect.
+.sp
+Supported values are \fB90\fP, \fB99\fP and \fB11\fP\&.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(TARGET tgt PROPERTY C_STANDARD 11)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+with a compiler which does not support \fB\-std=gnu11\fP or an equivalent
+flag will not result in an error or warning, but will instead add the
+\fB\-std=gnu99\fP or \fB\-std=gnu90\fP flag if supported.  This "decay" behavior may
+be controlled with the \fBC_STANDARD_REQUIRED\fP target property.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_C_STANDARD\fP variable if it is set when a target
+is created.
+.SS C_STANDARD_REQUIRED
+.sp
+Boolean describing whether the value of \fBC_STANDARD\fP is a requirement.
+.sp
+If this property is set to \fBON\fP, then the value of the
+\fBC_STANDARD\fP target property is treated as a requirement.  If this
+property is \fBOFF\fP or unset, the \fBC_STANDARD\fP 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.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_C_STANDARD_REQUIRED\fP variable if it is set when a
+target is created.
+.SS COMPATIBLE_INTERFACE_BOOL
+.sp
+Properties which must be compatible with their link interface
+.sp
+The \fBCOMPATIBLE_INTERFACE_BOOL\fP property may contain a list of
+properties for this target which must be consistent when evaluated as a
+boolean with the \fBINTERFACE\fP variant of the property in all linked
+dependees.  For example, if a property \fBFOO\fP appears in the list, then
+for each dependee, the \fBINTERFACE_FOO\fP property content in all of its
+dependencies must be consistent with each other, and with the \fBFOO\fP
+property in the depender.
+.sp
+Consistency in this sense has the meaning that if the property is set,
+then it must have the same boolean value as all others, and if the
+property is not set, then it is ignored.
+.sp
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+Compatible Interface Properties\&.
+.SS COMPATIBLE_INTERFACE_NUMBER_MAX
+.sp
+Properties whose maximum value from the link interface will be used.
+.sp
+The \fBCOMPATIBLE_INTERFACE_NUMBER_MAX\fP property may contain a list of
+properties for this target whose maximum value may be read at generate
+time when evaluated in the \fBINTERFACE\fP variant of the property in all
+linked dependees.  For example, if a property \fBFOO\fP appears in the list,
+then for each dependee, the \fBINTERFACE_FOO\fP property content in all of
+its dependencies will be compared with each other and with the \fBFOO\fP
+property in the depender.  When reading the \fBFOO\fP property at generate
+time, the maximum value will be returned. If the property is not set,
+then it is ignored.
+.sp
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+Compatible Interface Properties\&.
+.SS COMPATIBLE_INTERFACE_NUMBER_MIN
+.sp
+Properties whose maximum value from the link interface will be used.
+.sp
+The \fBCOMPATIBLE_INTERFACE_NUMBER_MIN\fP property may contain a list of
+properties for this target whose minimum value may be read at generate
+time when evaluated in the \fBINTERFACE\fP variant of the property of all
+linked dependees.  For example, if a
+property \fBFOO\fP appears in the list, then for each dependee, the
+\fBINTERFACE_FOO\fP property content in all of its dependencies will be
+compared with each other and with the \fBFOO\fP property in the depender.
+When reading the \fBFOO\fP property at generate time, the minimum value
+will be returned.  If the property is not set, then it is ignored.
+.sp
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+Compatible Interface Properties\&.
+.SS COMPATIBLE_INTERFACE_STRING
+.sp
+Properties which must be string\-compatible with their link interface
+.sp
+The \fBCOMPATIBLE_INTERFACE_STRING\fP property may contain a list of
+properties for this target which must be the same when evaluated as a
+string in the \fBINTERFACE\fP variant of the property all linked dependees.
+For example, if a property \fBFOO\fP appears in the list, then for each
+dependee, the \fBINTERFACE_FOO\fP property content in all of its
+dependencies must be equal with each other, and with the \fBFOO\fP property
+in the depender.  If the property is not set, then it is ignored.
+.sp
+Note that for each dependee, the set of properties specified in this
+property must not intersect with the set specified in any of the other
+Compatible Interface Properties\&.
+.SS COMPILE_DEFINITIONS
+.sp
+Preprocessor definitions for compiling a target\(aqs sources.
+.sp
+The \fBCOMPILE_DEFINITIONS\fP property may be set to a semicolon\-separated
+list of preprocessor definitions using the syntax \fBVAR\fP or \fBVAR=value\fP\&.
+Function\-style definitions are not supported.  CMake will
+automatically escape the value correctly for the native build system
+(note that CMake language syntax may require escapes to specify some
+values).
+.sp
+CMake will automatically drop some definitions that are not supported
+by the native build tool.  The VS6 IDE does not support definition
+values with spaces (but NMake does).
+.sp
+Disclaimer: Most native build tools have poor support for escaping
+certain values.  CMake has work\-arounds for many cases but some values
+may just not be possible to pass correctly.  If a value does not seem
+to be escaped correctly, do not attempt to work\-around the problem by
+adding escape sequences to the value.  Your work\-around may break in a
+future version of CMake that has improved escape support.  Instead
+consider defining the macro in a (configured) header file.  Then
+report the limitation.  Known limitations include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#          \- broken almost everywhere
+;          \- broken in VS IDE 7.0 and Borland Makefiles
+,          \- broken in VS IDE
+%          \- broken in some cases in NMake
+& |        \- broken in some cases on MinGW
+^ < > \e"   \- broken in most Make tools on Windows
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake does not reject these values outright because they do work in
+some cases.  Use with caution.
+.sp
+Contents of \fBCOMPILE_DEFINITIONS\fP may use "generator expressions" with the
+syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP manual
+for available expressions.  See the \fBcmake\-buildsystem(7)\fP manual
+for more on defining buildsystem properties.
+.sp
+The corresponding \fBCOMPILE_DEFINITIONS_<CONFIG>\fP property may
+be set to specify per\-configuration definitions.  Generator expressions
+should be preferred instead of setting the alternative property.
+.SS COMPILE_FEATURES
+.sp
+Compiler features enabled for this target.
+.sp
+The list of features in this property are a subset of the features listed
+in the \fBCMAKE_CXX_COMPILE_FEATURES\fP variable.
+.sp
+Contents of \fBCOMPILE_FEATURES\fP may use "generator expressions" with the
+syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP manual for
+available expressions.  See the \fBcmake\-compile\-features(7)\fP manual
+for information on compile features and a list of supported compilers.
+.SS COMPILE_FLAGS
+.sp
+Additional flags to use when compiling this target\(aqs sources.
+.sp
+The COMPILE_FLAGS property sets additional compiler flags used to
+build sources within the target.  Use COMPILE_DEFINITIONS to pass
+additional preprocessor definitions.
+.sp
+This property is deprecated.  Use the COMPILE_OPTIONS property or the
+target_compile_options command instead.
+.SS COMPILE_OPTIONS
+.sp
+List of options to pass to the compiler.
+.sp
+This property holds a ;\-list of options
+specified so far for its target.  Use the \fBtarget_compile_options()\fP
+command to append more options.
+.sp
+This property is intialized by the \fBCOMPILE_OPTIONS\fP directory
+property when a target is created, and is used by the generators to set
+the options for the compiler.
+.sp
+Contents of \fBCOMPILE_OPTIONS\fP may use "generator expressions" with the
+syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP manual
+for available expressions.  See the \fBcmake\-buildsystem(7)\fP manual
+for more on defining buildsystem properties.
+.SS COMPILE_PDB_NAME
+.sp
+Output name for the MS debug symbol \fB\&.pdb\fP file generated by the
+compiler while building source files.
+.sp
+This property specifies the base name for the debug symbols file.
+If not set, the default is unspecified.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The compiler\-generated program database files are specified by the
+\fB/Fd\fP compiler flag and are not the same as linker\-generated
+program database files specified by the \fB/pdb\fP linker flag.
+Use the \fBPDB_NAME\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS COMPILE_PDB_NAME_<CONFIG>
+.sp
+Per\-configuration output name for the MS debug symbol \fB\&.pdb\fP file
+generated by the compiler while building source files.
+.sp
+This is the configuration\-specific version of \fBCOMPILE_PDB_NAME\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The compiler\-generated program database files are specified by the
+\fB/Fd\fP compiler flag and are not the same as linker\-generated
+program database files specified by the \fB/pdb\fP linker flag.
+Use the \fBPDB_NAME_<CONFIG>\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS COMPILE_PDB_OUTPUT_DIRECTORY
+.sp
+Output directory for the MS debug symbol \fB\&.pdb\fP file
+generated by the compiler while building source files.
+.sp
+This property specifies the directory into which the MS debug symbols
+will be placed by the compiler.  This property is initialized by the
+value of the \fBCMAKE_COMPILE_PDB_OUTPUT_DIRECTORY\fP variable
+if it is set when a target is created.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The compiler\-generated program database files are specified by the
+\fB/Fd\fP compiler flag and are not the same as linker\-generated
+program database files specified by the \fB/pdb\fP linker flag.
+Use the \fBPDB_OUTPUT_DIRECTORY\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for the MS debug symbol \fB\&.pdb\fP file
+generated by the compiler while building source files.
+.sp
+This is a per\-configuration version of
+\fBCOMPILE_PDB_OUTPUT_DIRECTORY\fP,
+but multi\-configuration generators (VS, Xcode) do NOT append a
+per\-configuration subdirectory to the specified directory.  This
+property is initialized by the value of the
+\fBCMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>\fP variable
+if it is set when a target is created.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+The compiler\-generated program database files are specified by the
+\fB/Fd\fP compiler flag and are not the same as linker\-generated
+program database files specified by the \fB/pdb\fP linker flag.
+Use the \fBPDB_OUTPUT_DIRECTORY_<CONFIG>\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS <CONFIG>_OUTPUT_NAME
+.sp
+Old per\-configuration target file base name.
+.sp
+This is a configuration\-specific version of OUTPUT_NAME.  Use
+OUTPUT_NAME_<CONFIG> instead.
+.SS <CONFIG>_POSTFIX
+.sp
+Postfix to append to the target file name for configuration <CONFIG>.
+.sp
+When building with configuration <CONFIG> the value of this property
+is appended to the target file name built on disk.  For non\-executable
+targets, this property is initialized by the value of the variable
+CMAKE_<CONFIG>_POSTFIX if it is set when a target is created.  This
+property is ignored on the Mac for Frameworks and App Bundles.
+.SS CROSSCOMPILING_EMULATOR
+.sp
+Use the given emulator to run executables created when crosscompiling.  This
+command will be added as a prefix to \fBadd_test()\fP test commands for
+built target system executables.
+.SS CXX_EXTENSIONS
+.sp
+Boolean specifying whether compiler specific extensions are requested.
+.sp
+This property specifies whether compiler specific extensions should be
+used.  For some compilers, this results in adding a flag such
+as \fB\-std=gnu++11\fP instead of \fB\-std=c++11\fP to the compile line.  This
+property is \fBON\fP by default.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_CXX_EXTENSIONS\fP variable if it is set when a target
+is created.
+.SS CXX_STANDARD
+.sp
+The C++ standard whose features are requested to build this target.
+.sp
+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 \fB\-std=gnu++11\fP to the compile line.  For compilers that
+have no notion of a standard level, such as MSVC, this has no effect.
+.sp
+Supported values are \fB98\fP, \fB11\fP and \fB14\fP\&.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(TARGET tgt PROPERTY CXX_STANDARD 11)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+with a compiler which does not support \fB\-std=gnu++11\fP or an equivalent
+flag will not result in an error or warning, but will instead add the
+\fB\-std=gnu++98\fP flag if supported.  This "decay" behavior may be controlled
+with the \fBCXX_STANDARD_REQUIRED\fP target property.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_CXX_STANDARD\fP variable if it is set when a target
+is created.
+.SS CXX_STANDARD_REQUIRED
+.sp
+Boolean describing whether the value of \fBCXX_STANDARD\fP is a requirement.
+.sp
+If this property is set to \fBON\fP, then the value of the
+\fBCXX_STANDARD\fP target property is treated as a requirement.  If this
+property is \fBOFF\fP or unset, the \fBCXX_STANDARD\fP 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.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_CXX_STANDARD_REQUIRED\fP variable if it is set when a
+target is created.
+.SS DEBUG_POSTFIX
+.sp
+See target property <CONFIG>_POSTFIX.
+.sp
+This property is a special case of the more\-general <CONFIG>_POSTFIX
+property for the DEBUG configuration.
+.SS DEFINE_SYMBOL
+.sp
+Define a symbol when compiling this target\(aqs sources.
+.sp
+DEFINE_SYMBOL sets the name of the preprocessor symbol defined when
+compiling sources in a shared library.  If not set here then it is set
+to target_EXPORTS by default (with some substitutions if the target is
+not a valid C identifier).  This is useful for headers to know whether
+they are being included from inside their library or outside to
+properly setup dllexport/dllimport decorations.
+.SS EchoString
+.sp
+A message to be displayed when the target is built.
+.sp
+A message to display on some generators (such as makefiles) when the
+target is built.
+.SS ENABLE_EXPORTS
+.sp
+Specify whether an executable exports symbols for loadable modules.
+.sp
+Normally an executable does not export any symbols because it is the
+final program.  It is possible for an executable to export symbols to
+be used by loadable modules.  When this property is set to true CMake
+will allow other targets to "link" to the executable with the
+TARGET_LINK_LIBRARIES command.  On all platforms a target\-level
+dependency on the executable is created for targets that link to it.
+For DLL platforms an import library will be created for the exported
+symbols and then used for linking.  All Windows\-based systems
+including Cygwin are DLL platforms.  For non\-DLL platforms that
+require all symbols to be resolved at link time, such as Mac OS X, the
+module will "link" to the executable using a flag like
+"\-bundle_loader".  For other non\-DLL platforms the link rule is simply
+ignored since the dynamic loader will automatically bind symbols when
+the module is loaded.
+.SS EXCLUDE_FROM_ALL
+.sp
+Exclude the target from the all target.
+.sp
+A property on a target that indicates if the target is excluded from
+the default build target.  If it is not, then with a Makefile for
+example typing make will cause this target to be built.  The same
+concept applies to the default build of other generators.  Installing
+a target with EXCLUDE_FROM_ALL set to true has undefined behavior.
+.SS EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>
+.sp
+Per\-configuration version of target exclusion from "Build Solution".
+.sp
+This is the configuration\-specific version of
+EXCLUDE_FROM_DEFAULT_BUILD.  If the generic EXCLUDE_FROM_DEFAULT_BUILD
+is also set on a target, EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG> takes
+precedence in configurations for which it has a value.
+.SS EXCLUDE_FROM_DEFAULT_BUILD
+.sp
+Exclude target from "Build Solution".
+.sp
+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".
+.SS EXPORT_NAME
+.sp
+Exported name for target files.
+.sp
+This sets the name for the IMPORTED target generated when it this
+target is is exported.  If not set, the logical target name is used by
+default.
+.SS FOLDER
+.sp
+Set the folder name. Use to organize targets in an IDE.
+.sp
+Targets with no FOLDER property will appear as top level entities in
+IDEs like Visual Studio.  Targets with the same FOLDER property value
+will appear next to each other in a folder of that name.  To nest
+folders, use FOLDER values such as \(aqGUI/Dialogs\(aq with \(aq/\(aq characters
+separating folder levels.
+.SS Fortran_FORMAT
+.sp
+Set to FIXED or FREE to indicate the Fortran source layout.
+.sp
+This property tells CMake whether the Fortran source files in a target
+use fixed\-format or free\-format.  CMake will pass the corresponding
+format flag to the compiler.  Use the source\-specific Fortran_FORMAT
+property to change the format of a specific source file.  If the
+variable CMAKE_Fortran_FORMAT is set when a target is created its
+value is used to initialize this property.
+.SS Fortran_MODULE_DIRECTORY
+.sp
+Specify output directory for Fortran modules provided by the target.
+.sp
+If the target contains Fortran source files that provide modules and
+the compiler supports a module output directory this specifies the
+directory in which the modules will be placed.  When this property is
+not set the modules will be placed in the build directory
+corresponding to the target\(aqs source directory.  If the variable
+CMAKE_Fortran_MODULE_DIRECTORY is set when a target is created its
+value is used to initialize this property.
+.sp
+Note that some compilers will automatically search the module output
+directory for modules USEd during compilation but others will not.  If
+your sources USE modules their location must be specified by
+INCLUDE_DIRECTORIES regardless of this property.
+.SS FRAMEWORK
+.sp
+This target is a framework on the Mac.
+.sp
+If a shared library target has this property set to true it will be
+built as a framework when built on the mac.  It will have the
+directory structure required for a framework and will be suitable to
+be used with the \-framework option
+.SS GENERATOR_FILE_NAME
+.sp
+Generator\(aqs file for this target.
+.sp
+An internal property used by some generators to record the name of the
+project or dsp file associated with this target.  Note that at
+configure time, this property is only set for targets created by
+include_external_msproject().
+.SS GNUtoMS
+.sp
+Convert GNU import library (.dll.a) to MS format (.lib).
+.sp
+When linking a shared library or executable that exports symbols using
+GNU tools on Windows (MinGW/MSYS) with Visual Studio installed convert
+the import library (.dll.a) from GNU to MS format (.lib).  Both import
+libraries will be installed by install(TARGETS) and exported by
+install(EXPORT) and export() to be linked by applications with either
+GNU\- or MS\-compatible tools.
+.sp
+If the variable CMAKE_GNUtoMS is set when a target is created its
+value is used to initialize this property.  The variable must be set
+prior to the first command that enables a language such as project()
+or enable_language().  CMake provides the variable as an option to the
+user automatically when configuring on Windows with GNU tools.
+.SS HAS_CXX
+.sp
+Link the target using the C++ linker tool (obsolete).
+.sp
+This is equivalent to setting the LINKER_LANGUAGE property to CXX.
+See that property\(aqs documentation for details.
+.SS IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+.sp
+Specify #include line transforms for dependencies in a target.
+.sp
+This property specifies rules to transform macro\-like #include lines
+during implicit dependency scanning of C and C++ source files.  The
+list of rules must be semicolon\-separated with each entry of the form
+"A_MACRO(%)=value\-with\-%" (the % must be literal).  During dependency
+scanning occurrences of A_MACRO(...) on #include lines will be
+replaced by the value given with the macro argument substituted for
+\(aq%\(aq.  For example, the entry
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MYDIR(%)=<mydir/%>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+will convert lines of the form
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include MYDIR(myheader.h)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+to
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#include <mydir/myheader.h>
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+allowing the dependency to be followed.
+.sp
+This property applies to sources in the target on which it is set.
+.SS IMPORTED_CONFIGURATIONS
+.sp
+Configurations provided for an IMPORTED target.
+.sp
+Set this to the list of configuration names available for an IMPORTED
+target.  The names correspond to configurations defined in the project
+from which the target is imported.  If the importing project uses a
+different set of configurations the names may be mapped using the
+MAP_IMPORTED_CONFIG_<CONFIG> property.  Ignored for non\-imported
+targets.
+.SS IMPORTED_IMPLIB_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_IMPLIB property.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.
+.SS IMPORTED_IMPLIB
+.sp
+Full path to the import library for an IMPORTED target.
+.sp
+Set this to the location of the ".lib" part of a windows DLL.  Ignored
+for non\-imported targets.
+.SS IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_LINK_DEPENDENT_LIBRARIES.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.  If set, this property completely
+overrides the generic property for the named configuration.
+.SS IMPORTED_LINK_DEPENDENT_LIBRARIES
+.sp
+Dependent shared libraries of an imported shared library.
+.sp
+Shared libraries may be linked to other shared libraries as part of
+their implementation.  On some platforms the linker searches for the
+dependent libraries of shared libraries they are including in the
+link.  Set this property to the list of dependent shared libraries of
+an imported library.  The list should be disjoint from the list of
+interface libraries in the INTERFACE_LINK_LIBRARIES property.  On
+platforms requiring dependent shared libraries to be found at link
+time CMake uses this list to add appropriate files or paths to the
+link command line.  Ignored for non\-imported targets.
+.SS IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_LINK_INTERFACE_LANGUAGES.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.  If set, this property completely
+overrides the generic property for the named configuration.
+.SS IMPORTED_LINK_INTERFACE_LANGUAGES
+.sp
+Languages compiled into an IMPORTED static library.
+.sp
+Set this to the list of languages of source files compiled to produce
+a STATIC IMPORTED library (such as "C" or "CXX").  CMake accounts for
+these languages when computing how to link a target to the imported
+library.  For example, when a C executable links to an imported C++
+static library CMake chooses the C++ linker to satisfy language
+runtime dependencies of the static library.
+.sp
+This property is ignored for targets that are not STATIC libraries.
+This property is ignored for non\-imported targets.
+.SS IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_LINK_INTERFACE_LIBRARIES.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.  If set, this property completely
+overrides the generic property for the named configuration.
+.sp
+This property is ignored if the target also has a non\-empty
+INTERFACE_LINK_LIBRARIES property.
+.sp
+This property is deprecated.  Use INTERFACE_LINK_LIBRARIES instead.
+.SS IMPORTED_LINK_INTERFACE_LIBRARIES
+.sp
+Transitive link interface of an IMPORTED target.
+.sp
+Set this to the list of libraries whose interface is included when an
+IMPORTED library target is linked to another target.  The libraries
+will be included on the link line for the target.  Unlike the
+LINK_INTERFACE_LIBRARIES property, this property applies to all
+imported target types, including STATIC libraries.  This property is
+ignored for non\-imported targets.
+.sp
+This property is ignored if the target also has a non\-empty
+INTERFACE_LINK_LIBRARIES property.
+.sp
+This property is deprecated.  Use INTERFACE_LINK_LIBRARIES instead.
+.SS IMPORTED_LINK_INTERFACE_MULTIPLICITY_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_LINK_INTERFACE_MULTIPLICITY.
+.sp
+If set, this property completely overrides the generic property for
+the named configuration.
+.SS IMPORTED_LINK_INTERFACE_MULTIPLICITY
+.sp
+Repetition count for cycles of IMPORTED static libraries.
+.sp
+This is LINK_INTERFACE_MULTIPLICITY for IMPORTED targets.
+.SS IMPORTED_LOCATION_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_LOCATION property.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.
+.SS IMPORTED_LOCATION
+.sp
+Full path to the main file on disk for an IMPORTED target.
+.sp
+Set this to the location of an IMPORTED target file on disk.  For
+executables this is the location of the executable file.  For bundles
+on OS X this is the location of the executable file inside
+Contents/MacOS under the application bundle folder.  For static
+libraries and modules this is the location of the library or module.
+For shared libraries on non\-DLL platforms this is the location of the
+shared library.  For frameworks on OS X this is the location of the
+library file symlink just inside the framework folder.  For DLLs this
+is the location of the ".dll" part of the library.  For UNKNOWN
+libraries this is the location of the file to be linked.  Ignored for
+non\-imported targets.
+.sp
+Projects may skip IMPORTED_LOCATION if the configuration\-specific
+property IMPORTED_LOCATION_<CONFIG> is set.  To get the location of an
+imported target read one of the LOCATION or LOCATION_<CONFIG>
+properties.
+.SS IMPORTED_NO_SONAME_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_NO_SONAME property.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.
+.SS IMPORTED_NO_SONAME
+.sp
+Specifies that an IMPORTED shared library target has no "soname".
+.sp
+Set this property to true for an imported shared library file that has
+no "soname" field.  CMake may adjust generated link commands for some
+platforms to prevent the linker from using the path to the library in
+place of its missing soname.  Ignored for non\-imported targets.
+.SS IMPORTED
+.sp
+Read\-only indication of whether a target is IMPORTED.
+.sp
+The boolean value of this property is \fBTrue\fP for targets created with
+the IMPORTED option to \fBadd_executable()\fP or \fBadd_library()\fP\&.
+It is \fBFalse\fP for targets built within the project.
+.SS IMPORTED_SONAME_<CONFIG>
+.sp
+<CONFIG>\-specific version of IMPORTED_SONAME property.
+.sp
+Configuration names correspond to those provided by the project from
+which the target is imported.
+.SS IMPORTED_SONAME
+.sp
+The "soname" of an IMPORTED target of shared library type.
+.sp
+Set this to the "soname" embedded in an imported shared library.  This
+is meaningful only on platforms supporting the feature.  Ignored for
+non\-imported targets.
+.SS IMPORT_PREFIX
+.sp
+What comes before the import library name.
+.sp
+Similar to the target property PREFIX, but used for import libraries
+(typically corresponding to a DLL) instead of regular libraries.  A
+target property that can be set to override the prefix (such as "lib")
+on an import library name.
+.SS IMPORT_SUFFIX
+.sp
+What comes after the import library name.
+.sp
+Similar to the target property SUFFIX, but used for import libraries
+(typically corresponding to a DLL) instead of regular libraries.  A
+target property that can be set to override the suffix (such as
+".lib") on an import library name.
+.SS INCLUDE_DIRECTORIES
+.sp
+List of preprocessor include file search directories.
+.sp
+This property specifies the list of directories given so far to the
+\fBtarget_include_directories()\fP command.  In addition to accepting
+values from that command, values may be set directly on any
+target using the \fBset_property()\fP command.  A target gets its
+initial value for this property from the value of the
+\fBINCLUDE_DIRECTORIES\fP directory property.  Both directory and
+target property values are adjusted by calls to the
+\fBinclude_directories()\fP command.
+.sp
+The value of this property is used by the generators to set the include
+paths for the compiler.
+.sp
+Relative paths should not be added to this property directly. Use one of
+the commands above instead to handle relative paths.
+.sp
+Contents of \fBINCLUDE_DIRECTORIES\fP may use "generator expressions" with
+the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS INSTALL_NAME_DIR
+.sp
+Mac OSX directory name for installed targets.
+.sp
+INSTALL_NAME_DIR is a string specifying the directory portion of the
+"install_name" field of shared libraries on Mac OSX to use in the
+installed targets.
+.SS INSTALL_RPATH
+.sp
+The rpath to use for installed targets.
+.sp
+A semicolon\-separated list specifying the rpath to use in installed
+targets (for platforms that support it).  This property is initialized
+by the value of the variable CMAKE_INSTALL_RPATH if it is set when a
+target is created.
+.SS INSTALL_RPATH_USE_LINK_PATH
+.sp
+Add paths to linker search and installed rpath.
+.sp
+INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true will
+append directories in the linker search path and outside the project
+to the INSTALL_RPATH.  This property is initialized by the value of
+the variable CMAKE_INSTALL_RPATH_USE_LINK_PATH if it is set when a
+target is created.
+.SS INTERFACE_AUTOUIC_OPTIONS
+.sp
+List of interface options to pass to uic.
+.sp
+Targets may populate this property to publish the options
+required to use when invoking \fBuic\fP\&.  Consuming targets can add entries to their
+own \fBAUTOUIC_OPTIONS\fP property such as
+\fB$<TARGET_PROPERTY:foo,INTERFACE_AUTOUIC_OPTIONS>\fP to use the uic options
+specified in the interface of \fBfoo\fP\&. This is done automatically by
+the \fBtarget_link_libraries()\fP command.
+.sp
+This property supports generator expressions.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
+.SS INTERFACE_COMPILE_DEFINITIONS
+.sp
+List of public compile definitions requirements for a library.
+.sp
+Targets may populate this property to publish the compile definitions
+required to compile against the headers for the target.  The \fBtarget_compile_definitions()\fP
+command populates this property with values given to the \fBPUBLIC\fP and
+\fBINTERFACE\fP keywords.  Projects may also get and set the property directly.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to determine the
+build properties of the consumer.
+.sp
+Contents of \fBINTERFACE_COMPILE_DEFINITIONS\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+\-manual for more on defining buildsystem properties.
+.SS INTERFACE_COMPILE_FEATURES
+.sp
+List of public compile features requirements for a library.
+.sp
+Targets may populate this property to publish the compile features
+required to compile against the headers for the target.  The \fBtarget_compile_features()\fP
+command populates this property with values given to the \fBPUBLIC\fP and
+\fBINTERFACE\fP keywords.  Projects may also get and set the property directly.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to determine the
+build properties of the consumer.
+.sp
+Contents of \fBINTERFACE_COMPILE_FEATURES\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+\-manual for more on defining buildsystem properties.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on compile
+features and a list of supported compilers.
+.SS INTERFACE_COMPILE_OPTIONS
+.sp
+List of public compile options requirements for a library.
+.sp
+Targets may populate this property to publish the compile options
+required to compile against the headers for the target.  The \fBtarget_compile_options()\fP
+command populates this property with values given to the \fBPUBLIC\fP and
+\fBINTERFACE\fP keywords.  Projects may also get and set the property directly.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to determine the
+build properties of the consumer.
+.sp
+Contents of \fBINTERFACE_COMPILE_OPTIONS\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+\-manual for more on defining buildsystem properties.
+.SS INTERFACE_INCLUDE_DIRECTORIES
+.sp
+List of public include directories requirements for a library.
+.sp
+Targets may populate this property to publish the include directories
+required to compile against the headers for the target.  The \fBtarget_include_directories()\fP
+command populates this property with values given to the \fBPUBLIC\fP and
+\fBINTERFACE\fP keywords.  Projects may also get and set the property directly.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to determine the
+build properties of the consumer.
+.sp
+Contents of \fBINTERFACE_INCLUDE_DIRECTORIES\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+\-manual for more on defining buildsystem properties.
+.sp
+Include directories usage requirements commonly differ between the build\-tree
+and the install\-tree.  The \fBBUILD_INTERFACE\fP and \fBINSTALL_INTERFACE\fP
+generator expressions can be used to describe separate usage requirements
+based on the usage location.  Relative paths are allowed within the
+\fBINSTALL_INTERFACE\fP expression and are interpreted relative to the
+installation prefix.  For example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+target_include_directories(mylib INTERFACE
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/mylib>
+  $<INSTALL_INTERFACE:include/mylib>  # <prefix>/include/mylib
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the \fBINSTALL_INTERFACE\fP of the
+\fBINTERFACE_INCLUDE_DIRECTORIES\fP of a target with absolute paths to the include
+directories of dependencies.  That would hard\-code into installed packages
+the include directory paths for dependencies
+\fBas found on the machine the package was made on\fP\&.
+.sp
+The \fBINSTALL_INTERFACE\fP of the \fBINTERFACE_INCLUDE_DIRECTORIES\fP is only
+suitable for specifying the required include directories for headers
+provided with the target itself, not those provided by the transitive
+dependencies listed in its \fBINTERFACE_LINK_LIBRARIES\fP target
+property.  Those dependencies should themselves be targets that specify
+their own header locations in \fBINTERFACE_INCLUDE_DIRECTORIES\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS INTERFACE_LINK_LIBRARIES
+.sp
+List public interface libraries for a library.
+.sp
+This property contains the list of transitive link dependencies.  When
+the target is linked into another target using the
+\fBtarget_link_libraries()\fP command, the libraries listed (and
+recursively their link interface libraries) will be provided to the
+other target also.  This property is overridden by the
+\fBLINK_INTERFACE_LIBRARIES\fP or
+\fBLINK_INTERFACE_LIBRARIES_<CONFIG>\fP property if policy
+\fBCMP0022\fP is \fBOLD\fP or unset.
+.sp
+Contents of \fBINTERFACE_LINK_LIBRARIES\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the
+\fBINTERFACE_LINK_LIBRARIES\fP of a target with absolute paths to dependencies.
+That would hard\-code into installed packages the library file paths
+for dependencies \fBas found on the machine the package was made on\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS INTERFACE_POSITION_INDEPENDENT_CODE
+.sp
+Whether consumers need to create a position\-independent target
+.sp
+The \fBINTERFACE_POSITION_INDEPENDENT_CODE\fP property informs consumers of
+this target whether they must set their
+\fBPOSITION_INDEPENDENT_CODE\fP property to \fBON\fP\&.  If this
+property is set to \fBON\fP, then the \fBPOSITION_INDEPENDENT_CODE\fP
+property on  all consumers will be set to \fBON\fP\&. Similarly, if this
+property is set to \fBOFF\fP, then the \fBPOSITION_INDEPENDENT_CODE\fP
+property on all consumers will be set to \fBOFF\fP\&.  If this property is
+undefined, then consumers will determine their
+\fBPOSITION_INDEPENDENT_CODE\fP property by other means.  Consumers
+must ensure that the targets that they link to have a consistent
+requirement for their \fBINTERFACE_POSITION_INDEPENDENT_CODE\fP property.
+.SS INTERFACE_SOURCES
+.sp
+List of interface sources to compile into consuming targets.
+.sp
+Targets may populate this property to publish the sources
+for consuming targets to compile.  The \fBtarget_sources()\fP command
+populates this property with values given to the \fBPUBLIC\fP and
+\fBINTERFACE\fP keywords.  Projects may also get and set the property directly.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to determine the
+sources of the consumer.
+.sp
+Contents of \fBINTERFACE_SOURCES\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.SS INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
+.sp
+List of public system include directories for a library.
+.sp
+Targets may populate this property to publish the include directories
+which contain system headers, and therefore should not result in
+compiler warnings.  The \fBtarget_include_directories(SYSTEM)\fP
+command signature populates this property with values given to the
+\fBPUBLIC\fP and \fBINTERFACE\fP keywords.
+.sp
+Projects may also get and set the property directly, but must be aware that
+adding directories to this property does not make those directories used
+during compilation.  Adding directories to this property marks directories
+as \fBSYSTEM\fP which otherwise would be used in a non\-\fBSYSTEM\fP manner.  This
+can appear similar to \(aqduplication\(aq, so prefer the
+high\-level \fBtarget_include_directories(SYSTEM)\fP command and avoid
+setting the property by low\-level means.
+.sp
+When target dependencies are specified using \fBtarget_link_libraries()\fP,
+CMake will read this property from all target dependencies to mark the
+same include directories as containing system headers.
+.sp
+Contents of \fBINTERFACE_SYSTEM_INCLUDE_DIRECTORIES\fP may use "generator
+expressions" with the syntax \fB$<...>\fP\&.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available expressions.
+See the \fBcmake\-buildsystem(7)\fP manual for more on defining
+buildsystem properties.
+.SS INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
+.sp
+Per\-configuration interprocedural optimization for a target.
+.sp
+This is a per\-configuration version of INTERPROCEDURAL_OPTIMIZATION.
+If set, this property overrides the generic property for the named
+configuration.
+.SS INTERPROCEDURAL_OPTIMIZATION
+.sp
+Enable interprocedural optimization for a target.
+.sp
+If set to true, enables interprocedural optimizations if they are
+known to be supported by the compiler.
+.SS JOB_POOL_COMPILE
+.sp
+Ninja only: Pool used for compiling.
+.sp
+The number of parallel compile processes could be limited by defining
+pools with the global \fBJOB_POOLS\fP
+property and then specifying here the pool name.
+.sp
+For instance:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(TARGET myexe PROPERTY JOB_POOL_COMPILE ten_jobs)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This property is initialized by the value of
+\fBCMAKE_JOB_POOL_COMPILE\fP\&.
+.SS JOB_POOL_LINK
+.sp
+Ninja only: Pool used for linking.
+.sp
+The number of parallel link processes could be limited by defining
+pools with the global \fBJOB_POOLS\fP
+property and then specifing here the pool name.
+.sp
+For instance:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_property(TARGET myexe PROPERTY JOB_POOL_LINK two_jobs)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This property is initialized by the value of \fBCMAKE_JOB_POOL_LINK\fP\&.
+.SS LABELS
+.sp
+Specify a list of text labels associated with a target.
+.sp
+Target label semantics are currently unspecified.
+.SS <LANG>_INCLUDE_WHAT_YOU_USE
+.sp
+This property is implemented only when \fB<LANG>\fP is \fBC\fP or \fBCXX\fP\&.
+.sp
+Specify a ;\-list containing a command
+line for the \fBinclude\-what\-you\-use\fP tool.  The Makefile Generators
+and the \fBNinja\fP generator will run this tool along with the
+compiler and report a warning if the tool reports any problems.
+.sp
+This property is initialized by the value of
+the \fBCMAKE_<LANG>_INCLUDE_WHAT_YOU_USE\fP variable if it is set
+when a target is created.
+.SS <LANG>_VISIBILITY_PRESET
+.sp
+Value for symbol visibility compile flags
+.sp
+The \fB<LANG>_VISIBILITY_PRESET\fP property determines the value passed in a
+visibility related compile option, such as \fB\-fvisibility=\fP for \fB<LANG>\fP\&.
+This property affects compilation in sources of all types of targets
+(subject to policy \fBCMP0063\fP).
+.sp
+This property is initialized by the value of the
+\fBCMAKE_<LANG>_VISIBILITY_PRESET\fP variable if it is set when a
+target is created.
+.SS LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for
+LIBRARY target files.
+.sp
+This is a per\-configuration version of the
+\fBLIBRARY_OUTPUT_DIRECTORY\fP target property, but
+multi\-configuration generators (VS, Xcode) do NOT append a
+per\-configuration subdirectory to the specified directory.  This
+property is initialized by the value of the
+\fBCMAKE_LIBRARY_OUTPUT_DIRECTORY_<CONFIG>\fP variable if
+it is set when a target is created.
+.SS LIBRARY_OUTPUT_DIRECTORY
+.sp
+Output directory in which to build LIBRARY target files.
+.sp
+This property specifies the directory into which library target files
+should be built.  Multi\-configuration generators (VS, Xcode) append a
+per\-configuration subdirectory to the specified directory.
+.sp
+This property is initialized by the value of the variable
+CMAKE_LIBRARY_OUTPUT_DIRECTORY if it is set when a target is created.
+.sp
+See also the \fBLIBRARY_OUTPUT_DIRECTORY_<CONFIG>\fP target property.
+.SS LIBRARY_OUTPUT_NAME_<CONFIG>
+.sp
+Per\-configuration output name for
+LIBRARY target files.
+.sp
+This is the configuration\-specific version of the
+\fBLIBRARY_OUTPUT_NAME\fP target property.
+.SS LIBRARY_OUTPUT_NAME
+.sp
+Output name for LIBRARY target files.
+.sp
+This property specifies the base name for library target files.  It
+overrides \fBOUTPUT_NAME\fP and \fBOUTPUT_NAME_<CONFIG>\fP
+properties.
+.sp
+See also the \fBLIBRARY_OUTPUT_NAME_<CONFIG>\fP target property.
+.SS LINK_DEPENDS_NO_SHARED
+.sp
+Do not depend on linked shared library files.
+.sp
+Set this property to true to tell CMake generators not to add
+file\-level dependencies on the shared library files linked by this
+target.  Modification to the shared libraries will not be sufficient
+to re\-link this target.  Logical target\-level dependencies will not be
+affected so the linked shared libraries will still be brought up to
+date before this target is built.
+.sp
+This property is initialized by the value of the variable
+CMAKE_LINK_DEPENDS_NO_SHARED if it is set when a target is created.
+.SS LINK_DEPENDS
+.sp
+Additional files on which a target binary depends for linking.
+.sp
+Specifies a semicolon\-separated list of full\-paths to files on which
+the link rule for this target depends.  The target binary will be
+linked if any of the named files is newer than it.
+.sp
+This property is ignored by non\-Makefile generators.  It is intended
+to specify dependencies on "linker scripts" for custom Makefile link
+rules.
+.SS LINKER_LANGUAGE
+.sp
+Specifies language whose compiler will invoke the linker.
+.sp
+For executables, shared libraries, and modules, this sets the language
+whose compiler is used to link the target (such as "C" or "CXX").  A
+typical value for an executable is the language of the source file
+providing the program entry point (main).  If not set, the language
+with the highest linker preference value is the default.  See
+documentation of CMAKE_<LANG>_LINKER_PREFERENCE variables.
+.sp
+If this property is not set by the user, it will be calculated at
+generate\-time by CMake.
+.SS LINK_FLAGS_<CONFIG>
+.sp
+Per\-configuration linker flags for a target.
+.sp
+This is the configuration\-specific version of LINK_FLAGS.
+.SS LINK_FLAGS
+.sp
+Additional flags to use when linking this target.
+.sp
+The LINK_FLAGS property can be used to add extra flags to the link
+step of a target.  LINK_FLAGS_<CONFIG> will add to the configuration
+<CONFIG>, for example, DEBUG, RELEASE, MINSIZEREL, RELWITHDEBINFO.
+.SS LINK_INTERFACE_LIBRARIES_<CONFIG>
+.sp
+Per\-configuration list of public interface libraries for a target.
+.sp
+This is the configuration\-specific version of
+\fBLINK_INTERFACE_LIBRARIES\fP\&.  If set, this property completely
+overrides the generic property for the named configuration.
+.sp
+This property is overridden by the \fBINTERFACE_LINK_LIBRARIES\fP
+property if policy \fBCMP0022\fP is \fBNEW\fP\&.
+.sp
+This property is deprecated.  Use \fBINTERFACE_LINK_LIBRARIES\fP
+instead.
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the
+\fBLINK_INTERFACE_LIBRARIES_<CONFIG>\fP of a target with absolute paths to dependencies.
+That would hard\-code into installed packages the library file paths
+for dependencies \fBas found on the machine the package was made on\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS LINK_INTERFACE_LIBRARIES
+.sp
+List public interface libraries for a shared library or executable.
+.sp
+By default linking to a shared library target transitively links to
+targets with which the library itself was linked.  For an executable
+with exports (see the \fBENABLE_EXPORTS\fP target property) no
+default transitive link dependencies are used.  This property replaces the default
+transitive link dependencies with an explicit list.  When the target
+is linked into another target using the \fBtarget_link_libraries()\fP
+command, the libraries listed (and recursively
+their link interface libraries) will be provided to the other target
+also.  If the list is empty then no transitive link dependencies will
+be incorporated when this target is linked into another target even if
+the default set is non\-empty.  This property is initialized by the
+value of the \fBCMAKE_LINK_INTERFACE_LIBRARIES\fP variable if it is
+set when a target is created.  This property is ignored for \fBSTATIC\fP
+libraries.
+.sp
+This property is overridden by the \fBINTERFACE_LINK_LIBRARIES\fP
+property if policy \fBCMP0022\fP is \fBNEW\fP\&.
+.sp
+This property is deprecated.  Use \fBINTERFACE_LINK_LIBRARIES\fP
+instead.
+.SS Creating Relocatable Packages
+.sp
+Note that it is not advisable to populate the
+\fBLINK_INTERFACE_LIBRARIES\fP of a target with absolute paths to dependencies.
+That would hard\-code into installed packages the library file paths
+for dependencies \fBas found on the machine the package was made on\fP\&.
+.sp
+See the Creating Relocatable Packages section of the
+\fBcmake\-packages(7)\fP manual for discussion of additional care
+that must be taken when specifying usage requirements while creating
+packages for redistribution.
+.SS LINK_INTERFACE_MULTIPLICITY_<CONFIG>
+.sp
+Per\-configuration repetition count for cycles of STATIC libraries.
+.sp
+This is the configuration\-specific version of
+LINK_INTERFACE_MULTIPLICITY.  If set, this property completely
+overrides the generic property for the named configuration.
+.SS LINK_INTERFACE_MULTIPLICITY
+.sp
+Repetition count for STATIC libraries with cyclic dependencies.
+.sp
+When linking to a STATIC library target with cyclic dependencies the
+linker may need to scan more than once through the archives in the
+strongly connected component of the dependency graph.  CMake by
+default constructs the link line so that the linker will scan through
+the component at least twice.  This property specifies the minimum
+number of scans if it is larger than the default.  CMake uses the
+largest value specified by any target in a component.
+.SS LINK_LIBRARIES
+.sp
+List of direct link dependencies.
+.sp
+This property specifies the list of libraries or targets which will be
+used for linking.  In addition to accepting values from the
+\fBtarget_link_libraries()\fP command, values may be set directly on
+any target using the \fBset_property()\fP command.
+.sp
+The value of this property is used by the generators to set the link
+libraries for the compiler.
+.sp
+Contents of \fBLINK_LIBRARIES\fP may use "generator expressions" with the
+syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP manual
+for available expressions.  See the \fBcmake\-buildsystem(7)\fP manual
+for more on defining buildsystem properties.
+.SS LINK_SEARCH_END_STATIC
+.sp
+End a link line such that static system libraries are used.
+.sp
+Some linkers support switches such as \-Bstatic and \-Bdynamic to
+determine whether to use static or shared libraries for \-lXXX options.
+CMake uses these options to set the link type for libraries whose full
+paths are not known or (in some cases) are in implicit link
+directories for the platform.  By default CMake adds an option at the
+end of the library list (if necessary) to set the linker search type
+back to its starting type.  This property switches the final linker
+search type to \-Bstatic regardless of how it started.  See also
+LINK_SEARCH_START_STATIC.
+.SS LINK_SEARCH_START_STATIC
+.sp
+Assume the linker looks for static libraries by default.
+.sp
+Some linkers support switches such as \-Bstatic and \-Bdynamic to
+determine whether to use static or shared libraries for \-lXXX options.
+CMake uses these options to set the link type for libraries whose full
+paths are not known or (in some cases) are in implicit link
+directories for the platform.  By default the linker search type is
+assumed to be \-Bdynamic at the beginning of the library list.  This
+property switches the assumption to \-Bstatic.  It is intended for use
+when linking an executable statically (e.g.  with the GNU \-static
+option).  See also LINK_SEARCH_END_STATIC.
+.SS LOCATION_<CONFIG>
+.sp
+Read\-only property providing a target location on disk.
+.sp
+A read\-only property that indicates where a target\(aqs main file is
+located on disk for the configuration <CONFIG>.  The property is
+defined only for library and executable targets.  An imported target
+may provide a set of configurations different from that of the
+importing project.  By default CMake looks for an exact\-match but
+otherwise uses an arbitrary available configuration.  Use the
+MAP_IMPORTED_CONFIG_<CONFIG> property to map imported configurations
+explicitly.
+.sp
+Do not set properties that affect the location of a target after
+reading this property.  These include properties whose names match
+"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?",
+\fB(IMPLIB_)?(PREFIX|SUFFIX)\fP, or "LINKER_LANGUAGE".  Failure to follow
+this rule is not diagnosed and leaves the location of the target
+undefined.
+.SS LOCATION
+.sp
+Read\-only location of a target on disk.
+.sp
+For an imported target, this read\-only property returns the value of
+the LOCATION_<CONFIG> property for an unspecified configuration
+<CONFIG> provided by the target.
+.sp
+For a non\-imported target, this property is provided for compatibility
+with CMake 2.4 and below.  It was meant to get the location of an
+executable target\(aqs output file for use in add_custom_command.  The
+path may contain a build\-system\-specific portion that is replaced at
+build time with the configuration getting built (such as
+"$(ConfigurationName)" in VS).  In CMake 2.6 and above
+add_custom_command automatically recognizes a target name in its
+COMMAND and DEPENDS options and computes the target location.  In
+CMake 2.8.4 and above add_custom_command recognizes generator
+expressions to refer to target locations anywhere in the command.
+Therefore this property is not needed for creating custom commands.
+.sp
+Do not set properties that affect the location of a target after
+reading this property.  These include properties whose names match
+"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?",
+\fB(IMPLIB_)?(PREFIX|SUFFIX)\fP, or "LINKER_LANGUAGE".  Failure to follow
+this rule is not diagnosed and leaves the location of the target
+undefined.
+.SS MACOSX_BUNDLE_INFO_PLIST
+.sp
+Specify a custom Info.plist template for a Mac OS X App Bundle.
+.sp
+An executable target with MACOSX_BUNDLE enabled will be built as an
+application bundle on Mac OS X.  By default its Info.plist file is
+created by configuring a template called MacOSXBundleInfo.plist.in
+located in the CMAKE_MODULE_PATH.  This property specifies an
+alternative template file name which may be a full path.
+.sp
+The following target properties may be set to specify content to be
+configured into the file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MACOSX_BUNDLE_INFO_STRING
+MACOSX_BUNDLE_ICON_FILE
+MACOSX_BUNDLE_GUI_IDENTIFIER
+MACOSX_BUNDLE_LONG_VERSION_STRING
+MACOSX_BUNDLE_BUNDLE_NAME
+MACOSX_BUNDLE_SHORT_VERSION_STRING
+MACOSX_BUNDLE_BUNDLE_VERSION
+MACOSX_BUNDLE_COPYRIGHT
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake variables of the same name may be set to affect all targets in a
+directory that do not have each specific property set.  If a custom
+Info.plist is specified by this property it may of course hard\-code
+all the settings instead of using the target properties.
+.SS MACOSX_BUNDLE
+.sp
+Build an executable as an application bundle on Mac OS X.
+.sp
+When this property is set to true the executable when built on Mac OS
+X will be created as an application bundle.  This makes it a GUI
+executable that can be launched from the Finder.  See the
+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
+CMAKE_MACOSX_BUNDLE if it is set when a target is created.
+.SS MACOSX_FRAMEWORK_INFO_PLIST
+.sp
+Specify a custom Info.plist template for a Mac OS X Framework.
+.sp
+A library target with FRAMEWORK enabled will be built as a framework
+on Mac OS X.  By default its Info.plist file is created by configuring
+a template called MacOSXFrameworkInfo.plist.in located in the
+CMAKE_MODULE_PATH.  This property specifies an alternative template
+file name which may be a full path.
+.sp
+The following target properties may be set to specify content to be
+configured into the file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+MACOSX_FRAMEWORK_ICON_FILE
+MACOSX_FRAMEWORK_IDENTIFIER
+MACOSX_FRAMEWORK_SHORT_VERSION_STRING
+MACOSX_FRAMEWORK_BUNDLE_VERSION
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake variables of the same name may be set to affect all targets in a
+directory that do not have each specific property set.  If a custom
+Info.plist is specified by this property it may of course hard\-code
+all the settings instead of using the target properties.
+.SS MACOSX_RPATH
+.sp
+Whether to use rpaths on Mac OS X.
+.sp
+When this property is set to true, the directory portion of
+the "install_name" field of shared libraries will be \fB@rpath\fP
+unless overridden by \fBINSTALL_NAME_DIR\fP\&.  Runtime
+paths will also be embedded in binaries using this target and
+can be controlled by the \fBINSTALL_RPATH\fP target property.
+This property is initialized by the value of the variable
+\fBCMAKE_MACOSX_RPATH\fP if it is set when a target is
+created.
+.sp
+Policy CMP0042 was introduced to change the default value of
+MACOSX_RPATH to ON.  This is because use of \fB@rpath\fP is a
+more flexible and powerful alternative to \fB@executable_path\fP and
+\fB@loader_path\fP\&.
+.SS MAP_IMPORTED_CONFIG_<CONFIG>
+.sp
+Map from project configuration to IMPORTED target\(aqs configuration.
+.sp
+Set this to the list of configurations of an imported target that may
+be used for the current project\(aqs <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.
+.sp
+This property is initialized by the value of the variable
+CMAKE_MAP_IMPORTED_CONFIG_<CONFIG> if it is set when a target is
+created.
+.SS NAME
+.sp
+Logical name for the target.
+.sp
+Read\-only logical name for the target as used by CMake.
+.SS NO_SONAME
+.sp
+Whether to set "soname" when linking a shared library or module.
+.sp
+Enable this boolean property if a generated shared library or module
+should not have "soname" set.  Default is to set "soname" on all
+shared libraries and modules as long as the platform supports it.
+Generally, use this property only for leaf private libraries or
+plugins.  If you use it on normal shared libraries which other targets
+link against, on some platforms a linker will insert a full path to
+the library (as specified at link time) into the dynamic section of
+the dependent binary.  Therefore, once installed, dynamic loader may
+eventually fail to locate the library for the binary.
+.SS NO_SYSTEM_FROM_IMPORTED
+.sp
+Do not treat includes from IMPORTED target interfaces as SYSTEM.
+.sp
+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.
+.SS OSX_ARCHITECTURES_<CONFIG>
+.sp
+Per\-configuration OS X binary architectures for a target.
+.sp
+This property is the configuration\-specific version of
+\fBOSX_ARCHITECTURES\fP\&.
+.SS OSX_ARCHITECTURES
+.sp
+Target specific architectures for OS X.
+.sp
+The \fBOSX_ARCHITECTURES\fP property sets the target binary architecture for
+targets on OS X (\fB\-arch\fP).  This property is initialized by the value of the
+variable \fBCMAKE_OSX_ARCHITECTURES\fP if it is set when a target is
+created.  Use \fBOSX_ARCHITECTURES_<CONFIG>\fP to set the binary
+architectures on a per\-configuration basis, where \fB<CONFIG>\fP is an
+upper\-case name (e.g. \fBOSX_ARCHITECTURES_DEBUG\fP).
+.SS OUTPUT_NAME_<CONFIG>
+.sp
+Per\-configuration target file base name.
+.sp
+This is the configuration\-specific version of OUTPUT_NAME.
+.SS OUTPUT_NAME
+.sp
+Output name for target files.
+.sp
+This sets the base name for output files created for an executable or
+library target.  If not set, the logical target name is used by
+default.
+.SS PDB_NAME_<CONFIG>
+.sp
+Per\-configuration output name for the MS debug symbol \fB\&.pdb\fP file
+generated by the linker for an executable or shared library target.
+.sp
+This is the configuration\-specific version of \fBPDB_NAME\fP\&.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This property does not apply to STATIC library targets because no linker
+is invoked to produce them so they have no linker\-generated \fB\&.pdb\fP file
+containing debug symbols.
+.sp
+The linker\-generated program database files are specified by the
+\fB/pdb\fP linker flag and are not the same as compiler\-generated
+program database files specified by the \fB/Fd\fP compiler flag.
+Use the \fBCOMPILE_PDB_NAME_<CONFIG>\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS PDB_NAME
+.sp
+Output name for the MS debug symbol \fB\&.pdb\fP file generated by the
+linker for an executable or shared library target.
+.sp
+This property specifies the base name for the debug symbols file.
+If not set, the \fBOUTPUT_NAME\fP target property value or
+logical target name is used by default.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This property does not apply to STATIC library targets because no linker
+is invoked to produce them so they have no linker\-generated \fB\&.pdb\fP file
+containing debug symbols.
+.sp
+The linker\-generated program database files are specified by the
+\fB/pdb\fP linker flag and are not the same as compiler\-generated
+program database files specified by the \fB/Fd\fP compiler flag.
+Use the \fBCOMPILE_PDB_NAME\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS PDB_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for the MS debug symbol \fB\&.pdb\fP file
+generated by the linker for an executable or shared library target.
+.sp
+This is a per\-configuration version of \fBPDB_OUTPUT_DIRECTORY\fP,
+but multi\-configuration generators (VS, Xcode) do NOT append a
+per\-configuration subdirectory to the specified directory.  This
+property is initialized by the value of the
+\fBCMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG>\fP variable if it is
+set when a target is created.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This property does not apply to STATIC library targets because no linker
+is invoked to produce them so they have no linker\-generated \fB\&.pdb\fP file
+containing debug symbols.
+.sp
+The linker\-generated program database files are specified by the
+\fB/pdb\fP linker flag and are not the same as compiler\-generated
+program database files specified by the \fB/Fd\fP compiler flag.
+Use the \fBCOMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS PDB_OUTPUT_DIRECTORY
+.sp
+Output directory for the MS debug symbols \fB\&.pdb\fP file
+generated by the linker for an executable or shared library target.
+.sp
+This property specifies the directory into which the MS debug symbols
+will be placed by the linker.  This property is initialized by the
+value of the \fBCMAKE_PDB_OUTPUT_DIRECTORY\fP variable if it is
+set when a target is created.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+This property does not apply to STATIC library targets because no linker
+is invoked to produce them so they have no linker\-generated \fB\&.pdb\fP file
+containing debug symbols.
+.sp
+The linker\-generated program database files are specified by the
+\fB/pdb\fP linker flag and are not the same as compiler\-generated
+program database files specified by the \fB/Fd\fP compiler flag.
+Use the \fBCOMPILE_PDB_OUTPUT_DIRECTORY\fP property to specify the latter.
+.sp
+This property is not implemented by the \fBVisual Studio 6\fP
+generator.
+.UNINDENT
+.UNINDENT
+.SS POSITION_INDEPENDENT_CODE
+.sp
+Whether to create a position\-independent target
+.sp
+The \fBPOSITION_INDEPENDENT_CODE\fP property determines whether position
+independent executables or shared libraries will be created.  This
+property is \fBTrue\fP by default for \fBSHARED\fP and \fBMODULE\fP library
+targets and \fBFalse\fP otherwise.  This property is initialized by the value
+of the \fBCMAKE_POSITION_INDEPENDENT_CODE\fP variable  if it is set
+when a target is created.
+.SS PREFIX
+.sp
+What comes before the library name.
+.sp
+A target property that can be set to override the prefix (such as
+"lib") on a library name.
+.SS PRIVATE_HEADER
+.sp
+Specify private header files in a FRAMEWORK shared library target.
+.sp
+Shared library targets marked with the FRAMEWORK property generate
+frameworks on OS X and normal shared libraries on other platforms.
+This property may be set to a list of header files to be placed in the
+PrivateHeaders directory inside the framework folder.  On non\-Apple
+platforms these headers may be installed using the PRIVATE_HEADER
+option to the install(TARGETS) command.
+.SS PROJECT_LABEL
+.sp
+Change the name of a target in an IDE.
+.sp
+Can be used to change the name of the target in an IDE like Visual
+Studio.
+.SS PUBLIC_HEADER
+.sp
+Specify public header files in a FRAMEWORK shared library target.
+.sp
+Shared library targets marked with the FRAMEWORK property generate
+frameworks on OS X and normal shared libraries on other platforms.
+This property may be set to a list of header files to be placed in the
+Headers directory inside the framework folder.  On non\-Apple platforms
+these headers may be installed using the PUBLIC_HEADER option to the
+install(TARGETS) command.
+.SS RESOURCE
+.sp
+Specify resource files in a FRAMEWORK shared library target.
+.sp
+Shared library targets marked with the FRAMEWORK property generate
+frameworks on OS X and normal shared libraries on other platforms.
+This property may be set to a list of files to be placed in the
+Resources directory inside the framework folder.  On non\-Apple
+platforms these files may be installed using the RESOURCE option to
+the install(TARGETS) command.
+.SS RULE_LAUNCH_COMPILE
+.sp
+Specify a launcher for compile rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global and directory property for a target.
+.SS RULE_LAUNCH_CUSTOM
+.sp
+Specify a launcher for custom rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global and directory property for a target.
+.SS RULE_LAUNCH_LINK
+.sp
+Specify a launcher for link rules.
+.sp
+See the global property of the same name for details.  This overrides
+the global and directory property for a target.
+.SS RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for
+RUNTIME target files.
+.sp
+This is a per\-configuration version of the
+\fBRUNTIME_OUTPUT_DIRECTORY\fP target property, but
+multi\-configuration generators (VS, Xcode) do NOT append a
+per\-configuration subdirectory to the specified directory.  This
+property is initialized by the value of the
+\fBCMAKE_RUNTIME_OUTPUT_DIRECTORY_<CONFIG>\fP variable if
+it is set when a target is created.
+.SS RUNTIME_OUTPUT_DIRECTORY
+.sp
+Output directory in which to build RUNTIME target files.
+.sp
+This property specifies the directory into which runtime target files
+should be built.  Multi\-configuration generators (VS, Xcode) append a
+per\-configuration subdirectory to the specified directory.
+.sp
+This property is initialized by the value of the variable
+CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is set when a target is created.
+.sp
+See also the \fBRUNTIME_OUTPUT_DIRECTORY_<CONFIG>\fP target property.
+.SS RUNTIME_OUTPUT_NAME_<CONFIG>
+.sp
+Per\-configuration output name for
+RUNTIME target files.
+.sp
+This is the configuration\-specific version of the
+\fBRUNTIME_OUTPUT_NAME\fP target property.
+.SS RUNTIME_OUTPUT_NAME
+.sp
+Output name for RUNTIME target files.
+.sp
+This property specifies the base name for runtime target files.  It
+overrides \fBOUTPUT_NAME\fP and \fBOUTPUT_NAME_<CONFIG>\fP
+properties.
+.sp
+See also the \fBRUNTIME_OUTPUT_NAME_<CONFIG>\fP target property.
+.SS SKIP_BUILD_RPATH
+.sp
+Should rpaths be used for the build tree.
+.sp
+SKIP_BUILD_RPATH is a boolean specifying whether to skip automatic
+generation of an rpath allowing the target to run from the build tree.
+This property is initialized by the value of the variable
+CMAKE_SKIP_BUILD_RPATH if it is set when a target is created.
+.SS SOURCES
+.sp
+Source names specified for a target.
+.sp
+List of sources specified for a target.
+.SS SOVERSION
+.sp
+What version number is this target.
+.sp
+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.
+.SS STATIC_LIBRARY_FLAGS_<CONFIG>
+.sp
+Per\-configuration flags for creating a static library.
+.sp
+This is the configuration\-specific version of STATIC_LIBRARY_FLAGS.
+.SS STATIC_LIBRARY_FLAGS
+.sp
+Extra flags to use when linking static libraries.
+.sp
+Extra flags to use when linking a static library.
+.SS SUFFIX
+.sp
+What comes after the target name.
+.sp
+A target property that can be set to override the suffix (such as
+".so" or ".exe") on the name of a library, module or executable.
+.SS TYPE
+.sp
+The type of the target.
+.sp
+This read\-only property can be used to test the type of the given
+target.  It will be one of STATIC_LIBRARY, MODULE_LIBRARY,
+SHARED_LIBRARY, INTERFACE_LIBRARY, EXECUTABLE or one of the internal
+target types.
+.SS VERSION
+.sp
+What version number is this target.
+.sp
+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.
+.SS VISIBILITY_INLINES_HIDDEN
+.sp
+Whether to add a compile flag to hide symbols of inline functions
+.sp
+The \fBVISIBILITY_INLINES_HIDDEN\fP property determines whether a flag for
+hiding symbols for inline functions, such as \fB\-fvisibility\-inlines\-hidden\fP,
+should be used when invoking the compiler.  This property affects compilation
+in sources of all types of targets (subject to policy \fBCMP0063\fP).
+.sp
+This property is initialized by
+the value of the \fBCMAKE_VISIBILITY_INLINES_HIDDEN\fP variable if it
+is set when a target is created.
+.SS VS_DOTNET_REFERENCES
+.sp
+Visual Studio managed project .NET references
+.sp
+Adds one or more semicolon\-delimited .NET references to a generated
+Visual Studio project.  For example, "System;System.Windows.Forms".
+.SS VS_DOTNET_TARGET_FRAMEWORK_VERSION
+.sp
+Specify the .NET target framework version.
+.sp
+Used to specify the .NET target framework version for C++/CLI.  For
+example, "v4.5".
+.SS VS_GLOBAL_KEYWORD
+.sp
+Visual Studio project keyword for VS 10 (2010) and newer.
+.sp
+Sets the "keyword" attribute for a generated Visual Studio project.
+Defaults to "Win32Proj".  You may wish to override this value with
+"ManagedCProj", for example, in a Visual Studio managed C++ unit test
+project.
+.sp
+Use the \fBVS_KEYWORD\fP target property to set the
+keyword for Visual Studio 9 (2008) and older.
+.SS VS_GLOBAL_PROJECT_TYPES
+.sp
+Visual Studio project type(s).
+.sp
+Can be set to one or more UUIDs recognized by Visual Studio to
+indicate the type of project.  This value is copied verbatim into the
+generated project file.  Example for a managed C++ unit testing
+project:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+{3AC096D0\-A1C2\-E12C\-1390\-A8335801FDAB};{8BC9CEB8\-8B4A\-11D0\-8D11\-00A0C91BC942}
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+UUIDs are semicolon\-delimited.
+.SS VS_GLOBAL_ROOTNAMESPACE
+.sp
+Visual Studio project root namespace.
+.sp
+Sets the "RootNamespace" attribute for a generated Visual Studio
+project.  The attribute will be generated only if this is set.
+.SS VS_GLOBAL_<variable>
+.sp
+Visual Studio project\-specific global variable.
+.sp
+Tell the Visual Studio generator to set the global variable
+\(aq<variable>\(aq to a given value in the generated Visual Studio project.
+Ignored on other generators.  Qt integration works better if
+VS_GLOBAL_QtVersion is set to the version FindQt4.cmake found.  For
+example, "4.7.3"
+.SS VS_KEYWORD
+.sp
+Visual Studio project keyword for VS 9 (2008) and older.
+.sp
+Can be set to change the visual studio keyword, for example Qt
+integration works better if this is set to Qt4VSv1.0.
+.sp
+Use the \fBVS_GLOBAL_KEYWORD\fP target property to set the
+keyword for Visual Studio 10 (2010) and newer.
+.SS VS_SCC_AUXPATH
+.sp
+Visual Studio Source Code Control Aux Path.
+.sp
+Can be set to change the visual studio source code control auxpath
+property.
+.SS VS_SCC_LOCALPATH
+.sp
+Visual Studio Source Code Control Local Path.
+.sp
+Can be set to change the visual studio source code control local path
+property.
+.SS VS_SCC_PROJECTNAME
+.sp
+Visual Studio Source Code Control Project.
+.sp
+Can be set to change the visual studio source code control project
+name property.
+.SS VS_SCC_PROVIDER
+.sp
+Visual Studio Source Code Control Provider.
+.sp
+Can be set to change the visual studio source code control provider
+property.
+.SS VS_WINRT_COMPONENT
+.sp
+Mark a target as a Windows Runtime component for the Visual Studio generator.
+Compile the target with \fBC++/CX\fP language extensions for Windows Runtime.
+For \fBSHARED\fP and \fBMODULE\fP libraries, this also defines the
+\fB_WINRT_DLL\fP preprocessor macro.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Currently this is implemented only by Visual Studio generators.
+Support may be added to other generators in the future.
+.UNINDENT
+.UNINDENT
+.SS VS_WINRT_EXTENSIONS
+.sp
+Deprecated.  Use \fBVS_WINRT_COMPONENT\fP instead.
+This property was an experimental partial implementation of that one.
+.SS VS_WINRT_REFERENCES
+.sp
+Visual Studio project Windows Runtime Metadata references
+.sp
+Adds one or more semicolon\-delimited WinRT references to a generated
+Visual Studio project.  For example, "Windows;Windows.UI.Core".
+.SS WIN32_EXECUTABLE
+.sp
+Build an executable with a WinMain entry point on windows.
+.sp
+When this property is set to true the executable when linked on
+Windows will be created with a WinMain() entry point instead of just
+main().  This makes it a GUI executable instead of a console
+application.  See the CMAKE_MFC_FLAG variable documentation to
+configure use of MFC for WinMain executables.  This property is
+initialized by the value of the variable CMAKE_WIN32_EXECUTABLE if it
+is set when a target is created.
+.SS XCODE_ATTRIBUTE_<an\-attribute>
+.sp
+Set Xcode target attributes directly.
+.sp
+Tell the Xcode generator to set \(aq<an\-attribute>\(aq to a given value in
+the generated Xcode project.  Ignored on other generators.
+.sp
+See the \fBCMAKE_XCODE_ATTRIBUTE_<an\-attribute>\fP variable
+to set attributes on all targets in a directory tree.
+.sp
+Contents of \fBXCODE_ATTRIBUTE_<an\-attribute>\fP may use
+"generator expressions" with the syntax \fB$<...>\fP\&.  See the
+\fBcmake\-generator\-expressions(7)\fP manual for available
+expressions.  See the \fBcmake\-buildsystem(7)\fP manual
+for more on defining buildsystem properties.
+.SS XCTEST
+.sp
+This target is a XCTest CFBundle on the Mac.
+.sp
+This property will usually get set via the \fBxctest_add_bundle()\fP
+macro in \fBFindXCTest\fP module.
+.sp
+If a module library target has this property set to true it will be
+built as a CFBundle when built on the Mac.  It will have the directory
+structure required for a CFBundle.
+.sp
+This property depends on \fBBUNDLE\fP to be effective.
+.SH PROPERTIES ON TESTS
+.SS ATTACHED_FILES_ON_FAIL
+.sp
+Attach a list of files to a dashboard submission if the test fails.
+.sp
+Same as ATTACHED_FILES, but these files will only be included if the
+test does not pass.
+.SS ATTACHED_FILES
+.sp
+Attach a list of files to a dashboard submission.
+.sp
+Set this property to a list of files that will be encoded and
+submitted to the dashboard as an addition to the test result.
+.SS COST
+.sp
+Set this to a floating point value. Tests in a test set will be run in descending order of cost.
+.sp
+This property describes the cost of a test.  You can explicitly set
+this value; tests with higher COST values will run first.
+.SS DEPENDS
+.sp
+Specifies that this test should only be run after the specified list of tests.
+.sp
+Set this to a list of tests that must finish before this test is run.
+.SS ENVIRONMENT
+.sp
+Specify environment variables that should be defined for running a test.
+.sp
+If set to a list of environment variables and values of the form
+MYVAR=value those environment variables will be defined while running
+the test.  The environment is restored to its previous state after the
+test is done.
+.SS FAIL_REGULAR_EXPRESSION
+.sp
+If the output matches this regular expression the test will fail.
+.sp
+If set, if the output matches one of specified regular expressions,
+the test will fail.  Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_tests_properties(mytest PROPERTIES
+  FAIL_REGULAR_EXPRESSION "[^a\-z]Error;ERROR;Failed"
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBFAIL_REGULAR_EXPRESSION\fP expects a list of regular expressions.
+.SS LABELS
+.sp
+Specify a list of text labels associated with a test.
+.sp
+The list is reported in dashboard submissions.
+.SS MEASUREMENT
+.sp
+Specify a CDASH measurement and value to be reported for a test.
+.sp
+If set to a name then that name will be reported to CDASH as a named
+measurement with a value of 1.  You may also specify a value by
+setting MEASUREMENT to "measurement=value".
+.SS PASS_REGULAR_EXPRESSION
+.sp
+The output must match this regular expression for the test to pass.
+.sp
+If set, the test output will be checked against the specified regular
+expressions and at least one of the regular expressions has to match,
+otherwise the test will fail.  Example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set_tests_properties(mytest PROPERTIES
+  PASS_REGULAR_EXPRESSION "TestPassed;All ok"
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fBPASS_REGULAR_EXPRESSION\fP expects a list of regular expressions.
+.SS PROCESSORS
+.sp
+How many process slots this test requires
+.sp
+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.
+.SS REQUIRED_FILES
+.sp
+List of files required to run the test.
+.sp
+If set to a list of files, the test will not be run unless all of the
+files exist.
+.SS RESOURCE_LOCK
+.sp
+Specify a list of resources that are locked by this test.
+.sp
+If multiple tests specify the same resource lock, they are guaranteed
+not to run concurrently.
+.SS RUN_SERIAL
+.sp
+Do not run this test in parallel with any other test.
+.sp
+Use this option in conjunction with the ctest_test PARALLEL_LEVEL
+option to specify that this test should not be run in parallel with
+any other tests.
+.SS SKIP_RETURN_CODE
+.sp
+Return code to mark a test as skipped.
+.sp
+Sometimes only a test itself can determine if all requirements for the
+test are met. If such a situation should not be considered a hard failure
+a return code of the process can be specified that will mark the test as
+"Not Run" if it is encountered.
+.SS TIMEOUT
+.sp
+How many seconds to allow for this test.
+.sp
+This property if set will limit a test to not take more than the
+specified number of seconds to run.  If it exceeds that the test
+process will be killed and ctest will move to the next test.  This
+setting takes precedence over \fBCTEST_TEST_TIMEOUT\fP\&.
+.SS WILL_FAIL
+.sp
+If set to true, this will invert the pass/fail flag of the test.
+.sp
+This property can be used for tests that are expected to fail and
+return a non zero return code.
+.SS WORKING_DIRECTORY
+.sp
+The directory from which the test executable will be called.
+.sp
+If this is not set it is called from the directory the test executable
+is located in.
+.SH PROPERTIES ON SOURCE FILES
+.SS ABSTRACT
+.sp
+Is this source file an abstract class.
+.sp
+A property on a source file that indicates if the source file
+represents a class that is abstract.  This only makes sense for
+languages that have a notion of an abstract class and it is only used
+by some tools that wrap classes into other languages.
+.SS AUTOUIC_OPTIONS
+.sp
+Additional options for \fBuic\fP when using \fBAUTOUIC\fP
+.sp
+This property holds additional command line options
+which will be used when \fBuic\fP is executed during the build via \fBAUTOUIC\fP,
+i.e. it is equivalent to the optional \fBOPTIONS\fP argument of the
+\fBqt4_wrap_ui()\fP macro.
+.sp
+By default it is empty.
+.sp
+The options set on the \fB\&.ui\fP source file may override \fBAUTOUIC_OPTIONS\fP set
+on the target.
+.SS AUTORCC_OPTIONS
+.sp
+Additional options for \fBrcc\fP when using \fBAUTORCC\fP
+.sp
+This property holds additional command line options which will be used when
+\fBrcc\fP is executed during the build via \fBAUTORCC\fP, i.e. it is equivalent to the
+optional \fBOPTIONS\fP argument of the \fBqt4_add_resources()\fP macro.
+.sp
+By default it is empty.
+.sp
+The options set on the \fB\&.qrc\fP source file may override \fBAUTORCC_OPTIONS\fP set
+on the target.
+.SS COMPILE_DEFINITIONS
+.sp
+Preprocessor definitions for compiling a source file.
+.sp
+The COMPILE_DEFINITIONS property may be set to a semicolon\-separated
+list of preprocessor definitions using the syntax VAR or VAR=value.
+Function\-style definitions are not supported.  CMake will
+automatically escape the value correctly for the native build system
+(note that CMake language syntax may require escapes to specify some
+values).  This property may be set on a per\-configuration basis using
+the name COMPILE_DEFINITIONS_<CONFIG> where <CONFIG> is an upper\-case
+name (ex.  "COMPILE_DEFINITIONS_DEBUG").
+.sp
+CMake will automatically drop some definitions that are not supported
+by the native build tool.  The VS6 IDE does not support definition
+values with spaces (but NMake does).  Xcode does not support
+per\-configuration definitions on source files.
+.sp
+Disclaimer: Most native build tools have poor support for escaping
+certain values.  CMake has work\-arounds for many cases but some values
+may just not be possible to pass correctly.  If a value does not seem
+to be escaped correctly, do not attempt to work\-around the problem by
+adding escape sequences to the value.  Your work\-around may break in a
+future version of CMake that has improved escape support.  Instead
+consider defining the macro in a (configured) header file.  Then
+report the limitation.  Known limitations include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#          \- broken almost everywhere
+;          \- broken in VS IDE 7.0 and Borland Makefiles
+,          \- broken in VS IDE
+%          \- broken in some cases in NMake
+& |        \- broken in some cases on MinGW
+^ < > \e"   \- broken in most Make tools on Windows
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+CMake does not reject these values outright because they do work in
+some cases.  Use with caution.
+.SS COMPILE_FLAGS
+.sp
+Additional flags to be added when compiling this source file.
+.sp
+These flags will be added to the list of compile flags when this
+source file builds.  Use COMPILE_DEFINITIONS to pass additional
+preprocessor definitions.
+.SS EXTERNAL_OBJECT
+.sp
+If set to true then this is an object file.
+.sp
+If this property is set to true then the source file is really an
+object file and should not be compiled.  It will still be linked into
+the target though.
+.SS Fortran_FORMAT
+.sp
+Set to FIXED or FREE to indicate the Fortran source layout.
+.sp
+This property tells CMake whether a given Fortran source file uses
+fixed\-format or free\-format.  CMake will pass the corresponding format
+flag to the compiler.  Consider using the target\-wide Fortran_FORMAT
+property if all source files in a target share the same format.
+.SS GENERATED
+.sp
+Is this source file generated as part of the build process.
+.sp
+If a source file is generated by the build process CMake will handle
+it differently in terms of dependency checking etc.  Otherwise having
+a non\-existent source file could create problems.
+.SS HEADER_FILE_ONLY
+.sp
+Is this source file only a header file.
+.sp
+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.
+.SS KEEP_EXTENSION
+.sp
+Make the output file have the same extension as the source file.
+.sp
+If this property is set then the file extension of the output file
+will be the same as that of the source file.  Normally the output file
+extension is computed based on the language of the source file, for
+example .cxx will go to a .o extension.
+.SS LABELS
+.sp
+Specify a list of text labels associated with a source file.
+.sp
+This property has meaning only when the source file is listed in a
+target whose LABELS property is also set.  No other semantics are
+currently specified.
+.SS LANGUAGE
+.sp
+What programming language is the file.
+.sp
+A property that can be set to indicate what programming language the
+source file is.  If it is not set the language is determined based on
+the file extension.  Typical values are CXX C etc.  Setting this
+property for a file means this file will be compiled.  Do not set this
+for headers or files that should not be compiled.
+.SS LOCATION
+.sp
+The full path to a source file.
+.sp
+A read only property on a SOURCE FILE that contains the full path to
+the source file.
+.SS MACOSX_PACKAGE_LOCATION
+.sp
+Place a source file inside a Mac OS X bundle, CFBundle, or framework.
+.sp
+Executable targets with the MACOSX_BUNDLE property set are built as
+Mac OS X application bundles on Apple platforms.  Shared library
+targets with the FRAMEWORK property set are built as Mac OS X
+frameworks on Apple platforms.  Module library targets with the BUNDLE
+property set are built as Mac 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 bundles the content
+folder is "<name>.app/Contents".  For frameworks the content folder is
+"<name>.framework/Versions/<version>".  For cfbundles the content
+folder is "<name>.bundle/Contents" (unless the extension is changed).
+See the PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE target properties
+for specifying files meant for Headers, PrivateHeaders, or Resources
+directories.
+.SS OBJECT_DEPENDS
+.sp
+Additional files on which a compiled object file depends.
+.sp
+Specifies a semicolon\-separated list of full\-paths to files on which
+any object files compiled from this source file depend.  An object
+file will be recompiled if any of the named files is newer than it.
+.sp
+This property need not be used to specify the dependency of a source
+file on a generated header file that it includes.  Although the
+property was originally introduced for this purpose, it is no longer
+necessary.  If the generated header file is created by a custom
+command in the same target as the source file, the automatic
+dependency scanning process will recognize the dependency.  If the
+generated header file is created by another target, an inter\-target
+dependency should be created with the add_dependencies command (if one
+does not already exist due to linking relationships).
+.SS OBJECT_OUTPUTS
+.sp
+Additional outputs for a Makefile rule.
+.sp
+Additional outputs created by compilation of this source file.  If any
+of these outputs is missing the object will be recompiled.  This is
+supported only on Makefile generators and will be ignored on other
+generators.
+.SS SYMBOLIC
+.sp
+Is this just a name for a rule.
+.sp
+If SYMBOLIC (boolean) is set to true the build system will be informed
+that the source file is not actually created on disk but instead used
+as a symbolic name for a build rule.
+.SS VS_DEPLOYMENT_CONTENT
+.sp
+Mark a source file as content for deployment with a Windows Phone or
+Windows Store application when built with a Visual Studio generator.
+The value must evaluate to either \fB1\fP or \fB0\fP and may use
+\fBgenerator expressions\fP
+to make the choice based on the build configuration.
+The \fB\&.vcxproj\fP file entry for the source file will be
+marked either \fBDeploymentContent\fP or \fBExcludedFromBuild\fP
+for values \fB1\fP and \fB0\fP, respectively.
+.SS VS_DEPLOYMENT_LOCATION
+.sp
+Specifies the deployment location for a content source file with a Windows
+Phone or Windows Store application when built with a Visual Studio generator.
+This property is only applicable when using \fBVS_DEPLOYMENT_CONTENT\fP\&.
+The value represent the path relative to the app package and applies to all
+configurations.
+.SS VS_SHADER_ENTRYPOINT
+.sp
+Specifies the name of the entry point for the shader of a \fB\&.hlsl\fP source
+file.
+.SS VS_SHADER_FLAGS
+.sp
+Set additional VS shader flags of a \fB\&.hlsl\fP source file.
+.SS VS_SHADER_MODEL
+.sp
+Specifies the shader model of a \fB\&.hlsl\fP source file. Some shader types can
+only be used with recent shader models
+.SS VS_SHADER_TYPE
+.sp
+Set the VS shader type of a \fB\&.hlsl\fP source file.
+.SS VS_XAML_TYPE
+.sp
+Mark a XAML source file as a different type than the default \fBPage\fP\&.
+The most common usage would be to set the default App.xaml file as
+ApplicationDefinition.
+.SS WRAP_EXCLUDE
+.sp
+Exclude this source file from any code wrapping techniques.
+.sp
+Some packages can wrap source files into alternate languages to
+provide additional functionality.  For example, C++ code can be
+wrapped into Java or Python etc using SWIG etc.  If WRAP_EXCLUDE is
+set to true (1 etc) that indicates that this source file should not be
+wrapped.
+.SS XCODE_EXPLICIT_FILE_TYPE
+.sp
+Set the Xcode \fBexplicitFileType\fP attribute on its reference to a
+source file.  CMake computes a default based on file extension but
+can be told explicitly with this property.
+.sp
+See also \fBXCODE_LAST_KNOWN_FILE_TYPE\fP\&.
+.SS XCODE_LAST_KNOWN_FILE_TYPE
+.sp
+Set the Xcode \fBlastKnownFileType\fP attribute on its reference to a
+source file.  CMake computes a default based on file extension but
+can be told explicitly with this property.
+.sp
+See also \fBXCODE_EXPLICIT_FILE_TYPE\fP, which is preferred
+over this property if set.
+.SH PROPERTIES ON CACHE ENTRIES
+.SS ADVANCED
+.sp
+True if entry should be hidden by default in GUIs.
+.sp
+This is a boolean value indicating whether the entry is considered
+interesting only for advanced configuration.  The mark_as_advanced()
+command modifies this property.
+.SS HELPSTRING
+.sp
+Help associated with entry in GUIs.
+.sp
+This string summarizes the purpose of an entry to help users set it
+through a CMake GUI.
+.SS MODIFIED
+.sp
+Internal management property.  Do not set or get.
+.sp
+This is an internal cache entry property managed by CMake to track
+interactive user modification of entries.  Ignore it.
+.SS STRINGS
+.sp
+Enumerate possible STRING entry values for GUI selection.
+.sp
+For cache entries with type STRING, this enumerates a set of values.
+CMake GUIs may use this to provide a selection widget instead of a
+generic string entry field.  This is for convenience only.  CMake does
+not enforce that the value matches one of those listed.
+.SS TYPE
+.sp
+Widget type for entry in GUIs.
+.sp
+Cache entry values are always strings, but CMake GUIs present widgets
+to help users set values.  The GUIs use this property as a hint to
+determine the widget type.  Valid TYPE values are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+BOOL          = Boolean ON/OFF value.
+PATH          = Path to a directory.
+FILEPATH      = Path to a file.
+STRING        = Generic string value.
+INTERNAL      = Do not present in GUI at all.
+STATIC        = Value managed by CMake, do not change.
+UNINITIALIZED = Type not yet specified.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Generally the TYPE of a cache entry should be set by the command which
+creates it (set, option, find_library, etc.).
+.SS VALUE
+.sp
+Value of a cache entry.
+.sp
+This property maps to the actual value of a cache entry.  Setting this
+property always sets the value without checking, so use with care.
+.SH PROPERTIES ON INSTALLED FILES
+.SS CPACK_DESKTOP_SHORTCUTS
+.sp
+Species a list of shortcut names that should be created on the Desktop
+for this file.
+.sp
+The property is currently only supported by the WIX generator.
+.SS CPACK_NEVER_OVERWRITE
+.sp
+Request that this file not be overwritten on install or reinstall.
+.sp
+The property is currently only supported by the WIX generator.
+.SS CPACK_PERMANENT
+.sp
+Request that this file not be removed on uninstall.
+.sp
+The property is currently only supported by the WIX generator.
+.SS CPACK_START_MENU_SHORTCUTS
+.sp
+Species a list of shortcut names that should be created in the Start Menu
+for this file.
+.sp
+The property is currently only supported by the WIX generator.
+.SS CPACK_STARTUP_SHORTCUTS
+.sp
+Species a list of shortcut names that should be created in the Startup folder
+for this file.
+.sp
+The property is currently only supported by the WIX generator.
+.SS CPACK_WIX_ACL
+.sp
+Specifies access permissions for files or directories
+installed by a WiX installer.
+.sp
+The property can contain multiple list entries,
+each of which has to match the following format.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<user>[@<domain>]=<permission>[,<permission>]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\fB<user>\fP and \fB<domain>\fP specify the windows user and domain for which the
+\fB<Permission>\fP element should be generated.
+.sp
+\fB<permission>\fP is any of the YesNoType attributes listed here:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+http://wixtoolset.org/documentation/manual/v3/xsd/wix/permission.html
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DEPRECATED PROPERTIES ON DIRECTORIES
+.SS COMPILE_DEFINITIONS_<CONFIG>
+.sp
+Ignored.  See CMake Policy \fBCMP0043\fP\&.
+.sp
+Per\-configuration preprocessor definitions in a directory.
+.sp
+This is the configuration\-specific version of \fBCOMPILE_DEFINITIONS\fP
+where \fB<CONFIG>\fP is an upper\-case name (ex. \fBCOMPILE_DEFINITIONS_DEBUG\fP).
+.sp
+This property will be initialized in each directory by its value in
+the directory\(aqs parent.
+.sp
+Contents of \fBCOMPILE_DEFINITIONS_<CONFIG>\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.sp
+Generator expressions should be preferred instead of setting this property.
+.SH DEPRECATED PROPERTIES ON TARGETS
+.SS COMPILE_DEFINITIONS_<CONFIG>
+.sp
+Ignored.  See CMake Policy \fBCMP0043\fP\&.
+.sp
+Per\-configuration preprocessor definitions on a target.
+.sp
+This is the configuration\-specific version of \fBCOMPILE_DEFINITIONS\fP
+where \fB<CONFIG>\fP is an upper\-case name (ex. \fBCOMPILE_DEFINITIONS_DEBUG\fP).
+.sp
+Contents of \fBCOMPILE_DEFINITIONS_<CONFIG>\fP may use "generator expressions"
+with the syntax \fB$<...>\fP\&.  See the \fBcmake\-generator\-expressions(7)\fP
+manual for available expressions.  See the \fBcmake\-buildsystem(7)\fP
+manual for more on defining buildsystem properties.
+.sp
+Generator expressions should be preferred instead of setting this property.
+.SS POST_INSTALL_SCRIPT
+.sp
+Deprecated install support.
+.sp
+The PRE_INSTALL_SCRIPT and POST_INSTALL_SCRIPT properties are the old
+way to specify CMake scripts to run before and after installing a
+target.  They are used only when the old INSTALL_TARGETS command is
+used to install the target.  Use the INSTALL command instead.
+.SS PRE_INSTALL_SCRIPT
+.sp
+Deprecated install support.
+.sp
+The PRE_INSTALL_SCRIPT and POST_INSTALL_SCRIPT properties are the old
+way to specify CMake scripts to run before and after installing a
+target.  They are used only when the old INSTALL_TARGETS command is
+used to install the target.  Use the INSTALL command instead.
+.SH DEPRECATED PROPERTIES ON SOURCE FILES
+.SS COMPILE_DEFINITIONS_<CONFIG>
+.sp
+Ignored.  See CMake Policy \fBCMP0043\fP\&.
+.sp
+Per\-configuration preprocessor definitions on a source file.
+.sp
+This is the configuration\-specific version of COMPILE_DEFINITIONS.
+Note that Xcode does not support per\-configuration source file flags
+so this property will be ignored by the Xcode generator.
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-qt.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,229 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-QT" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-qt \- CMake Qt Features Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+CMake can find and use Qt 4 and Qt 5 libraries.  The Qt 4 libraries are found
+by the \fBFindQt4\fP find\-module shipped with CMake, whereas the
+Qt 5 libraries are found using "Config\-file Packages" shipped with Qt 5. See
+\fBcmake\-packages(7)\fP for more information about CMake packages, and
+see \fI\%the Qt cmake manual\fP
+for your Qt version.
+.sp
+Qt 4 and Qt 5 may be used together in the same
+\fBCMake buildsystem\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.SH QT BUILD TOOLS
+.sp
+Qt relies on some bundled tools for code generation, such as \fBmoc\fP for
+meta\-object code generation, \fBuic\fP for widget layout and population,
+and \fBrcc\fP for virtual filesystem content generation.  These tools may be
+automatically invoked by \fBcmake(1)\fP if the appropriate conditions
+are met.  The automatic tool invocation may be used with both Qt 4 and Qt 5.
+.sp
+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 \fBAUTOGEN_TARGET_DEPENDS\fP target property.
+.SS AUTOMOC
+.sp
+The \fBAUTOMOC\fP target property controls whether \fBcmake(1)\fP
+inspects the C++ files in the target to determine if they require \fBmoc\fP to
+be run, and to create rules to execute \fBmoc\fP at the appropriate time.
+.sp
+If a \fBQ_OBJECT\fP or \fBQ_GADGET\fP macro is found in a header file, \fBmoc\fP
+will be run on the file.  The result will be put into a file named according
+to \fBmoc_<basename>.cpp\fP\&.  If the macro is found in a C++ implementation
+file, the moc output will be put into a file named according to
+\fB<basename>.moc\fP, following the Qt conventions.  The \fBmoc file\fP may be
+included by the user in the C++ implementation file with a preprocessor
+\fB#include\fP\&.  If it is not so included, it will be added to a separate file
+which is compiled into the target.
+.sp
+The \fBmoc\fP command line will consume the \fBCOMPILE_DEFINITIONS\fP and
+\fBINCLUDE_DIRECTORIES\fP target properties from the target it is being
+invoked for, and for the appropriate build configuration.
+.sp
+Generated \fBmoc_*.cpp\fP and \fB*.moc\fP files are placed in the build directory
+so it is convenient to set the \fBCMAKE_INCLUDE_CURRENT_DIR\fP
+variable.  The \fBAUTOMOC\fP target property may be pre\-set for all
+following targets by setting the \fBCMAKE_AUTOMOC\fP variable.  The
+\fBAUTOMOC_MOC_OPTIONS\fP target property may be populated to set
+options to pass to \fBmoc\fP\&. The \fBCMAKE_AUTOMOC_MOC_OPTIONS\fP
+variable may be populated to pre\-set the options for all following targets.
+.SS AUTOUIC
+.sp
+The \fBAUTOUIC\fP target property controls whether \fBcmake(1)\fP
+inspects the C++ files in the target to determine if they require \fBuic\fP to
+be run, and to create rules to execute \fBuic\fP at the appropriate time.
+.sp
+If a preprocessor \fB#include\fP directive is found which matches
+\fBui_<basename>.h\fP, and a \fB<basename>.ui\fP file exists, then \fBuic\fP will
+be executed to generate the appropriate file.
+.sp
+Generated \fBui_*.h\fP files are placed in the build directory so it is
+convenient to set the \fBCMAKE_INCLUDE_CURRENT_DIR\fP variable.  The
+\fBAUTOUIC\fP target property may be pre\-set for all following targets
+by setting the \fBCMAKE_AUTOUIC\fP variable.  The
+\fBAUTOUIC_OPTIONS\fP target property may be populated to set options
+to pass to \fBuic\fP\&.  The \fBCMAKE_AUTOUIC_OPTIONS\fP variable may be
+populated to pre\-set the options for all following targets.  The
+\fBAUTOUIC_OPTIONS\fP source file property may be set on the
+\fB<basename>.ui\fP file to set particular options for the file.  This
+overrides options from the \fBAUTOUIC_OPTIONS\fP target property.
+.sp
+A target may populate the \fBINTERFACE_AUTOUIC_OPTIONS\fP target
+property with options that should be used when invoking \fBuic\fP\&.  This must be
+consistent with the \fBAUTOUIC_OPTIONS\fP target property content of the
+depender target.  The \fBCMAKE_DEBUG_TARGET_PROPERTIES\fP variable may
+be used to track the origin target of such
+\fBINTERFACE_AUTOUIC_OPTIONS\fP\&.  This means that a library which
+provides an alternative translation system for Qt may specify options which
+should be used when running \fBuic\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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}
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+A consuming project linking to the target exported from upstream automatically
+uses appropriate options when \fBuic\fP is run by \fBAUTOUIC\fP, as a
+result of linking with the \fBIMPORTED\fP target:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_AUTOUIC ON)
+# Uses a libwidget.ui file:
+add_library(LibWidget libwidget.cpp)
+target_link_libraries(LibWidget
+  KF5::KI18n
+  Qt5::Widgets
+)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS AUTORCC
+.sp
+The \fBAUTORCC\fP target property controls whether \fBcmake(1)\fP
+creates rules to execute \fBrcc\fP at the appropriate time on source files
+which have the suffix \fB\&.qrc\fP\&.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_executable(myexe main.cpp resource_file.qrc)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBAUTORCC\fP target property may be pre\-set for all following targets
+by setting the \fBCMAKE_AUTORCC\fP variable.  The
+\fBAUTORCC_OPTIONS\fP target property may be populated to set options
+to pass to \fBrcc\fP\&.  The \fBCMAKE_AUTORCC_OPTIONS\fP variable may be
+populated to pre\-set the options for all following targets.  The
+\fBAUTORCC_OPTIONS\fP source file property may be set on the
+\fB<name>.qrc\fP file to set particular options for the file.  This
+overrides options from the \fBAUTORCC_OPTIONS\fP target property.
+.SH QTMAIN.LIB ON WINDOWS
+.sp
+The Qt 4 and 5 \fBIMPORTED\fP 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 \fBWIN32_EXECUTABLE\fP enabled.
+.sp
+To disable this behavior, enable the \fBQt5_NO_LINK_QTMAIN\fP target property for
+Qt 5 based targets or \fBQT4_NO_LINK_QTMAIN\fP target property for Qt 4 based
+targets.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-toolchains.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,323 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-TOOLCHAINS" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-toolchains \- CMake Toolchains Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH INTRODUCTION
+.sp
+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.
+.SH LANGUAGES
+.sp
+Languages are enabled by the \fBproject()\fP command.  Language\-specific
+built\-in variables, such as
+\fBCMAKE_CXX_COMPILER\fP,
+\fBCMAKE_CXX_COMPILER_ID\fP etc are set by
+invoking the \fBproject()\fP 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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+project(C_Only C)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+A special value of NONE can also be used with the \fBproject()\fP command
+to enable no languages:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+project(MyProject NONE)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBenable_language()\fP command can be used to enable languages after the
+\fBproject()\fP command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+enable_language(CXX)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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.
+.sp
+The \fBENABLED_LANGUAGES\fP global property contains the languages which
+are currently enabled.
+.SH VARIABLES AND PROPERTIES
+.sp
+Several variables relate to the language components of a toolchain which are
+enabled. \fBCMAKE_<LANG>_COMPILER\fP is the full path to the compiler used
+for \fB<LANG>\fP\&. \fBCMAKE_<LANG>_COMPILER_ID\fP is the identifier used
+by CMake for the compiler and \fBCMAKE_<LANG>_COMPILER_VERSION\fP is the
+version of the compiler.
+.sp
+The \fBCMAKE_<LANG>_FLAGS\fP variables and the configuration\-specific
+equivalents contain flags that will be added to the compile command when
+compiling a file of a particular language.
+.sp
+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
+\fBLANGUAGE\fP 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 \fBLINKER_LANGUAGE\fP target property.
+.SH TOOLCHAIN FEATURES
+.sp
+CMake provides the \fBtry_compile()\fP command and wrapper macros such as
+\fBCheckCXXSourceCompiles\fP, \fBCheckCXXSymbolExists\fP and
+\fBCheckIncludeFile\fP 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.
+.sp
+Some toolchain features have built\-in handling in CMake, and do not require
+compile\-tests. For example, \fBPOSITION_INDEPENDENT_CODE\fP allows
+specifying that a target should be built as position\-independent code, if
+the compiler supports that feature. The \fB<LANG>_VISIBILITY_PRESET\fP
+and \fBVISIBILITY_INLINES_HIDDEN\fP target properties add flags for
+hidden visibility, if supported by the compiler.
+.SH CROSS COMPILING
+.sp
+If \fBcmake(1)\fP is invoked with the command line parameter
+\fB\-DCMAKE_TOOLCHAIN_FILE=path/to/file\fP, the file will be loaded early to set
+values for the compilers.
+The \fBCMAKE_CROSSCOMPILING\fP variable is set to true when CMake is
+cross\-compiling.
+.SS Cross Compiling for Linux
+.sp
+A typical cross\-compiling toolchain for Linux has content such
+as:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCMAKE_SYSTEM_NAME\fP is the CMake\-identifier of the target platform
+to build for.
+.sp
+The \fBCMAKE_SYSTEM_PROCESSOR\fP is the CMake\-identifier of the target architecture
+to build for.
+.sp
+The \fBCMAKE_SYSROOT\fP is optional, and may be specified if a sysroot
+is available.
+.sp
+The \fBCMAKE_STAGING_PREFIX\fP is also optional. It may be used to specify
+a path on the host to install to. The \fBCMAKE_INSTALL_PREFIX\fP is always
+the runtime installation location, even when cross\-compiling.
+.sp
+The \fBCMAKE_<LANG>_COMPILER\fP variables may be set to full paths, or to
+names of compilers to search for in standard locations. In cases where CMake does
+not have enough information to extract information from the compiler, the
+\fBCMakeForceCompiler\fP module can be used to bypass some of the checks.
+.sp
+CMake \fBfind_*\fP commands will look in the sysroot, and the \fBCMAKE_FIND_ROOT_PATH\fP
+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 \fBCMAKE_FIND_ROOT_PATH_MODE_*\fP variables.
+.SS Cross Compiling using Clang
+.sp
+Some compilers such as Clang are inherently cross compilers.
+The \fBCMAKE_<LANG>_COMPILER_TARGET\fP can be set to pass a
+value to those supported compilers when compiling:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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
+\fBCMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN\fP variable can be set in a
+toolchain file to pass the path to the compiler driver.
+.SS Cross Compiling for QNX
+.sp
+As the Clang compiler the QNX QCC compile is inherently a cross compiler.
+And the \fBCMAKE_<LANG>_COMPILER_TARGET\fP can be set to pass a
+value to those supported compilers when compiling:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Cross Compiling for Windows CE
+.sp
+Cross compiling for Windows CE requires the corresponding SDK being
+installed on your system.  These SDKs are usually installed under
+\fBC:/Program Files (x86)/Windows CE Tools/SDKs\fP\&.
+.sp
+A toolchain file to configure a Visual Studio generator for
+Windows CE may look like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCMAKE_GENERATOR_PLATFORM\fP tells the generator which SDK to use.
+Further \fBCMAKE_SYSTEM_VERSION\fP 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
+\fBCMAKE_GENERATOR_TOOLSET\fP to the correct value.
+.SS Cross Compiling for Windows Phone
+.sp
+A toolchain file to configure a Visual Studio generator for
+Windows Phone may look like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_SYSTEM_NAME WindowsPhone)
+set(CMAKE_SYSTEM_VERSION 8.1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Cross Compiling for Windows Store
+.sp
+A toolchain file to configure a Visual Studio generator for
+Windows Store may look like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_SYSTEM_NAME WindowsStore)
+set(CMAKE_SYSTEM_VERSION 8.1)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS Cross Compiling using NVIDIA Nsight Tegra
+.sp
+A toolchain file to configure a Visual Studio generator to
+build using NVIDIA Nsight Tegra targeting Android may look
+like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CMAKE_SYSTEM_NAME Android)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCMAKE_GENERATOR_TOOLSET\fP may be set to select
+the Nsight Tegra "Toolchain Version" value.
+.sp
+See the \fBANDROID_API_MIN\fP, \fBANDROID_API\fP
+and \fBANDROID_GUI\fP target properties to configure
+targets within the project.
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/files/man7/cmake-variables.7	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,2933 @@
+.\" Man page generated from reStructuredText.
+.
+.TH "CMAKE-VARIABLES" "7" "October 14, 2015" "3.3.2" "CMake"
+.SH NAME
+cmake-variables \- CMake Variables Reference
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH VARIABLES THAT PROVIDE INFORMATION
+.SS CMAKE_ARGC
+.sp
+Number of command line arguments passed to CMake in script mode.
+.sp
+When run in \-P script mode, CMake sets this variable to the number of
+command line arguments.  See also CMAKE_ARGV0, 1, 2 ...
+.SS CMAKE_ARGV0
+.sp
+Command line argument passed to CMake in script mode.
+.sp
+When run in \-P script mode, CMake sets this variable to the first
+command line argument.  It then also sets CMAKE_ARGV1, CMAKE_ARGV2,
+...  and so on, up to the number of command line arguments given.  See
+also CMAKE_ARGC.
+.SS CMAKE_AR
+.sp
+Name of archiving tool for static libraries.
+.sp
+This specifies the name of the program that creates archive or static
+libraries.
+.SS CMAKE_BINARY_DIR
+.sp
+The path to the top level of the build tree.
+.sp
+This is the full path to the top level of the current CMake build
+tree.  For an in\-source build, this would be the same as
+CMAKE_SOURCE_DIR.
+.SS CMAKE_BUILD_TOOL
+.sp
+This variable exists only for backwards compatibility.
+It contains the same value as \fBCMAKE_MAKE_PROGRAM\fP\&.
+Use that variable instead.
+.SS CMAKE_CACHEFILE_DIR
+.sp
+The directory with the CMakeCache.txt file.
+.sp
+This is the full path to the directory that has the CMakeCache.txt
+file in it.  This is the same as CMAKE_BINARY_DIR.
+.SS CMAKE_CACHE_MAJOR_VERSION
+.sp
+Major version of CMake used to create the CMakeCache.txt file
+.sp
+This stores the major version of CMake used to write a CMake cache
+file.  It is only different when a different version of CMake is run
+on a previously created cache file.
+.SS CMAKE_CACHE_MINOR_VERSION
+.sp
+Minor version of CMake used to create the CMakeCache.txt file
+.sp
+This stores the minor version of CMake used to write a CMake cache
+file.  It is only different when a different version of CMake is run
+on a previously created cache file.
+.SS CMAKE_CACHE_PATCH_VERSION
+.sp
+Patch version of CMake used to create the CMakeCache.txt file
+.sp
+This stores the patch version of CMake used to write a CMake cache
+file.  It is only different when a different version of CMake is run
+on a previously created cache file.
+.SS CMAKE_CFG_INTDIR
+.sp
+Build\-time reference to per\-configuration output subdirectory.
+.sp
+For native build systems supporting multiple configurations in the
+build tree (such as Visual Studio and Xcode), the value is a reference
+to a build\-time variable specifying the name of the per\-configuration
+output subdirectory.  On Makefile generators this evaluates to "."
+because there is only one configuration in a build tree.  Example
+values:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$(IntDir)            = Visual Studio 6
+$(ConfigurationName) = Visual Studio 7, 8, 9
+$(Configuration)     = Visual Studio 10
+$(CONFIGURATION)     = Xcode
+\&.                    = Make\-based tools
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Note that CMAKE_CFG_INTDIR is no longer necessary for this purpose but
+has been left for compatibility with existing projects.  Instead
+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".
+.sp
+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.
+.SS CMAKE_COMMAND
+.sp
+The full path to the cmake executable.
+.sp
+This is the full path to the CMake executable cmake which is useful
+from custom commands that want to use the cmake \-E option for portable
+system commands.  (e.g.  /usr/local/bin/cmake
+.SS CMAKE_CROSSCOMPILING
+.sp
+Is CMake currently cross compiling.
+.sp
+This variable will be set to true by CMake if CMake is cross
+compiling.  Specifically if the build platform is different from the
+target platform.
+.SS CMAKE_CROSSCOMPILING_EMULATOR
+.sp
+This variable is only used when \fBCMAKE_CROSSCOMPILING\fP is on. It
+should point to a command on the host system that can run executable built
+for the target system.
+.sp
+The command will be used to run \fBtry_run()\fP generated executables,
+which avoids manual population of the TryRunResults.cmake file.
+.sp
+It is also used as the default value for the
+\fBCROSSCOMPILING_EMULATOR\fP target property of executables.
+.SS CMAKE_CTEST_COMMAND
+.sp
+Full path to ctest command installed with cmake.
+.sp
+This is the full path to the CTest executable ctest which is useful
+from custom commands that want to use the cmake \-E option for portable
+system commands.
+.SS CMAKE_CURRENT_BINARY_DIR
+.sp
+The path to the binary directory currently being processed.
+.sp
+This the full path to the build directory that is currently being
+processed by cmake.  Each directory added by add_subdirectory will
+create a binary directory in the build tree, and as it is being
+processed this variable will be set.  For in\-source builds this is the
+current source directory being processed.
+.SS CMAKE_CURRENT_LIST_DIR
+.sp
+Full directory of the listfile currently being processed.
+.sp
+As CMake processes the listfiles in your project this variable will
+always be set to the directory where the listfile which is currently
+being processed (CMAKE_CURRENT_LIST_FILE) is located.  The value has
+dynamic scope.  When CMake starts processing commands in a source file
+it sets this variable to the directory where this file is located.
+When CMake finishes processing commands from the file it restores the
+previous value.  Therefore the value of the variable inside a macro or
+function is the directory of the file invoking the bottom\-most entry
+on the call stack, not the directory of the file containing the macro
+or function definition.
+.sp
+See also CMAKE_CURRENT_LIST_FILE.
+.SS CMAKE_CURRENT_LIST_FILE
+.sp
+Full path to the listfile currently being processed.
+.sp
+As CMake processes the listfiles in your project this variable will
+always be set to the one currently being processed.  The value has
+dynamic scope.  When CMake starts processing commands in a source file
+it sets this variable to the location of the file.  When CMake
+finishes processing commands from the file it restores the previous
+value.  Therefore the value of the variable inside a macro or function
+is the file invoking the bottom\-most entry on the call stack, not the
+file containing the macro or function definition.
+.sp
+See also CMAKE_PARENT_LIST_FILE.
+.SS CMAKE_CURRENT_LIST_LINE
+.sp
+The line number of the current file being processed.
+.sp
+This is the line number of the file currently being processed by
+cmake.
+.SS CMAKE_CURRENT_SOURCE_DIR
+.sp
+The path to the source directory currently being processed.
+.sp
+This the full path to the source directory that is currently being
+processed by cmake.
+.SS CMAKE_DL_LIBS
+.sp
+Name of library containing dlopen and dlcose.
+.sp
+The name of the library that has dlopen and dlclose in it, usually
+\-ldl on most UNIX machines.
+.SS CMAKE_EDIT_COMMAND
+.sp
+Full path to cmake\-gui or ccmake.  Defined only for Makefile generators
+when not using an "extra" generator for an IDE.
+.sp
+This is the full path to the CMake executable that can graphically
+edit the cache.  For example, cmake\-gui or ccmake.
+.SS CMAKE_EXECUTABLE_SUFFIX
+.sp
+The suffix for executables on this platform.
+.sp
+The suffix to use for the end of an executable filename if any, .exe
+on Windows.
+.sp
+CMAKE_EXECUTABLE_SUFFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_EXTRA_GENERATOR
+.sp
+The extra generator used to build the project.
+.sp
+When using the Eclipse, CodeBlocks or KDevelop generators, CMake
+generates Makefiles (CMAKE_GENERATOR) and additionally project files
+for the respective IDE.  This IDE project file generator is stored in
+CMAKE_EXTRA_GENERATOR (e.g.  "Eclipse CDT4").
+.SS CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
+.sp
+Additional suffixes for shared libraries.
+.sp
+Extensions for shared libraries other than that specified by
+CMAKE_SHARED_LIBRARY_SUFFIX, if any.  CMake uses this to recognize
+external shared library files during analysis of libraries linked by a
+target.
+.SS CMAKE_FIND_PACKAGE_NAME
+.sp
+Defined by the \fBfind_package()\fP command while loading
+a find module to record the caller\-specified package name.
+See command documentation for details.
+.SS CMAKE_GENERATOR
+.sp
+The generator used to build the project.
+.sp
+The name of the generator that is being used to generate the build
+files.  (e.g.  "Unix Makefiles", "Visual Studio 6", etc.)
+.SS CMAKE_GENERATOR_PLATFORM
+.sp
+Generator\-specific target platform name specified by user.
+.sp
+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 cmake \-A option)
+the value will be available in this variable.
+.sp
+The value of this variable should never be modified by project code.
+A toolchain file specified by the \fBCMAKE_TOOLCHAIN_FILE\fP
+variable may initialize \fBCMAKE_GENERATOR_PLATFORM\fP\&.  Once a given
+build tree has been initialized with a particular value for this
+variable, changing the value has undefined behavior.
+.SS CMAKE_GENERATOR_TOOLSET
+.sp
+Native build system toolset name specified by user.
+.sp
+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 cmake \-T option) the value will be available in
+this variable.
+.sp
+The value of this variable should never be modified by project code.
+A toolchain file specified by the \fBCMAKE_TOOLCHAIN_FILE\fP
+variable may initialize \fBCMAKE_GENERATOR_TOOLSET\fP\&.  Once a given
+build tree has been initialized with a particular value for this
+variable, changing the value has undefined behavior.
+.SS CMAKE_HOME_DIRECTORY
+.sp
+Path to top of source tree.
+.sp
+This is the path to the top level of the source tree.
+.SS CMAKE_IMPORT_LIBRARY_PREFIX
+.sp
+The prefix for import libraries that you link to.
+.sp
+The prefix to use for the name of an import library if used on this
+platform.
+.sp
+CMAKE_IMPORT_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_IMPORT_LIBRARY_SUFFIX
+.sp
+The suffix for import libraries that you link to.
+.sp
+The suffix to use for the end of an import library filename if used on
+this platform.
+.sp
+CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_JOB_POOL_COMPILE
+.sp
+This variable is used to initialize the \fBJOB_POOL_COMPILE\fP
+property on all the targets. See \fBJOB_POOL_COMPILE\fP
+for additional information.
+.SS CMAKE_JOB_POOL_LINK
+.sp
+This variable is used to initialize the \fBJOB_POOL_LINK\fP
+property on all the targets. See \fBJOB_POOL_LINK\fP
+for additional information.
+.SS CMAKE_LINK_LIBRARY_SUFFIX
+.sp
+The suffix for libraries that you link to.
+.sp
+The suffix to use for the end of a library filename, .lib on Windows.
+.SS CMAKE_MAJOR_VERSION
+.sp
+First version number component of the \fBCMAKE_VERSION\fP
+variable.
+.SS CMAKE_MAKE_PROGRAM
+.sp
+Tool that can launch the native build system.
+The value may be the full path to an executable or just the tool
+name if it is expected to be in the \fBPATH\fP\&.
+.sp
+The tool selected depends on the \fBCMAKE_GENERATOR\fP used
+to configure the project:
+.INDENT 0.0
+.IP \(bu 2
+The Makefile generators set this to \fBmake\fP, \fBgmake\fP, or
+a generator\-specific tool (e.g. \fBnmake\fP for "NMake Makefiles").
+.sp
+These generators store \fBCMAKE_MAKE_PROGRAM\fP in the CMake cache
+so that it may be edited by the user.
+.IP \(bu 2
+The Ninja generator sets this to \fBninja\fP\&.
+.sp
+This generator stores \fBCMAKE_MAKE_PROGRAM\fP in the CMake cache
+so that it may be edited by the user.
+.IP \(bu 2
+The Xcode generator sets this to \fBxcodebuild\fP (or possibly an
+otherwise undocumented \fBcmakexbuild\fP wrapper implementing some
+workarounds).
+.sp
+This generator prefers to lookup the build tool at build time
+rather than to store \fBCMAKE_MAKE_PROGRAM\fP in the CMake cache
+ahead of time.  This is because \fBxcodebuild\fP is easy to find,
+the \fBcmakexbuild\fP wrapper is needed only for older Xcode versions,
+and the path to \fBcmakexbuild\fP may be outdated if CMake itself moves.
+.sp
+For compatibility with versions of CMake prior to 3.2, if
+a user or project explicitly adds \fBCMAKE_MAKE_PROGRAM\fP to
+the CMake cache then CMake will use the specified value.
+.IP \(bu 2
+The Visual Studio generators set this to the full path to
+\fBMSBuild.exe\fP (VS >= 10), \fBdevenv.com\fP (VS 7,8,9),
+\fBVCExpress.exe\fP (VS Express 8,9), or \fBmsdev.exe\fP (VS 6).
+(See also variables
+\fBCMAKE_VS_MSBUILD_COMMAND\fP,
+\fBCMAKE_VS_DEVENV_COMMAND\fP, and
+\fBCMAKE_VS_MSDEV_COMMAND\fP\&.)
+.sp
+These generators prefer to lookup the build tool at build time
+rather than to store \fBCMAKE_MAKE_PROGRAM\fP in the CMake cache
+ahead of time.  This is because the tools are version\-specific
+and can be located using the Windows Registry.  It is also
+necessary because the proper build tool may depend on the
+project content (e.g. the Intel Fortran plugin to VS 10 and 11
+requires \fBdevenv.com\fP to build its \fB\&.vfproj\fP project files
+even though \fBMSBuild.exe\fP is normally preferred to support
+the \fBCMAKE_GENERATOR_TOOLSET\fP).
+.sp
+For compatibility with versions of CMake prior to 3.0, if
+a user or project explicitly adds \fBCMAKE_MAKE_PROGRAM\fP to
+the CMake cache then CMake will use the specified value if
+possible.
+.IP \(bu 2
+The \fBGreen Hills MULTI\fP generator sets this to \fBgbuild\fP\&.
+If a user or project explicitly adds \fBCMAKE_MAKE_PROGRAM\fP to
+the CMake cache then CMake will use the specified value.
+.UNINDENT
+.sp
+The \fBCMAKE_MAKE_PROGRAM\fP variable is set for use by project code.
+The value is also used by the \fBcmake(1)\fP \fB\-\-build\fP and
+\fBctest(1)\fP \fB\-\-build\-and\-test\fP tools to launch the native
+build process.
+.SS CMAKE_MATCH_COUNT
+.sp
+The number of matches with the last regular expression.
+.sp
+When a regular expression match is used, CMake fills in \fBCMAKE_MATCH_<n>\fP
+variables with the match contents. The \fBCMAKE_MATCH_COUNT\fP variable holds
+the number of match expressions when these are filled.
+.SS CMAKE_MINIMUM_REQUIRED_VERSION
+.sp
+Version specified to cmake_minimum_required command
+.sp
+Variable containing the VERSION component specified in the
+cmake_minimum_required command.
+.SS CMAKE_MINOR_VERSION
+.sp
+Second version number component of the \fBCMAKE_VERSION\fP
+variable.
+.SS CMAKE_PARENT_LIST_FILE
+.sp
+Full path to the CMake file that included the current one.
+.sp
+While processing a CMake file loaded by include() or find_package()
+this variable contains the full path to the file including it.  The
+top of the include stack is always the CMakeLists.txt for the current
+directory.  See also CMAKE_CURRENT_LIST_FILE.
+.SS CMAKE_PATCH_VERSION
+.sp
+Third version number component of the \fBCMAKE_VERSION\fP
+variable.
+.SS CMAKE_PROJECT_NAME
+.sp
+The name of the current project.
+.sp
+This specifies name of the current project from the closest inherited
+PROJECT command.
+.SS CMAKE_RANLIB
+.sp
+Name of randomizing tool for static libraries.
+.sp
+This specifies name of the program that randomizes libraries on UNIX,
+not used on Windows, but may be present.
+.SS CMAKE_ROOT
+.sp
+Install directory for running cmake.
+.sp
+This is the install root for the running CMake and the Modules
+directory can be found here.  This is commonly used in this format:
+${CMAKE_ROOT}/Modules
+.SS CMAKE_SCRIPT_MODE_FILE
+.sp
+Full path to the \-P script file currently being processed.
+.sp
+When run in \-P script mode, CMake sets this variable to the full path
+of the script file.  When run to configure a CMakeLists.txt file, this
+variable is not set.
+.SS CMAKE_SHARED_LIBRARY_PREFIX
+.sp
+The prefix for shared libraries that you link to.
+.sp
+The prefix to use for the name of a shared library, lib on UNIX.
+.sp
+CMAKE_SHARED_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_SHARED_LIBRARY_SUFFIX
+.sp
+The suffix for shared libraries that you link to.
+.sp
+The suffix to use for the end of a shared library filename, .dll on
+Windows.
+.sp
+CMAKE_SHARED_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_SHARED_MODULE_PREFIX
+.sp
+The prefix for loadable modules that you link to.
+.sp
+The prefix to use for the name of a loadable module on this platform.
+.sp
+CMAKE_SHARED_MODULE_PREFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_SHARED_MODULE_SUFFIX
+.sp
+The suffix for shared libraries that you link to.
+.sp
+The suffix to use for the end of a loadable module filename on this
+platform
+.sp
+CMAKE_SHARED_MODULE_SUFFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_SIZEOF_VOID_P
+.sp
+Size of a void pointer.
+.sp
+This is set to the size of a pointer on the target machine, and is determined
+by a try compile.  If a 64 bit size is found, then the library search
+path is modified to look for 64 bit libraries first.
+.SS CMAKE_SKIP_INSTALL_RULES
+.sp
+Whether to disable generation of installation rules.
+.sp
+If TRUE, cmake will neither generate installaton rules nor
+will it generate cmake_install.cmake files. This variable is FALSE by default.
+.SS CMAKE_SKIP_RPATH
+.sp
+If true, do not add run time path information.
+.sp
+If this is set to TRUE, then the rpath information is not added to
+compiled executables.  The default is to add rpath information if the
+platform supports it.  This allows for easy running from the build
+tree.  To omit RPATH in the install step, but not the build step, use
+CMAKE_SKIP_INSTALL_RPATH instead.
+.SS CMAKE_SOURCE_DIR
+.sp
+The path to the top level of the source tree.
+.sp
+This is the full path to the top level of the current CMake source
+tree.  For an in\-source build, this would be the same as
+CMAKE_BINARY_DIR.
+.SS CMAKE_STANDARD_LIBRARIES
+.sp
+Libraries linked into every executable and shared library.
+.sp
+This is the list of libraries that are linked into all executables and
+libraries.
+.SS CMAKE_STATIC_LIBRARY_PREFIX
+.sp
+The prefix for static libraries that you link to.
+.sp
+The prefix to use for the name of a static library, lib on UNIX.
+.sp
+CMAKE_STATIC_LIBRARY_PREFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_STATIC_LIBRARY_SUFFIX
+.sp
+The suffix for static libraries that you link to.
+.sp
+The suffix to use for the end of a static library filename, .lib on
+Windows.
+.sp
+CMAKE_STATIC_LIBRARY_SUFFIX_<LANG> overrides this for language <LANG>.
+.SS CMAKE_TOOLCHAIN_FILE
+.sp
+Path to toolchain file supplied to \fBcmake(1)\fP\&.
+.sp
+This variable is specified on the command line when cross\-compiling with CMake.
+It is the path to a file which is read early in the CMake run and which specifies
+locations for compilers and toolchain utilities, and other target platform and
+compiler related information.
+.SS CMAKE_TWEAK_VERSION
+.sp
+Defined to \fB0\fP for compatibility with code written for older
+CMake versions that may have defined higher values.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+In CMake versions 2.8.2 through 2.8.12, this variable holds
+the fourth version number component of the
+\fBCMAKE_VERSION\fP variable.
+.UNINDENT
+.UNINDENT
+.SS CMAKE_VERBOSE_MAKEFILE
+.sp
+Enable verbose output from Makefile builds.
+.sp
+This variable is a cache entry initialized (to FALSE) by
+the \fBproject()\fP command.  Users may enable the option
+in their local build tree to get more verbose output from
+Makefile builds and show each command line as it is launched.
+.SS CMAKE_VERSION
+.sp
+The CMake version string as three non\-negative integer components
+separated by \fB\&.\fP and possibly followed by \fB\-\fP and other information.
+The first two components represent the feature level and the third
+component represents either a bug\-fix level or development date.
+.sp
+Release versions and release candidate versions of CMake use the format:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<major>.<minor>.<patch>[\-rc<n>]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where the \fB<patch>\fP component is less than \fB20000000\fP\&.  Development
+versions of CMake use the format:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+<major>.<minor>.<date>[\-<id>]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where the \fB<date>\fP component is of format \fBCCYYMMDD\fP and \fB<id>\fP
+may contain arbitrary text.  This represents development as of a
+particular date following the \fB<major>.<minor>\fP feature release.
+.sp
+Individual component values are also available in variables:
+.INDENT 0.0
+.IP \(bu 2
+\fBCMAKE_MAJOR_VERSION\fP
+.IP \(bu 2
+\fBCMAKE_MINOR_VERSION\fP
+.IP \(bu 2
+\fBCMAKE_PATCH_VERSION\fP
+.IP \(bu 2
+\fBCMAKE_TWEAK_VERSION\fP
+.UNINDENT
+.sp
+Use the \fBif()\fP command \fBVERSION_LESS\fP, \fBVERSION_EQUAL\fP, or
+\fBVERSION_GREATER\fP operators to compare version string values against
+\fBCMAKE_VERSION\fP 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.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+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. \fB<major>.<minor>.<patch>[.<tweak>][\-rc<n>]\fP\&.
+Development versions represented the development date in the fourth
+component, i.e. \fB<major>.<minor>.<patch>.<date>[\-<id>]\fP\&.
+.sp
+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.
+\fB<major>.<even\-minor>.<patch>[\-rc<n>]\fP\&.  Development versions
+used an odd\-valued second component with the development date as
+the third component, i.e. \fB<major>.<odd\-minor>.<date>\fP\&.
+.sp
+The \fBCMAKE_VERSION\fP variable is defined by CMake 2.6.3 and higher.
+Earlier versions defined only the individual component variables.
+.UNINDENT
+.UNINDENT
+.SS CMAKE_VS_DEVENV_COMMAND
+.sp
+The generators for \fBVisual Studio 7\fP and above set this
+variable to the \fBdevenv.com\fP 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.
+.sp
+This variable is not defined by other generators even if \fBdevenv.com\fP
+is installed on the computer.
+.sp
+The \fBCMAKE_VS_MSBUILD_COMMAND\fP is also provided for
+\fBVisual Studio 10 2010\fP and above.
+See also the \fBCMAKE_MAKE_PROGRAM\fP variable.
+.SS CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
+.sp
+When generating for 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.
+.SS CMAKE_VS_MSBUILD_COMMAND
+.sp
+The generators for \fBVisual Studio 10 2010\fP and above set this
+variable to the \fBMSBuild.exe\fP command installed with the corresponding
+Visual Studio version.
+.sp
+This variable is not defined by other generators even if \fBMSBuild.exe\fP
+is installed on the computer.
+.sp
+The \fBCMAKE_VS_DEVENV_COMMAND\fP is also provided for the
+non\-Express editions of Visual Studio.
+See also the \fBCMAKE_MAKE_PROGRAM\fP variable.
+.SS CMAKE_VS_MSDEV_COMMAND
+.sp
+The \fBVisual Studio 6\fP generator sets this variable to the
+\fBmsdev.exe\fP command installed with Visual Studio 6.
+.sp
+This variable is not defined by other generators even if \fBmsdev.exe\fP
+is installed on the computer.
+.sp
+See also the \fBCMAKE_MAKE_PROGRAM\fP variable.
+.SS CMAKE_VS_NsightTegra_VERSION
+.sp
+When using a Visual Studio generator with the
+\fBCMAKE_SYSTEM_NAME\fP variable set to \fBAndroid\fP,
+this variable contains the version number of the
+installed NVIDIA Nsight Tegra Visual Studio Edition.
+.SS CMAKE_VS_PLATFORM_NAME
+.sp
+Visual Studio target platform name.
+.sp
+VS 8 and above allow project files to specify a target platform.
+CMake provides the name of the chosen platform in this variable.
+.SS CMAKE_VS_PLATFORM_TOOLSET
+.sp
+Visual Studio Platform Toolset name.
+.sp
+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.
+.SS CMAKE_XCODE_PLATFORM_TOOLSET
+.sp
+Xcode compiler selection.
+.sp
+Xcode supports selection of a compiler from one of the installed
+toolsets.  CMake provides the name of the chosen toolset in this
+variable, if any is explicitly selected (e.g.  via the cmake \-T
+option).
+.SS PROJECT_BINARY_DIR
+.sp
+Full path to build directory for project.
+.sp
+This is the binary directory of the most recent \fBproject()\fP command.
+.SS <PROJECT\-NAME>_BINARY_DIR
+.sp
+Top level binary directory for the named project.
+.sp
+A variable is created with the name used in the \fBproject()\fP command,
+and is the binary directory for the project.  This can be useful when
+\fBadd_subdirectory()\fP is used to connect several projects.
+.SS PROJECT_NAME
+.sp
+Name of the project given to the project command.
+.sp
+This is the name given to the most recent \fBproject()\fP command.
+.SS <PROJECT\-NAME>_SOURCE_DIR
+.sp
+Top level source directory for the named project.
+.sp
+A variable is created with the name used in the \fBproject()\fP command,
+and is the source directory for the project.  This can be useful when
+\fBadd_subdirectory()\fP is used to connect several projects.
+.SS <PROJECT\-NAME>_VERSION
+.sp
+Value given to the \fBVERSION\fP option of the most recent call to the
+\fBproject()\fP command with project name \fB<PROJECT\-NAME>\fP, if any.
+.sp
+See also the component\-wise version variables
+\fB<PROJECT\-NAME>_VERSION_MAJOR\fP,
+\fB<PROJECT\-NAME>_VERSION_MINOR\fP,
+\fB<PROJECT\-NAME>_VERSION_PATCH\fP, and
+\fB<PROJECT\-NAME>_VERSION_TWEAK\fP\&.
+.SS <PROJECT\-NAME>_VERSION_MAJOR
+.sp
+First version number component of the \fB<PROJECT\-NAME>_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS <PROJECT\-NAME>_VERSION_MINOR
+.sp
+Second version number component of the \fB<PROJECT\-NAME>_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS <PROJECT\-NAME>_VERSION_PATCH
+.sp
+Third version number component of the \fB<PROJECT\-NAME>_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS <PROJECT\-NAME>_VERSION_TWEAK
+.sp
+Fourth version number component of the \fB<PROJECT\-NAME>_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS PROJECT_SOURCE_DIR
+.sp
+Top level source directory for the current project.
+.sp
+This is the source directory of the most recent \fBproject()\fP command.
+.SS PROJECT_VERSION
+.sp
+Value given to the \fBVERSION\fP option of the most recent call to the
+\fBproject()\fP command, if any.
+.sp
+See also the component\-wise version variables
+\fBPROJECT_VERSION_MAJOR\fP,
+\fBPROJECT_VERSION_MINOR\fP,
+\fBPROJECT_VERSION_PATCH\fP, and
+\fBPROJECT_VERSION_TWEAK\fP\&.
+.SS PROJECT_VERSION_MAJOR
+.sp
+First version number component of the \fBPROJECT_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS PROJECT_VERSION_MINOR
+.sp
+Second version number component of the \fBPROJECT_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS PROJECT_VERSION_PATCH
+.sp
+Third version number component of the \fBPROJECT_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SS PROJECT_VERSION_TWEAK
+.sp
+Fourth version number component of the \fBPROJECT_VERSION\fP
+variable as set by the \fBproject()\fP command.
+.SH VARIABLES THAT CHANGE BEHAVIOR
+.SS BUILD_SHARED_LIBS
+.sp
+Global flag to cause add_library to create shared libraries if on.
+.sp
+If present and true, this will cause all libraries to be built shared
+unless the library was explicitly added as a static library.  This
+variable is often added to projects as an OPTION so that each user of
+a project can decide if they want to build the project using shared or
+static libraries.
+.SS CMAKE_ABSOLUTE_DESTINATION_FILES
+.sp
+List of files which have been installed using  an ABSOLUTE DESTINATION path.
+.sp
+This variable is defined by CMake\-generated cmake_install.cmake
+scripts.  It can be used (read\-only) by programs or scripts that
+source those install scripts.  This is used by some CPack generators
+(e.g.  RPM).
+.SS CMAKE_APPBUNDLE_PATH
+.sp
+;\-list of directories specifying a search path
+for OS X application bundles used by the \fBfind_program()\fP, and
+\fBfind_package()\fP commands.
+.SS CMAKE_AUTOMOC_RELAXED_MODE
+.sp
+Switch between strict and relaxed automoc mode.
+.sp
+By default, \fBAUTOMOC\fP behaves exactly as described in the documentation
+of the \fBAUTOMOC\fP target property.  When set to \fBTRUE\fP, it accepts more
+input and tries to find the correct input file for \fBmoc\fP even if it
+differs from the documented behaviour.  In this mode it e.g.  also
+checks whether a header file is intended to be processed by moc when a
+\fB"foo.moc"\fP file has been included.
+.sp
+Relaxed mode has to be enabled for KDE4 compatibility.
+.SS CMAKE_BACKWARDS_COMPATIBILITY
+.sp
+Deprecated.  See CMake Policy \fBCMP0001\fP documentation.
+.SS CMAKE_BUILD_TYPE
+.sp
+Specifies the build type on single\-configuration generators.
+.sp
+This statically specifies what build type (configuration) will be
+built in this build tree.  Possible values are empty, Debug, Release,
+RelWithDebInfo and MinSizeRel.  This variable is only meaningful to
+single\-configuration generators (such as make and Ninja) i.e.  those
+which choose a single configuration when CMake runs to generate a
+build tree as opposed to multi\-configuration generators which offer
+selection of the build configuration within the generated build
+environment.  There are many per\-config properties and variables
+(usually following clean SOME_VAR_<CONFIG> order conventions), such as
+CMAKE_C_FLAGS_<CONFIG>, specified as uppercase:
+CMAKE_C_FLAGS_[DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL].  For example,
+in a build tree configured to build type Debug, CMake will see to
+having CMAKE_C_FLAGS_DEBUG settings get added to the CMAKE_C_FLAGS
+settings.  See also CMAKE_CONFIGURATION_TYPES.
+.SS CMAKE_COLOR_MAKEFILE
+.sp
+Enables color output when using the Makefile generator.
+.sp
+When enabled, the generated Makefiles will produce colored output.
+Default is ON.
+.SS CMAKE_CONFIGURATION_TYPES
+.sp
+Specifies the available build types on multi\-config generators.
+.sp
+This specifies what build types (configurations) will be available
+such as Debug, Release, RelWithDebInfo etc.  This has reasonable
+defaults on most platforms, but can be extended to provide other build
+types.  See also CMAKE_BUILD_TYPE for details of managing
+configuration data, and CMAKE_CFG_INTDIR.
+.SS CMAKE_DEBUG_TARGET_PROPERTIES
+.sp
+Enables tracing output for target properties.
+.sp
+This variable can be populated with a list of properties to generate
+debug output for when evaluating target properties.  Currently it can
+only be used when evaluating the \fBINCLUDE_DIRECTORIES\fP,
+\fBCOMPILE_DEFINITIONS\fP, \fBCOMPILE_OPTIONS\fP,
+\fBAUTOUIC_OPTIONS\fP, \fBSOURCES\fP, \fBCOMPILE_FEATURES\fP,
+\fBPOSITION_INDEPENDENT_CODE\fP target properties and any other property
+listed in \fBCOMPATIBLE_INTERFACE_STRING\fP and other \fBCOMPATIBLE_INTERFACE_\fP
+properties.  It outputs an origin for each entry in the target property.
+Default is unset.
+.SS CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
+.sp
+Variable for disabling find_package() calls.
+.sp
+Every non\-REQUIRED find_package() call in a project can be disabled by
+setting the variable CMAKE_DISABLE_FIND_PACKAGE_<PackageName> to TRUE.
+This can be used to build a project without an optional package,
+although that package is installed.
+.sp
+This switch should be used during the initial CMake run.  Otherwise if
+the package has already been found in a previous CMake run, the
+variables which have been stored in the cache will still be there.  In
+that case it is recommended to remove the cache variables for this
+package from the cache using the cache editor or cmake \-U
+.SS CMAKE_ERROR_DEPRECATED
+.sp
+Whether to issue deprecation errors for macros and functions.
+.sp
+If TRUE, this can be used by macros and functions to issue fatal
+errors when deprecated macros or functions are used.  This variable is
+FALSE by default.
+.SS CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+.sp
+Ask cmake_install.cmake script to error out as soon as a file with absolute INSTALL DESTINATION is encountered.
+.sp
+The fatal error is emitted before the installation of the offending
+file takes place.  This variable is used by CMake\-generated
+cmake_install.cmake scripts.  If one sets this variable to ON while
+running the script, it may get fatal error messages from the script.
+.SS CMAKE_EXPORT_NO_PACKAGE_REGISTRY
+.sp
+Disable the \fBexport(PACKAGE)\fP command.
+.sp
+In some cases, for example for packaging and for system wide
+installations, it is not desirable to write the user package registry.
+If the \fI\%CMAKE_EXPORT_NO_PACKAGE_REGISTRY\fP variable is enabled,
+the \fBexport(PACKAGE)\fP command will do nothing.
+.sp
+See also Disabling the Package Registry\&.
+.SS CMAKE_SYSROOT
+.sp
+Path to pass to the compiler in the \fB\-\-sysroot\fP flag.
+.sp
+The \fBCMAKE_SYSROOT\fP content is passed to the compiler in the \fB\-\-sysroot\fP
+flag, if supported.  The path is also stripped from the RPATH/RUNPATH if
+necessary on installation.  The \fBCMAKE_SYSROOT\fP is also used to prefix
+paths searched by the \fBfind_*\fP commands.
+.sp
+This variable may only be set in a toolchain file specified by
+the \fBCMAKE_TOOLCHAIN_FILE\fP variable.
+.SS CMAKE_FIND_LIBRARY_PREFIXES
+.sp
+Prefixes to prepend when looking for libraries.
+.sp
+This specifies what prefixes to add to library names when the
+find_library command looks for libraries.  On UNIX systems this is
+typically lib, meaning that when trying to find the foo library it
+will look for libfoo.
+.SS CMAKE_FIND_LIBRARY_SUFFIXES
+.sp
+Suffixes to append when looking for libraries.
+.sp
+This specifies what suffixes to add to library names when the
+find_library command looks for libraries.  On Windows systems this is
+typically .lib and .dll, meaning that when trying to find the foo
+library it will look for foo.dll etc.
+.SS CMAKE_FIND_NO_INSTALL_PREFIX
+.sp
+Ignore the \fBCMAKE_INSTALL_PREFIX\fP when searching for assets.
+.sp
+CMake adds the \fBCMAKE_INSTALL_PREFIX\fP and the
+\fBCMAKE_STAGING_PREFIX\fP variable to the
+\fBCMAKE_SYSTEM_PREFIX_PATH\fP by default. This variable may be set
+on the command line to control that behavior.
+.sp
+Set \fI\%CMAKE_FIND_NO_INSTALL_PREFIX\fP to TRUE to tell find_package not
+to search in the \fBCMAKE_INSTALL_PREFIX\fP or
+\fBCMAKE_STAGING_PREFIX\fP 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.
+.SS CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
+.sp
+Skip User Package Registry in \fBfind_package()\fP calls.
+.sp
+In some cases, for example to locate only system wide installations, it
+is not desirable to use the User Package Registry when searching
+for packages. If the \fI\%CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY\fP
+variable is enabled, all the \fBfind_package()\fP commands will skip
+the User Package Registry as if they were called with the
+\fBNO_CMAKE_PACKAGE_REGISTRY\fP argument.
+.sp
+See also Disabling the Package Registry\&.
+.SS CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
+.sp
+Skip System Package Registry in \fBfind_package()\fP calls.
+.sp
+In some cases, it is not desirable to use the
+System Package Registry when searching for packages. If the
+\fI\%CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY\fP variable is
+enabled, all the \fBfind_package()\fP commands will skip
+the System Package Registry as if they were called with the
+\fBNO_CMAKE_SYSTEM_PACKAGE_REGISTRY\fP argument.
+.sp
+See also Disabling the Package Registry\&.
+.SS CMAKE_FIND_PACKAGE_WARN_NO_MODULE
+.sp
+Tell find_package to warn if called without an explicit mode.
+.sp
+If find_package is called without an explicit mode option (MODULE,
+CONFIG or NO_MODULE) and no Find<pkg>.cmake module is in
+CMAKE_MODULE_PATH then CMake implicitly assumes that the caller
+intends to search for a package configuration file.  If no package
+configuration file is found then the wording of the failure message
+must account for both the case that the package is really missing and
+the case that the project has a bug and failed to provide the intended
+Find module.  If instead the caller specifies an explicit mode option
+then the failure message can be more specific.
+.sp
+Set CMAKE_FIND_PACKAGE_WARN_NO_MODULE to TRUE to tell find_package to
+warn when it implicitly assumes Config mode.  This helps developers
+enforce use of an explicit mode in all calls to find_package within a
+project.
+.SS CMAKE_FIND_ROOT_PATH
+.sp
+;\-list of root paths to search on the filesystem.
+.sp
+This variable is most useful when cross\-compiling. CMake uses the paths in
+this list as alternative roots to find filesystem items with \fBfind_package()\fP,
+\fBfind_library()\fP etc.
+.SS CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
+.sp
+This variable controls whether the \fBCMAKE_FIND_ROOT_PATH\fP and
+\fBCMAKE_SYSROOT\fP are used by \fBfind_file()\fP and \fBfind_path()\fP\&.
+.sp
+If set to \fBONLY\fP, then only the roots in \fBCMAKE_FIND_ROOT_PATH\fP
+will be searched. If set to \fBNEVER\fP, then the roots in
+\fBCMAKE_FIND_ROOT_PATH\fP will be ignored and only the host system
+root will be used. If set to \fBBOTH\fP, then the host system paths and the
+paths in \fBCMAKE_FIND_ROOT_PATH\fP will be searched.
+.SS CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
+.sp
+This variable controls whether the \fBCMAKE_FIND_ROOT_PATH\fP and
+\fBCMAKE_SYSROOT\fP are used by \fBfind_library()\fP\&.
+.sp
+If set to \fBONLY\fP, then only the roots in \fBCMAKE_FIND_ROOT_PATH\fP
+will be searched. If set to \fBNEVER\fP, then the roots in
+\fBCMAKE_FIND_ROOT_PATH\fP will be ignored and only the host system
+root will be used. If set to \fBBOTH\fP, then the host system paths and the
+paths in \fBCMAKE_FIND_ROOT_PATH\fP will be searched.
+.SS CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
+.sp
+This variable controls whether the \fBCMAKE_FIND_ROOT_PATH\fP and
+\fBCMAKE_SYSROOT\fP are used by \fBfind_package()\fP\&.
+.sp
+If set to \fBONLY\fP, then only the roots in \fBCMAKE_FIND_ROOT_PATH\fP
+will be searched. If set to \fBNEVER\fP, then the roots in
+\fBCMAKE_FIND_ROOT_PATH\fP will be ignored and only the host system
+root will be used. If set to \fBBOTH\fP, then the host system paths and the
+paths in \fBCMAKE_FIND_ROOT_PATH\fP will be searched.
+.SS CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
+.sp
+This variable controls whether the \fBCMAKE_FIND_ROOT_PATH\fP and
+\fBCMAKE_SYSROOT\fP are used by \fBfind_program()\fP\&.
+.sp
+If set to \fBONLY\fP, then only the roots in \fBCMAKE_FIND_ROOT_PATH\fP
+will be searched. If set to \fBNEVER\fP, then the roots in
+\fBCMAKE_FIND_ROOT_PATH\fP will be ignored and only the host system
+root will be used. If set to \fBBOTH\fP, then the host system paths and the
+paths in \fBCMAKE_FIND_ROOT_PATH\fP will be searched.
+.SS CMAKE_FRAMEWORK_PATH
+.sp
+;\-list of directories specifying a search path
+for OS X frameworks used by the \fBfind_library()\fP,
+\fBfind_package()\fP, \fBfind_path()\fP, and \fBfind_file()\fP
+commands.
+.SS CMAKE_IGNORE_PATH
+.sp
+;\-list of directories to be \fIignored\fP by
+the \fBfind_program()\fP, \fBfind_library()\fP, \fBfind_file()\fP,
+and \fBfind_path()\fP commands.  This is useful in cross\-compiling
+environments where some system directories contain incompatible but
+possibly linkable libraries.  For example, on cross\-compiled cluster
+environments, this allows a user to ignore directories containing
+libraries meant for the front\-end machine.
+.sp
+By default this is empty; it is intended to be set by the project.
+Note that \fBCMAKE_IGNORE_PATH\fP takes a list of directory names, \fInot\fP
+a list of prefixes.  To ignore paths under prefixes (\fBbin\fP, \fBinclude\fP,
+\fBlib\fP, etc.), specify them explicitly.
+.sp
+See also the \fBCMAKE_PREFIX_PATH\fP, \fBCMAKE_LIBRARY_PATH\fP,
+\fBCMAKE_INCLUDE_PATH\fP, and \fBCMAKE_PROGRAM_PATH\fP variables.
+.SS CMAKE_INCLUDE_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_file()\fP and \fBfind_path()\fP commands.  By default it
+is empty, it is intended to be set by the project.  See also
+\fBCMAKE_SYSTEM_INCLUDE_PATH\fP and \fBCMAKE_PREFIX_PATH\fP\&.
+.SS CMAKE_INCLUDE_DIRECTORIES_BEFORE
+.sp
+Whether to append or prepend directories by default in \fBinclude_directories()\fP\&.
+.sp
+This variable affects the default behavior of the \fBinclude_directories()\fP
+command. Setting this variable to \(aqON\(aq is equivalent to using the BEFORE option
+in all uses of that command.
+.SS CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
+.sp
+Whether to force prepending of project include directories.
+.sp
+This variable affects the order of include directories generated in compiler
+command lines.  If set to \(aqON\(aq, it causes the \fBCMAKE_SOURCE_DIR\fP and
+the \fBCMAKE_BINARY_DIR\fP to appear first.
+.SS CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
+.sp
+Default component used in install() commands.
+.sp
+If an install() command is used without the COMPONENT argument, these
+files will be grouped into a default component.  The name of this
+default install component will be taken from this variable.  It
+defaults to "Unspecified".
+.SS CMAKE_INSTALL_MESSAGE
+.sp
+Specify verbosity of installation script code generated by the
+\fBinstall()\fP command (using the \fBfile(INSTALL)\fP command).
+For paths that are newly installed or updated, installation
+may print lines like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\-\- Installing: /some/destination/path
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+For paths that are already up to date, installation may print
+lines like:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\-\- Up\-to\-date: /some/destination/path
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The \fBCMAKE_INSTALL_MESSAGE\fP variable may be set to control
+which messages are printed:
+.INDENT 0.0
+.TP
+.B \fBALWAYS\fP
+Print both \fBInstalling\fP and \fBUp\-to\-date\fP messages.
+.TP
+.B \fBLAZY\fP
+Print \fBInstalling\fP but not \fBUp\-to\-date\fP messages.
+.TP
+.B \fBNEVER\fP
+Print neither \fBInstalling\fP nor \fBUp\-to\-date\fP messages.
+.UNINDENT
+.sp
+Other values have undefined behavior and may not be diagnosed.
+.sp
+If this variable is not set, the default behavior is \fBALWAYS\fP\&.
+.SS CMAKE_INSTALL_PREFIX
+.sp
+Install directory used by install.
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+make DESTDIR=/home/john install
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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".
+.sp
+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.
+.sp
+The installation prefix is also added to CMAKE_SYSTEM_PREFIX_PATH so
+that find_package, find_program, find_library, find_path, and
+find_file will search the prefix for other software.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Use the \fBGNUInstallDirs\fP module to provide GNU\-style
+options for the layout of directories within the installation.
+.UNINDENT
+.UNINDENT
+.SS CMAKE_LIBRARY_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_library()\fP command.  By default it is empty, it is
+intended to be set by the project.  See also
+\fBCMAKE_SYSTEM_LIBRARY_PATH\fP and \fBCMAKE_PREFIX_PATH\fP\&.
+.SS CMAKE_MFC_FLAG
+.sp
+Tell cmake to use MFC for an executable or dll.
+.sp
+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 6 and 7
+project files.  The CMakeSetup dialog used MFC and the CMakeLists.txt
+looks like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+add_definitions(\-D_AFXDLL)
+set(CMAKE_MFC_FLAG 2)
+add_executable(CMakeSetup WIN32 ${SRCS})
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMAKE_MODULE_PATH
+.sp
+;\-list of directories specifying a search path
+for CMake modules to be loaded by the the \fBinclude()\fP or
+\fBfind_package()\fP commands before checking the default modules that come
+with CMake.  By default it is empty, it is intended to be set by the project.
+.SS CMAKE_NOT_USING_CONFIG_FLAGS
+.sp
+Skip _BUILD_TYPE flags if true.
+.sp
+This is an internal flag used by the generators in CMake to tell CMake
+to skip the _BUILD_TYPE flags.
+.SS CMAKE_POLICY_DEFAULT_CMP<NNNN>
+.sp
+Default for CMake Policy CMP<NNNN> when it is otherwise left unset.
+.sp
+Commands cmake_minimum_required(VERSION) and cmake_policy(VERSION) by
+default leave policies introduced after the given version unset.  Set
+CMAKE_POLICY_DEFAULT_CMP<NNNN> to OLD or NEW to specify the default
+for policy CMP<NNNN>, where <NNNN> is the policy number.
+.sp
+This variable should not be set by a project in CMake code; use
+cmake_policy(SET) instead.  Users running CMake may set this variable
+in the cache (e.g.  \-DCMAKE_POLICY_DEFAULT_CMP<NNNN>=<OLD|NEW>) to set
+a policy not otherwise set by the project.  Set to OLD to quiet a
+policy warning while using old behavior or to NEW to try building the
+project with new behavior.
+.SS CMAKE_POLICY_WARNING_CMP<NNNN>
+.sp
+Explicitly enable or disable the warning when CMake Policy \fBCMP<NNNN>\fP
+is not set.  This is meaningful only for the few policies that do not
+warn by default:
+.INDENT 0.0
+.IP \(bu 2
+\fBCMAKE_POLICY_WARNING_CMP0025\fP controls the warning for
+policy \fBCMP0025\fP\&.
+.IP \(bu 2
+\fBCMAKE_POLICY_WARNING_CMP0047\fP controls the warning for
+policy \fBCMP0047\fP\&.
+.IP \(bu 2
+\fBCMAKE_POLICY_WARNING_CMP0056\fP controls the warning for
+policy \fBCMP0056\fP\&.
+.IP \(bu 2
+\fBCMAKE_POLICY_WARNING_CMP0060\fP controls the warning for
+policy \fBCMP0060\fP\&.
+.UNINDENT
+.sp
+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. \fB\-DCMAKE_POLICY_WARNING_CMP<NNNN>=ON\fP).
+Alternatively, running \fBcmake(1)\fP with the \fB\-\-debug\-output\fP
+or \fB\-\-trace\fP option will also enable the warning.
+.SS CMAKE_PREFIX_PATH
+.sp
+;\-list of directories specifying installation
+\fIprefixes\fP to be searched by the \fBfind_package()\fP,
+\fBfind_program()\fP, \fBfind_library()\fP, \fBfind_file()\fP, and
+\fBfind_path()\fP commands.  Each command will add appropriate
+subdirectories (like \fBbin\fP, \fBlib\fP, or \fBinclude\fP) as specified in its own
+documentation.
+.sp
+By default this is empty.  It is intended to be set by the project.
+.sp
+See also \fBCMAKE_SYSTEM_PREFIX_PATH\fP, \fBCMAKE_INCLUDE_PATH\fP,
+\fBCMAKE_LIBRARY_PATH\fP, \fBCMAKE_PROGRAM_PATH\fP, and
+\fBCMAKE_IGNORE_PATH\fP\&.
+.SS CMAKE_PROGRAM_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_program()\fP command.  By default it is empty, it is
+intended to be set by the project.  See also
+\fBCMAKE_SYSTEM_PROGRAM_PATH\fP and \fBCMAKE_PREFIX_PATH\fP\&.
+.SS CMAKE_PROJECT_<PROJECT\-NAME>_INCLUDE
+.sp
+A CMake language file or module to be included by the \fBproject()\fP
+command.  This is is intended for injecting custom code into project
+builds without modifying their source.
+.SS CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
+.sp
+Don\(aqt make the install target depend on the all target.
+.sp
+By default, the "install" target depends on the "all" target.  This
+has the effect, that when "make install" is invoked or INSTALL is
+built, first the "all" target is built, then the installation starts.
+If CMAKE_SKIP_INSTALL_ALL_DEPENDENCY is set to TRUE, this dependency
+is not created, so the installation process will start immediately,
+independent from whether the project has been completely built or not.
+.SS CMAKE_STAGING_PREFIX
+.sp
+This variable may be set to a path to install to when cross\-compiling. This can
+be useful if the path in \fBCMAKE_SYSROOT\fP is read\-only, or otherwise
+should remain pristine.
+.sp
+The CMAKE_STAGING_PREFIX location is also used as a search prefix by the \fBfind_*\fP
+commands. This can be controlled by setting the \fBCMAKE_FIND_NO_INSTALL_PREFIX\fP
+variable.
+.sp
+If any RPATH/RUNPATH entries passed to the linker contain the CMAKE_STAGING_PREFIX,
+the matching path fragments are replaced with the \fBCMAKE_INSTALL_PREFIX\fP\&.
+.SS CMAKE_SYSTEM_IGNORE_PATH
+.sp
+;\-list of directories to be \fIignored\fP by
+the \fBfind_program()\fP, \fBfind_library()\fP, \fBfind_file()\fP,
+and \fBfind_path()\fP commands.  This is useful in cross\-compiling
+environments where some system directories contain incompatible but
+possibly linkable libraries.  For example, on cross\-compiled cluster
+environments, this allows a user to ignore directories containing
+libraries meant for the front\-end machine.
+.sp
+By default this contains a list of directories containing incompatible
+binaries for the host system.  See the \fBCMAKE_IGNORE_PATH\fP variable
+that is intended to be set by the project.
+.sp
+See also the \fBCMAKE_SYSTEM_PREFIX_PATH\fP,
+\fBCMAKE_SYSTEM_LIBRARY_PATH\fP, \fBCMAKE_SYSTEM_INCLUDE_PATH\fP,
+and \fBCMAKE_SYSTEM_PROGRAM_PATH\fP variables.
+.SS CMAKE_SYSTEM_INCLUDE_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_file()\fP and \fBfind_path()\fP commands.  By default
+this contains the standard directories for the current system.  It is \fInot\fP
+intended to be modified by the project; use \fBCMAKE_INCLUDE_PATH\fP for
+this.  See also \fBCMAKE_SYSTEM_PREFIX_PATH\fP\&.
+.SS CMAKE_SYSTEM_LIBRARY_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_library()\fP command.  By default this contains the
+standard directories for the current system.  It is \fInot\fP intended to be
+modified by the project; use \fBCMAKE_LIBRARY_PATH\fP for this.
+See also \fBCMAKE_SYSTEM_PREFIX_PATH\fP\&.
+.SS CMAKE_SYSTEM_PREFIX_PATH
+.sp
+;\-list of directories specifying installation
+\fIprefixes\fP to be searched by the \fBfind_package()\fP,
+\fBfind_program()\fP, \fBfind_library()\fP, \fBfind_file()\fP, and
+\fBfind_path()\fP commands.  Each command will add appropriate
+subdirectories (like \fBbin\fP, \fBlib\fP, or \fBinclude\fP) as specified in its own
+documentation.
+.sp
+By default this contains the standard directories for the current system, the
+\fBCMAKE_INSTALL_PREFIX\fP, and the \fBCMAKE_STAGING_PREFIX\fP\&.
+It is \fInot\fP intended to be modified by the project; use
+\fBCMAKE_PREFIX_PATH\fP for this.
+.sp
+See also \fBCMAKE_SYSTEM_INCLUDE_PATH\fP,
+\fBCMAKE_SYSTEM_LIBRARY_PATH\fP, \fBCMAKE_SYSTEM_PROGRAM_PATH\fP,
+and \fBCMAKE_SYSTEM_IGNORE_PATH\fP\&.
+.SS CMAKE_SYSTEM_PROGRAM_PATH
+.sp
+;\-list of directories specifying a search path
+for the \fBfind_program()\fP command.  By default this contains the
+standard directories for the current system.  It is \fInot\fP intended to be
+modified by the project; use \fBCMAKE_PROGRAM_PATH\fP for this.
+See also \fBCMAKE_SYSTEM_PREFIX_PATH\fP\&.
+.SS CMAKE_USER_MAKE_RULES_OVERRIDE
+.sp
+Specify a CMake file that overrides platform information.
+.sp
+CMake loads the specified file while enabling support for each
+language from either the project() or enable_language() commands.  It
+is loaded after CMake\(aqs 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\(aqs defaults.
+.sp
+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 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 CMAKE_C_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
+CMAKE_RUNTIME_OUTPUT_DIRECTORY that affect the placement of binaries.
+Information set in the file will be used for try_compile and try_run
+builds too.
+.SS CMAKE_WARN_DEPRECATED
+.sp
+Whether to issue deprecation warnings for macros and functions.
+.sp
+If TRUE, this can be used by macros and functions to issue deprecation
+warnings.  This variable is FALSE by default.
+.SS CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+.sp
+Ask cmake_install.cmake script to warn each time a file with absolute INSTALL DESTINATION is encountered.
+.sp
+This variable is used by CMake\-generated cmake_install.cmake scripts.
+If one sets this variable to ON while running the script, it may get
+warning messages from the script.
+.SH VARIABLES THAT DESCRIBE THE SYSTEM
+.SS APPLE
+.sp
+True if running on Mac OS X.
+.sp
+Set to true on Mac OS X.
+.SS BORLAND
+.sp
+True if the Borland compiler is being used.
+.sp
+This is set to true if the Borland compiler is being used.
+.SS CMAKE_CL_64
+.sp
+Using the 64 bit compiler from Microsoft
+.sp
+Set to true when using the 64 bit cl compiler from Microsoft.
+.SS CMAKE_COMPILER_2005
+.sp
+Using the Visual Studio 2005 compiler from Microsoft
+.sp
+Set to true when using the Visual Studio 2005 compiler from Microsoft.
+.SS CMAKE_HOST_APPLE
+.sp
+True for Apple OS X operating systems.
+.sp
+Set to true when the host system is Apple OS X.
+.SS CMAKE_HOST_SYSTEM_NAME
+.sp
+Name of the OS CMake is running on.
+.sp
+On systems that have the uname command, this variable is set to the
+output of uname \-s.  \fBLinux\fP, \fBWindows\fP, and \fBDarwin\fP for Mac OS X
+are the values found on the big three operating systems.
+.SS CMAKE_HOST_SYSTEM_PROCESSOR
+.sp
+The name of the CPU CMake is running on.
+.sp
+On systems that support uname, this variable is set to the output of
+uname \-p, on windows it is set to the value of the environment variable
+\fBPROCESSOR_ARCHITECTURE\fP\&.
+.SS CMAKE_HOST_SYSTEM
+.sp
+Composit Name of OS CMake is being run on.
+.sp
+This variable is the composite of \fBCMAKE_HOST_SYSTEM_NAME\fP and
+\fBCMAKE_HOST_SYSTEM_VERSION\fP, e.g.
+\fB${CMAKE_HOST_SYSTEM_NAME}\-${CMAKE_HOST_SYSTEM_VERSION}\fP\&.  If
+\fBCMAKE_HOST_SYSTEM_VERSION\fP is not set, then this variable is
+the same as \fBCMAKE_HOST_SYSTEM_NAME\fP\&.
+.SS CMAKE_HOST_SYSTEM_VERSION
+.sp
+The OS version CMake is running on.
+.sp
+A numeric version string for the system.  On systems that support
+uname, this variable is set to the output of uname \-r. On other
+systems this is set to major\-minor version numbers.
+.SS CMAKE_HOST_UNIX
+.sp
+True for UNIX and UNIX like operating systems.
+.sp
+Set to true when the host system is UNIX or UNIX like (i.e.  APPLE and
+CYGWIN).
+.SS CMAKE_HOST_WIN32
+.sp
+True on windows systems, including win64.
+.sp
+Set to true when the host system is Windows and on Cygwin.
+.SS CMAKE_LIBRARY_ARCHITECTURE_REGEX
+.sp
+Regex matching possible target architecture library directory names.
+.sp
+This is used to detect CMAKE_<lang>_LIBRARY_ARCHITECTURE from the
+implicit linker search path by matching the <arch> name.
+.SS CMAKE_LIBRARY_ARCHITECTURE
+.sp
+Target architecture library directory name, if detected.
+.sp
+This is the value of CMAKE_<lang>_LIBRARY_ARCHITECTURE as detected for
+one of the enabled languages.
+.SS CMAKE_OBJECT_PATH_MAX
+.sp
+Maximum object file full\-path length allowed by native build tools.
+.sp
+CMake computes for every source file an object file name that is
+unique to the source file and deterministic with respect to the full
+path to the source file.  This allows multiple source files in a
+target to share the same name if they lie in different directories
+without rebuilding when one is added or removed.  However, it can
+produce long full paths in a few cases, so CMake shortens the path
+using a hashing scheme when the full path to an object file exceeds a
+limit.  CMake has a built\-in limit for each platform that is
+sufficient for common tools, but some native tools may have a lower
+limit.  This variable may be set to specify the limit explicitly.  The
+value must be an integer no less than 128.
+.SS CMAKE_SYSTEM_NAME
+.sp
+Name of the OS CMake is building for.
+.sp
+This is the name of the OS on which CMake is targeting.  This variable
+is the same as \fBCMAKE_HOST_SYSTEM_NAME\fP if you build for the
+host system instead of the target system when cross compiling.
+.SS CMAKE_SYSTEM_PROCESSOR
+.sp
+The name of the CPU CMake is building for.
+.sp
+This variable is the same as \fBCMAKE_HOST_SYSTEM_PROCESSOR\fP if
+you build for the host system instead of the target system when
+cross compiling.
+.INDENT 0.0
+.IP \(bu 2
+The Green Hills MULTI generator sets this to \fBARM\fP by default
+.UNINDENT
+.SS CMAKE_SYSTEM
+.sp
+Composit Name of OS CMake is compiling for.
+.sp
+This variable is the composite of \fBCMAKE_SYSTEM_NAME\fP and
+\fBCMAKE_SYSTEM_VERSION\fP, e.g.
+\fB${CMAKE_SYSTEM_NAME}\-${CMAKE_SYSTEM_VERSION}\fP\&.  If
+\fBCMAKE_SYSTEM_VERSION\fP is not set, then this variable is
+the same as \fBCMAKE_SYSTEM_NAME\fP\&.
+.SS CMAKE_SYSTEM_VERSION
+.sp
+The OS version CMake is building for.
+.sp
+This variable is the same as \fBCMAKE_HOST_SYSTEM_VERSION\fP if
+you build for the host system instead of the target system when
+cross compiling.
+.SS CYGWIN
+.sp
+True for Cygwin.
+.sp
+Set to true when using Cygwin.
+.SS ENV
+.sp
+Access environment variables.
+.sp
+Use the syntax $ENV{VAR} to read environment variable VAR.  See also
+the set() command to set ENV{VAR}.
+.SS GHS\-MULTI
+.sp
+True when using Green Hills MULTI
+.SS MINGW
+.sp
+True when using MinGW
+.sp
+Set to true when the compiler is some version of MinGW.
+.SS MSVC10
+.sp
+True when using Microsoft Visual C 10.0
+.sp
+Set to true when the compiler is version 10.0 of Microsoft Visual C.
+.SS MSVC11
+.sp
+True when using Microsoft Visual C 11.0
+.sp
+Set to true when the compiler is version 11.0 of Microsoft Visual C.
+.SS MSVC12
+.sp
+True when using Microsoft Visual C 12.0
+.sp
+Set to true when the compiler is version 12.0 of Microsoft Visual C.
+.SS MSVC14
+.sp
+True when using Microsoft Visual C 14.0
+.sp
+Set to true when the compiler is version 14.0 of Microsoft Visual C.
+.SS MSVC60
+.sp
+True when using Microsoft Visual C 6.0
+.sp
+Set to true when the compiler is version 6.0 of Microsoft Visual C.
+.SS MSVC70
+.sp
+True when using Microsoft Visual C 7.0
+.sp
+Set to true when the compiler is version 7.0 of Microsoft Visual C.
+.SS MSVC71
+.sp
+True when using Microsoft Visual C 7.1
+.sp
+Set to true when the compiler is version 7.1 of Microsoft Visual C.
+.SS MSVC80
+.sp
+True when using Microsoft Visual C 8.0
+.sp
+Set to true when the compiler is version 8.0 of Microsoft Visual C.
+.SS MSVC90
+.sp
+True when using Microsoft Visual C 9.0
+.sp
+Set to true when the compiler is version 9.0 of Microsoft Visual C.
+.SS MSVC_IDE
+.sp
+True when using the Microsoft Visual C IDE
+.sp
+Set to true when the target platform is the Microsoft Visual C IDE, as
+opposed to the command line compiler.
+.SS MSVC
+.sp
+True when using Microsoft Visual C
+.sp
+Set to true when the compiler is some version of Microsoft Visual C.
+.SS MSVC_VERSION
+.sp
+The version of Microsoft Visual C/C++ being used if any.
+.sp
+Known version numbers are:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+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
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS UNIX
+.sp
+True for UNIX and UNIX like operating systems.
+.sp
+Set to true when the target system is UNIX or UNIX like (i.e.  APPLE
+and CYGWIN).
+.SS WIN32
+.sp
+True on windows systems, including win64.
+.sp
+Set to true when the target system is Windows.
+.SS WINCE
+.sp
+True when the \fBCMAKE_SYSTEM_NAME\fP variable is set
+to \fBWindowsCE\fP\&.
+.SS WINDOWS_PHONE
+.sp
+True when the \fBCMAKE_SYSTEM_NAME\fP variable is set
+to \fBWindowsPhone\fP\&.
+.SS WINDOWS_STORE
+.sp
+True when the \fBCMAKE_SYSTEM_NAME\fP variable is set
+to \fBWindowsStore\fP\&.
+.SS XCODE_VERSION
+.sp
+Version of Xcode (Xcode generator only).
+.sp
+Under the Xcode generator, this is the version of Xcode as specified
+in "Xcode.app/Contents/version.plist" (such as "3.1.2").
+.SH VARIABLES THAT CONTROL THE BUILD
+.SS CMAKE_ANDROID_API
+.sp
+Default value for the \fBANDROID_API\fP target property.
+See that target property for additional information.
+.SS CMAKE_ANDROID_API_MIN
+.sp
+Default value for the \fBANDROID_API_MIN\fP target property.
+See that target property for additional information.
+.SS CMAKE_ANDROID_GUI
+.sp
+Default value for the \fBANDROID_GUI\fP target property of
+executables.  See that target property for additional information.
+.SS CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+.sp
+Where to put all the ARCHIVE
+target files when built.
+.sp
+This variable is used to initialize the \fBARCHIVE_OUTPUT_DIRECTORY\fP
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_ARCHIVE_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Where to put all the ARCHIVE
+target files when built for a specific configuration.
+.sp
+This variable is used to initialize the
+\fBARCHIVE_OUTPUT_DIRECTORY_<CONFIG>\fP property on all the targets.
+See that target property for additional information.
+.SS CMAKE_AUTOMOC_MOC_OPTIONS
+.sp
+Additional options for \fBmoc\fP when using \fBCMAKE_AUTOMOC\fP\&.
+.sp
+This variable is used to initialize the \fBAUTOMOC_MOC_OPTIONS\fP property
+on all the targets.  See that target property for additional information.
+.SS CMAKE_AUTOMOC
+.sp
+Whether to handle \fBmoc\fP automatically for Qt targets.
+.sp
+This variable is used to initialize the \fBAUTOMOC\fP property on all the
+targets.  See that target property for additional information.
+.SS CMAKE_AUTORCC
+.sp
+Whether to handle \fBrcc\fP automatically for Qt targets.
+.sp
+This variable is used to initialize the \fBAUTORCC\fP property on all the targets.
+See that target property for additional information.
+.SS CMAKE_AUTORCC_OPTIONS
+.sp
+Whether to handle \fBrcc\fP automatically for Qt targets.
+.sp
+This variable is used to initialize the \fBAUTORCC_OPTIONS\fP property on
+all the targets.  See that target property for additional information.
+.SS CMAKE_AUTOUIC
+.sp
+Whether to handle \fBuic\fP automatically for Qt targets.
+.sp
+This variable is used to initialize the \fBAUTOUIC\fP property on all the targets.
+See that target property for additional information.
+.SS CMAKE_AUTOUIC_OPTIONS
+.sp
+Whether to handle \fBuic\fP automatically for Qt targets.
+.sp
+This variable is used to initialize the \fBAUTOUIC_OPTIONS\fP property on
+all the targets.  See that target property for additional information.
+.SS CMAKE_BUILD_WITH_INSTALL_RPATH
+.sp
+Use the install path for the RPATH
+.sp
+Normally CMake uses the build tree for the RPATH when building
+executables etc on systems that use RPATH.  When the software is
+installed the executables etc are relinked by CMake to have the
+install RPATH.  If this variable is set to true then the software is
+always built with the install path for the RPATH and does not need to
+be relinked when installed.
+.SS CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
+.sp
+Output directory for MS debug symbol \fB\&.pdb\fP files
+generated by the compiler while building source files.
+.sp
+This variable is used to initialize the
+\fBCOMPILE_PDB_OUTPUT_DIRECTORY\fP property on all the targets.
+.SS CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for MS debug symbol \fB\&.pdb\fP files
+generated by the compiler while building source files.
+.sp
+This is a per\-configuration version of
+\fBCMAKE_COMPILE_PDB_OUTPUT_DIRECTORY\fP\&.
+This variable is used to initialize the
+\fBCOMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>\fP
+property on all the targets.
+.SS CMAKE_<CONFIG>_POSTFIX
+.sp
+Default filename postfix for libraries under configuration <CONFIG>.
+.sp
+When a non\-executable target is created its <CONFIG>_POSTFIX target
+property is initialized with the value of this variable if it is set.
+.SS CMAKE_DEBUG_POSTFIX
+.sp
+See variable CMAKE_<CONFIG>_POSTFIX.
+.sp
+This variable is a special case of the more\-general
+CMAKE_<CONFIG>_POSTFIX variable for the DEBUG configuration.
+.SS CMAKE_EXE_LINKER_FLAGS_<CONFIG>
+.sp
+Flags to be used when linking an executable.
+.sp
+Same as CMAKE_C_FLAGS_* but used by the linker when creating
+executables.
+.SS CMAKE_EXE_LINKER_FLAGS
+.sp
+Linker flags to be used to create executables.
+.sp
+These flags will be used by the linker when creating an executable.
+.SS CMAKE_Fortran_FORMAT
+.sp
+Set to FIXED or FREE to indicate the Fortran source layout.
+.sp
+This variable is used to initialize the Fortran_FORMAT property on all
+the targets.  See that target property for additional information.
+.SS CMAKE_Fortran_MODULE_DIRECTORY
+.sp
+Fortran module output directory.
+.sp
+This variable is used to initialize the Fortran_MODULE_DIRECTORY
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_GNUtoMS
+.sp
+Convert GNU import libraries (.dll.a) to MS format (.lib).
+.sp
+This variable is used to initialize the GNUtoMS property on targets
+when they are created.  See that target property for additional
+information.
+.SS CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
+.sp
+Automatically add the current source\- and build directories to the INTERFACE_INCLUDE_DIRECTORIES.
+.sp
+If this variable is enabled, CMake automatically adds for each shared
+library target, static library target, module target and executable
+target, ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR} to
+the INTERFACE_INCLUDE_DIRECTORIES.By default
+CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE is OFF.
+.SS CMAKE_INCLUDE_CURRENT_DIR
+.sp
+Automatically add the current source\- and build directories to the include path.
+.sp
+If this variable is enabled, CMake automatically adds in each
+directory ${CMAKE_CURRENT_SOURCE_DIR} and ${CMAKE_CURRENT_BINARY_DIR}
+to the include path for this directory.  These additional include
+directories do not propagate down to subdirectories.  This is useful
+mainly for out\-of\-source builds, where files generated into the build
+tree are included by files located in the source tree.
+.sp
+By default CMAKE_INCLUDE_CURRENT_DIR is OFF.
+.SS CMAKE_INSTALL_NAME_DIR
+.sp
+Mac OS X directory name for installed targets.
+.sp
+CMAKE_INSTALL_NAME_DIR is used to initialize the INSTALL_NAME_DIR
+property on all targets.  See that target property for more
+information.
+.SS CMAKE_INSTALL_RPATH
+.sp
+The rpath to use for installed targets.
+.sp
+A semicolon\-separated list specifying the rpath to use in installed
+targets (for platforms that support it).  This is used to initialize
+the target property INSTALL_RPATH for all targets.
+.SS CMAKE_INSTALL_RPATH_USE_LINK_PATH
+.sp
+Add paths to linker search and installed rpath.
+.sp
+CMAKE_INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true
+will append directories in the linker search path and outside the
+project to the INSTALL_RPATH.  This is used to initialize the target
+property INSTALL_RPATH_USE_LINK_PATH for all targets.
+.SS CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE
+.sp
+Default value for \fB<LANG>_INCLUDE_WHAT_YOU_USE\fP target property.
+This variable is used to initialize the property on each target as it is
+created.  This is done only when \fB<LANG>\fP is \fBC\fP or \fBCXX\fP\&.
+.SS CMAKE_<LANG>_VISIBILITY_PRESET
+.sp
+Default value for the \fB<LANG>_VISIBILITY_PRESET\fP target
+property when a target is created.
+.SS CMAKE_LIBRARY_OUTPUT_DIRECTORY
+.sp
+Where to put all the LIBRARY
+target files when built.
+.sp
+This variable is used to initialize the \fBLIBRARY_OUTPUT_DIRECTORY\fP
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_LIBRARY_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Where to put all the LIBRARY
+target files when built for a specific configuration.
+.sp
+This variable is used to initialize the
+\fBLIBRARY_OUTPUT_DIRECTORY_<CONFIG>\fP property on all the targets.
+See that target property for additional information.
+.SS CMAKE_LIBRARY_PATH_FLAG
+.sp
+The flag to be used to add a library search path to a compiler.
+.sp
+The flag will be used to specify a library directory to the compiler.
+On most compilers this is "\-L".
+.SS CMAKE_LINK_DEF_FILE_FLAG
+.sp
+Linker flag to be used to specify a .def file for dll creation.
+.sp
+The flag will be used to add a .def file when creating a dll on
+Windows; this is only defined on Windows.
+.SS CMAKE_LINK_DEPENDS_NO_SHARED
+.sp
+Whether to skip link dependencies on shared library files.
+.sp
+This variable initializes the LINK_DEPENDS_NO_SHARED property on
+targets when they are created.  See that target property for
+additional information.
+.SS CMAKE_LINK_INTERFACE_LIBRARIES
+.sp
+Default value for LINK_INTERFACE_LIBRARIES of targets.
+.sp
+This variable is used to initialize the LINK_INTERFACE_LIBRARIES
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_LINK_LIBRARY_FILE_FLAG
+.sp
+Flag to be used to link a library specified by a path to its file.
+.sp
+The flag will be used before a library file path is given to the
+linker.  This is needed only on very few platforms.
+.SS CMAKE_LINK_LIBRARY_FLAG
+.sp
+Flag to be used to link a library into an executable.
+.sp
+The flag will be used to specify a library to link to an executable.
+On most compilers this is "\-l".
+.SS CMAKE_MACOSX_BUNDLE
+.sp
+Default value for MACOSX_BUNDLE of targets.
+.sp
+This variable is used to initialize the MACOSX_BUNDLE property on all
+the targets.  See that target property for additional information.
+.SS CMAKE_MACOSX_RPATH
+.sp
+Whether to use rpaths on Mac OS X.
+.sp
+This variable is used to initialize the \fBMACOSX_RPATH\fP property on
+all targets.
+.SS CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
+.sp
+Default value for MAP_IMPORTED_CONFIG_<CONFIG> of targets.
+.sp
+This variable is used to initialize the MAP_IMPORTED_CONFIG_<CONFIG>
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_MODULE_LINKER_FLAGS_<CONFIG>
+.sp
+Flags to be used when linking a module.
+.sp
+Same as CMAKE_C_FLAGS_* but used by the linker when creating modules.
+.SS CMAKE_MODULE_LINKER_FLAGS
+.sp
+Linker flags to be used to create modules.
+.sp
+These flags will be used by the linker when creating a module.
+.SS CMAKE_NO_BUILTIN_CHRPATH
+.sp
+Do not use the builtin ELF editor to fix RPATHs on installation.
+.sp
+When an ELF binary needs to have a different RPATH after installation
+than it does in the build tree, CMake uses a builtin editor to change
+the RPATH in the installed copy.  If this variable is set to true then
+CMake will relink the binary before installation instead of using its
+builtin editor.
+.SS CMAKE_NO_SYSTEM_FROM_IMPORTED
+.sp
+Default value for NO_SYSTEM_FROM_IMPORTED of targets.
+.sp
+This variable is used to initialize the NO_SYSTEM_FROM_IMPORTED
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_OSX_ARCHITECTURES
+.sp
+Target specific architectures for OS X.
+.sp
+This variable is used to initialize the \fBOSX_ARCHITECTURES\fP
+property on each target as it is creaed.  See that target property
+for additional information.
+.sp
+The value of this variable should be set prior to the first
+\fBproject()\fP or \fBenable_language()\fP command invocation
+because it may influence configuration of the toolchain and flags.
+It is intended to be set locally by the user creating a build tree.
+.sp
+This variable is ignored on platforms other than OS X.
+.SS CMAKE_OSX_DEPLOYMENT_TARGET
+.sp
+Specify the minimum version of OS X on which the target binaries are
+to be deployed.  CMake uses this value for the \fB\-mmacosx\-version\-min\fP
+flag and to help choose the default SDK
+(see \fBCMAKE_OSX_SYSROOT\fP).
+.sp
+If not set explicitly the value is initialized by the
+\fBMACOSX_DEPLOYMENT_TARGET\fP environment variable, if set,
+and otherwise computed based on the host platform.
+.sp
+The value of this variable should be set prior to the first
+\fBproject()\fP or \fBenable_language()\fP command invocation
+because it may influence configuration of the toolchain and flags.
+It is intended to be set locally by the user creating a build tree.
+.sp
+This variable is ignored on platforms other than OS X.
+.SS CMAKE_OSX_SYSROOT
+.sp
+Specify the location or name of the OS X platform SDK to be used.
+CMake uses this value to compute the value of the \fB\-isysroot\fP flag
+or equivalent and to help the \fBfind_*\fP commands locate files in
+the SDK.
+.sp
+If not set explicitly the value is initialized by the \fBSDKROOT\fP
+environment variable, if set, and otherwise computed based on the
+\fBCMAKE_OSX_DEPLOYMENT_TARGET\fP or the host platform.
+.sp
+The value of this variable should be set prior to the first
+\fBproject()\fP or \fBenable_language()\fP command invocation
+because it may influence configuration of the toolchain and flags.
+It is intended to be set locally by the user creating a build tree.
+.sp
+This variable is ignored on platforms other than OS X.
+.SS CMAKE_PDB_OUTPUT_DIRECTORY
+.sp
+Output directory for MS debug symbol \fB\&.pdb\fP files generated by the
+linker for executable and shared library targets.
+.sp
+This variable is used to initialize the \fBPDB_OUTPUT_DIRECTORY\fP
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Per\-configuration output directory for MS debug symbol \fB\&.pdb\fP files
+generated by the linker for executable and shared library targets.
+.sp
+This is a per\-configuration version of \fBCMAKE_PDB_OUTPUT_DIRECTORY\fP\&.
+This variable is used to initialize the
+\fBPDB_OUTPUT_DIRECTORY_<CONFIG>\fP
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_POSITION_INDEPENDENT_CODE
+.sp
+Default value for POSITION_INDEPENDENT_CODE of targets.
+.sp
+This variable is used to initialize the POSITION_INDEPENDENT_CODE
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_RUNTIME_OUTPUT_DIRECTORY
+.sp
+Where to put all the RUNTIME
+target files when built.
+.sp
+This variable is used to initialize the \fBRUNTIME_OUTPUT_DIRECTORY\fP
+property on all the targets.  See that target property for additional
+information.
+.SS CMAKE_RUNTIME_OUTPUT_DIRECTORY_<CONFIG>
+.sp
+Where to put all the RUNTIME
+target files when built for a specific configuration.
+.sp
+This variable is used to initialize the
+\fBRUNTIME_OUTPUT_DIRECTORY_<CONFIG>\fP property on all the targets.
+See that target property for additional information.
+.SS CMAKE_SHARED_LINKER_FLAGS_<CONFIG>
+.sp
+Flags to be used when linking a shared library.
+.sp
+Same as CMAKE_C_FLAGS_* but used by the linker when creating shared
+libraries.
+.SS CMAKE_SHARED_LINKER_FLAGS
+.sp
+Linker flags to be used to create shared libraries.
+.sp
+These flags will be used by the linker when creating a shared library.
+.SS CMAKE_SKIP_BUILD_RPATH
+.sp
+Do not include RPATHs in the build tree.
+.sp
+Normally CMake uses the build tree for the RPATH when building
+executables etc on systems that use RPATH.  When the software is
+installed the executables etc are relinked by CMake to have the
+install RPATH.  If this variable is set to true then the software is
+always built with no RPATH.
+.SS CMAKE_SKIP_INSTALL_RPATH
+.sp
+Do not include RPATHs in the install tree.
+.sp
+Normally CMake uses the build tree for the RPATH when building
+executables etc on systems that use RPATH.  When the software is
+installed the executables etc are relinked by CMake to have the
+install RPATH.  If this variable is set to true then the software is
+always installed without RPATH, even if RPATH is enabled when
+building.  This can be useful for example to allow running tests from
+the build directory with RPATH enabled before the installation step.
+To omit RPATH in both the build and install steps, use
+CMAKE_SKIP_RPATH instead.
+.SS CMAKE_STATIC_LINKER_FLAGS_<CONFIG>
+.sp
+Flags to be used when linking a static library.
+.sp
+Same as CMAKE_C_FLAGS_* but used by the linker when creating static
+libraries.
+.SS CMAKE_STATIC_LINKER_FLAGS
+.sp
+Linker flags to be used to create static libraries.
+.sp
+These flags will be used by the linker when creating a static library.
+.SS CMAKE_TRY_COMPILE_CONFIGURATION
+.sp
+Build configuration used for try_compile and try_run projects.
+.sp
+Projects built by try_compile and try_run are built synchronously
+during the CMake configuration step.  Therefore a specific build
+configuration must be chosen even if the generated build system
+supports multiple configurations.
+.SS CMAKE_USE_RELATIVE_PATHS
+.sp
+Use relative paths (May not work!).
+.sp
+If this is set to TRUE, then CMake will use relative paths between the
+source and binary tree.  This option does not work for more
+complicated projects, and relative paths are used when possible.  In
+general, it is not possible to move CMake generated makefiles to a
+different location regardless of the value of this variable.
+.SS CMAKE_VISIBILITY_INLINES_HIDDEN
+.sp
+Default value for the \fBVISIBILITY_INLINES_HIDDEN\fP target
+property when a target is created.
+.SS CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
+.sp
+Include INSTALL target to default build.
+.sp
+In Visual Studio solution, by default the INSTALL target will not be part of
+the default build. Setting this variable will enable the INSTALL target to be
+part of the default build.
+.SS CMAKE_WIN32_EXECUTABLE
+.sp
+Default value for WIN32_EXECUTABLE of targets.
+.sp
+This variable is used to initialize the WIN32_EXECUTABLE property on
+all the targets.  See that target property for additional information.
+.SS CMAKE_XCODE_ATTRIBUTE_<an\-attribute>
+.sp
+Set Xcode target attributes directly.
+.sp
+Tell the Xcode generator to set \(aq<an\-attribute>\(aq to a given value in
+the generated Xcode project.  Ignored on other generators.
+.sp
+See the \fBXCODE_ATTRIBUTE_<an\-attribute>\fP target property
+to set attributes on a specific target.
+.SS EXECUTABLE_OUTPUT_PATH
+.sp
+Old executable location variable.
+.sp
+The target property RUNTIME_OUTPUT_DIRECTORY supercedes this variable
+for a target if it is set.  Executable targets are otherwise placed in
+this directory.
+.SS LIBRARY_OUTPUT_PATH
+.sp
+Old library location variable.
+.sp
+The target properties ARCHIVE_OUTPUT_DIRECTORY,
+LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY supercede this
+variable for a target if they are set.  Library targets are otherwise
+placed in this directory.
+.SH VARIABLES FOR LANGUAGES
+.SS CMAKE_COMPILER_IS_GNU<LANG>
+.sp
+True if the compiler is GNU.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+CC = C compiler
+CXX = C++ compiler
+G77 = Fortran compiler
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SS CMAKE_C_COMPILE_FEATURES
+.sp
+List of features known to the C compiler
+.sp
+These features are known to be available for use with the C compiler. This
+list is a subset of the features listed in the \fBCMAKE_C_KNOWN_FEATURES\fP
+global property.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_C_EXTENSIONS
+.sp
+Default value for \fBC_EXTENSIONS\fP property of targets.
+.sp
+This variable is used to initialize the \fBC_EXTENSIONS\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_C_STANDARD
+.sp
+Default value for \fBC_STANDARD\fP property of targets.
+.sp
+This variable is used to initialize the \fBC_STANDARD\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_C_STANDARD_REQUIRED
+.sp
+Default value for \fBC_STANDARD_REQUIRED\fP property of targets.
+.sp
+This variable is used to initialize the \fBC_STANDARD_REQUIRED\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_CXX_COMPILE_FEATURES
+.sp
+List of features known to the C++ compiler
+.sp
+These features are known to be available for use with the C++ compiler. This
+list is a subset of the features listed in the \fBCMAKE_CXX_KNOWN_FEATURES\fP
+global property.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_CXX_EXTENSIONS
+.sp
+Default value for \fBCXX_EXTENSIONS\fP property of targets.
+.sp
+This variable is used to initialize the \fBCXX_EXTENSIONS\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_CXX_STANDARD
+.sp
+Default value for \fBCXX_STANDARD\fP property of targets.
+.sp
+This variable is used to initialize the \fBCXX_STANDARD\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_CXX_STANDARD_REQUIRED
+.sp
+Default value for \fBCXX_STANDARD_REQUIRED\fP property of targets.
+.sp
+This variable is used to initialize the \fBCXX_STANDARD_REQUIRED\fP
+property on all targets.  See that target property for additional
+information.
+.sp
+See the \fBcmake\-compile\-features(7)\fP manual for information on
+compile features and a list of supported compilers.
+.SS CMAKE_Fortran_MODDIR_DEFAULT
+.sp
+Fortran default module output directory.
+.sp
+Most Fortran compilers write .mod files to the current working
+directory.  For those that do not, this is set to "." and used when
+the Fortran_MODULE_DIRECTORY target property is not set.
+.SS CMAKE_Fortran_MODDIR_FLAG
+.sp
+Fortran flag for module output directory.
+.sp
+This stores the flag needed to pass the value of the
+Fortran_MODULE_DIRECTORY target property to the compiler.
+.SS CMAKE_Fortran_MODOUT_FLAG
+.sp
+Fortran flag to enable module output.
+.sp
+Most Fortran compilers write .mod files out by default.  For others,
+this stores the flag needed to enable module output.
+.SS CMAKE_INTERNAL_PLATFORM_ABI
+.sp
+An internal variable subject to change.
+.sp
+This is used in determining the compiler ABI and is subject to change.
+.SS CMAKE_<LANG>_ARCHIVE_APPEND
+.sp
+Rule variable to append to a static archive.
+.sp
+This is a rule variable that tells CMake how to append to a static
+archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY on
+some platforms in order to support large object counts.  See also
+CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_FINISH.
+.SS CMAKE_<LANG>_ARCHIVE_CREATE
+.sp
+Rule variable to create a new static archive.
+.sp
+This is a rule variable that tells CMake how to create a static
+archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY on
+some platforms in order to support large object counts.  See also
+CMAKE_<LANG>_ARCHIVE_APPEND and CMAKE_<LANG>_ARCHIVE_FINISH.
+.SS CMAKE_<LANG>_ARCHIVE_FINISH
+.sp
+Rule variable to finish an existing static archive.
+.sp
+This is a rule variable that tells CMake how to finish a static
+archive.  It is used in place of CMAKE_<LANG>_CREATE_STATIC_LIBRARY on
+some platforms in order to support large object counts.  See also
+CMAKE_<LANG>_ARCHIVE_CREATE and CMAKE_<LANG>_ARCHIVE_APPEND.
+.SS CMAKE_<LANG>_COMPILE_OBJECT
+.sp
+Rule variable to compile a single object file.
+.sp
+This is a rule variable that tells CMake how to compile a single
+object file for the language <LANG>.
+.SS CMAKE_<LANG>_COMPILER_ABI
+.sp
+An internal variable subject to change.
+.sp
+This is used in determining the compiler ABI and is subject to change.
+.SS CMAKE_<LANG>_COMPILER_ID
+.sp
+Compiler identification string.
+.sp
+A short string unique to the compiler vendor.  Possible values
+include:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Absoft = Absoft Fortran (absoft.com)
+ADSP = Analog VisualDSP++ (analog.com)
+AppleClang = Apple Clang (apple.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)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This variable is not guaranteed to be defined for all compilers or
+languages.
+.SS CMAKE_<LANG>_COMPILER_LOADED
+.sp
+Defined to true if the language is enabled.
+.sp
+When language <LANG> is enabled by project() or enable_language() this
+variable is defined to 1.
+.SS CMAKE_<LANG>_COMPILER
+.sp
+The full path to the compiler for LANG.
+.sp
+This is the command that will be used as the <LANG> compiler.  Once
+set, you can not change this variable.
+.SS CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
+.sp
+The external toolchain for cross\-compiling, if supported.
+.sp
+Some compiler toolchains do not ship their own auxilliary utilities such as
+archivers and linkers.  The compiler driver may support a command\-line argument
+to specify the location of such tools.  CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN
+may be set to a path to a path to the external toolchain and will be passed
+to the compiler driver if supported.
+.sp
+This variable may only be set in a toolchain file specified by
+the \fBCMAKE_TOOLCHAIN_FILE\fP variable.
+.SS CMAKE_<LANG>_COMPILER_TARGET
+.sp
+The target for cross\-compiling, if supported.
+.sp
+Some compiler drivers are inherently cross\-compilers, such as clang and
+QNX qcc. These compiler drivers support a command\-line argument to specify
+the target to cross\-compile for.
+.sp
+This variable may only be set in a toolchain file specified by
+the \fBCMAKE_TOOLCHAIN_FILE\fP variable.
+.SS CMAKE_<LANG>_COMPILER_VERSION
+.sp
+Compiler version string.
+.sp
+Compiler version in major[.minor[.patch[.tweak]]] format.  This
+variable is not guaranteed to be defined for all compilers or
+languages.
+.SS CMAKE_<LANG>_CREATE_SHARED_LIBRARY
+.sp
+Rule variable to create a shared library.
+.sp
+This is a rule variable that tells CMake how to create a shared
+library for the language <LANG>.
+.SS CMAKE_<LANG>_CREATE_SHARED_MODULE
+.sp
+Rule variable to create a shared module.
+.sp
+This is a rule variable that tells CMake how to create a shared
+library for the language <LANG>.
+.SS CMAKE_<LANG>_CREATE_STATIC_LIBRARY
+.sp
+Rule variable to create a static library.
+.sp
+This is a rule variable that tells CMake how to create a static
+library for the language <LANG>.
+.SS CMAKE_<LANG>_FLAGS_DEBUG
+.sp
+Flags for Debug build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is Debug.
+.SS CMAKE_<LANG>_FLAGS_MINSIZEREL
+.sp
+Flags for MinSizeRel build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is MinSizeRel.Short for
+minimum size release.
+.SS CMAKE_<LANG>_FLAGS_RELEASE
+.sp
+Flags for Release build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is Release
+.SS CMAKE_<LANG>_FLAGS_RELWITHDEBINFO
+.sp
+Flags for RelWithDebInfo type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is RelWithDebInfo.  Short for
+Release With Debug Information.
+.SS CMAKE_<LANG>_FLAGS
+.sp
+Flags for all build types.
+.sp
+<LANG> flags used regardless of the value of CMAKE_BUILD_TYPE.
+.SS CMAKE_<LANG>_GHS_KERNEL_FLAGS_DEBUG
+.sp
+GHS kernel flags for Debug build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is Debug.
+.SS CMAKE_<LANG>_GHS_KERNEL_FLAGS_MINSIZEREL
+.sp
+GHS kernel flags for MinSizeRel build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is MinSizeRel.Short for
+minimum size release.
+.SS CMAKE_<LANG>_GHS_KERNEL_FLAGS_RELEASE
+.sp
+GHS kernel flags for Release build type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is Release
+.SS CMAKE_<LANG>_GHS_KERNEL_FLAGS_RELWITHDEBINFO
+.sp
+GHS kernel flags for RelWithDebInfo type or configuration.
+.sp
+<LANG> flags used when CMAKE_BUILD_TYPE is RelWithDebInfo.  Short for
+Release With Debug Information.
+.SS CMAKE_<LANG>_IGNORE_EXTENSIONS
+.sp
+File extensions that should be ignored by the build.
+.sp
+This is a list of file extensions that may be part of a project for a
+given language but are not compiled.
+.SS CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES
+.sp
+Directories implicitly searched by the compiler for header files.
+.sp
+CMake does not explicitly specify these directories on compiler
+command lines for language <LANG>.  This prevents system include
+directories from being treated as user include directories on some
+compilers.
+.SS CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
+.sp
+Implicit linker search path detected for language <LANG>.
+.sp
+Compilers typically pass directories containing language runtime
+libraries and default library search paths when they invoke a linker.
+These paths are implicit linker search directories for the compiler\(aqs
+language.  CMake automatically detects these directories for each
+language and reports the results in this variable.
+.sp
+When a library in one of these directories is given by full path to
+target_link_libraries() CMake will generate the \-l<name> form on link
+lines to ensure the linker searches its implicit directories for the
+library.  Note that some toolchains read implicit directories from an
+environment variable such as LIBRARY_PATH so keep its value consistent
+when operating in a given build tree.
+.SS CMAKE_<LANG>_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES
+.sp
+Implicit linker framework search path detected for language <LANG>.
+.sp
+These paths are implicit linker framework search directories for the
+compiler\(aqs language.  CMake automatically detects these directories
+for each language and reports the results in this variable.
+.SS CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES
+.sp
+Implicit link libraries and flags detected for language <LANG>.
+.sp
+Compilers typically pass language runtime library names and other
+flags when they invoke a linker.  These flags are implicit link
+options for the compiler\(aqs language.  CMake automatically detects
+these libraries and flags for each language and reports the results in
+this variable.
+.SS CMAKE_<LANG>_LIBRARY_ARCHITECTURE
+.sp
+Target architecture library directory name detected for <lang>.
+.sp
+If the <lang> compiler passes to the linker an architecture\-specific
+system library search directory such as <prefix>/lib/<arch> this
+variable contains the <arch> name if/as detected by CMake.
+.SS CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES
+.sp
+True if CMAKE_<LANG>_LINKER_PREFERENCE propagates across targets.
+.sp
+This is used when CMake selects a linker language for a target.
+Languages compiled directly into the target are always considered.  A
+language compiled into static libraries linked by the target is
+considered if this variable is true.
+.SS CMAKE_<LANG>_LINKER_PREFERENCE
+.sp
+Preference value for linker language selection.
+.sp
+The "linker language" for executable, shared library, and module
+targets is the language whose compiler will invoke the linker.  The
+LINKER_LANGUAGE target property sets the language explicitly.
+Otherwise, the linker language is that whose linker preference value
+is highest among languages compiled and linked into the target.  See
+also the CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES variable.
+.SS CMAKE_<LANG>_LINK_EXECUTABLE
+.sp
+Rule variable to link an executable.
+.sp
+Rule variable to link an executable for the given language.
+.SS CMAKE_<LANG>_OUTPUT_EXTENSION
+.sp
+Extension for the output of a compile for a single file.
+.sp
+This is the extension for an object file for the given <LANG>.  For
+example .obj for C on Windows.
+.SS CMAKE_<LANG>_PLATFORM_ID
+.sp
+An internal variable subject to change.
+.sp
+This is used in determining the platform and is subject to change.
+.SS CMAKE_<LANG>_SIMULATE_ID
+.sp
+Identification string of "simulated" compiler.
+.sp
+Some compilers simulate other compilers to serve as drop\-in
+replacements.  When CMake detects such a compiler it sets this
+variable to what would have been the CMAKE_<LANG>_COMPILER_ID for the
+simulated compiler.
+.SS CMAKE_<LANG>_SIMULATE_VERSION
+.sp
+Version string of "simulated" compiler.
+.sp
+Some compilers simulate other compilers to serve as drop\-in
+replacements.  When CMake detects such a compiler it sets this
+variable to what would have been the CMAKE_<LANG>_COMPILER_VERSION for
+the simulated compiler.
+.SS CMAKE_<LANG>_SIZEOF_DATA_PTR
+.sp
+Size of pointer\-to\-data types for language <LANG>.
+.sp
+This holds the size (in bytes) of pointer\-to\-data types in the target
+platform ABI.  It is defined for languages C and CXX (C++).
+.SS CMAKE_<LANG>_SOURCE_FILE_EXTENSIONS
+.sp
+Extensions of source files for the given language.
+.sp
+This is the list of extensions for a given language\(aqs source files.
+.SS CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>
+.sp
+Specify a CMake file that overrides platform information for <LANG>.
+.sp
+This is a language\-specific version of CMAKE_USER_MAKE_RULES_OVERRIDE
+loaded only when enabling language <LANG>.
+.SH VARIABLES FOR CTEST
+.SS CTEST_BINARY_DIRECTORY
+.sp
+Specify the CTest \fBBuildDirectory\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_BUILD_COMMAND
+.sp
+Specify the CTest \fBMakeCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_BUILD_NAME
+.sp
+Specify the CTest \fBBuildName\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_BZR_COMMAND
+.sp
+Specify the CTest \fBBZRCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_BZR_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBBZRUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CHECKOUT_COMMAND
+.sp
+Tell the \fBctest_start()\fP command how to checkout or initialize
+the source directory in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CONFIGURATION_TYPE
+.sp
+Specify the CTest \fBDefaultCTestConfigurationType\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CONFIGURE_COMMAND
+.sp
+Specify the CTest \fBConfigureCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_COVERAGE_COMMAND
+.sp
+Specify the CTest \fBCoverageCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS Cobertura
+.sp
+Using \fI\%Cobertura\fP as the coverage generation within your multi\-module
+Java project can generate a series of XML files.
+.sp
+The Cobertura Coverage parser expects to read the coverage data from a
+single XML file which contains the coverage data for all modules.
+Cobertura has a program with the ability to merge given cobertura.ser files
+and then another program to generate a combined XML file from the previous
+merged file.  For command line testing, this can be done by hand prior to
+CTest looking for the coverage files. For script builds,
+set the \fBCTEST_COVERAGE_COMMAND\fP variable to point to a file which will
+perform these same steps, such as a .sh or .bat file.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+set(CTEST_COVERAGE_COMMAND .../run\-coverage\-and\-consolidate.sh)
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+where the \fBrun\-coverage\-and\-consolidate.sh\fP script is perhaps created by
+the \fBconfigure_file()\fP command and might contain the following code:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#!/usr/bin/env bash
+CoberturaFiles="$(find "/path/to/source" \-name "cobertura.ser")"
+SourceDirs="$(find "/path/to/source" \-name "java" \-type d)"
+cobertura\-merge \-\-datafile coberturamerge.ser $CoberturaFiles
+cobertura\-report \-\-datafile coberturamerge.ser \-\-destination . \e
+                 \-\-format xml $SourceDirs
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+The script uses \fBfind\fP to capture the paths to all of the cobertura.ser files
+found below the project\(aqs source directory.  It keeps the list of files and
+supplies it as an argument to the \fBcobertura\-merge\fP program. The \fB\-\-datafile\fP
+argument signifies where the result of the merge will be kept.
+.sp
+The combined \fBcoberturamerge.ser\fP file is then used to generate the XML report
+using the \fBcobertura\-report\fP program.  The call to the cobertura\-report program
+requires some named arguments.
+.INDENT 0.0
+.TP
+.B \fB\-\-datafila\fP
+path to the merged .ser file
+.TP
+.B \fB\-\-destination\fP
+path to put the output files(s)
+.TP
+.B \fB\-\-format\fP
+file format to write output in: xml or html
+.UNINDENT
+.sp
+The rest of the supplied arguments consist of the full paths to the
+/src/main/java directories of each module within the souce tree. These
+directories are needed and should not be forgotten.
+.SS CTEST_COVERAGE_EXTRA_FLAGS
+.sp
+Specify the CTest \fBCoverageExtraFlags\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CURL_OPTIONS
+.sp
+Specify the CTest \fBCurlOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CVS_CHECKOUT
+.sp
+Deprecated.  Use \fBCTEST_CHECKOUT_COMMAND\fP instead.
+.SS CTEST_CVS_COMMAND
+.sp
+Specify the CTest \fBCVSCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_CVS_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBCVSUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_LOCATION
+.sp
+Specify the CTest \fBDropLocation\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_METHOD
+.sp
+Specify the CTest \fBDropMethod\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_SITE
+.sp
+Specify the CTest \fBDropSite\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_SITE_CDASH
+.sp
+Specify the CTest \fBIsCDash\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_SITE_PASSWORD
+.sp
+Specify the CTest \fBDropSitePassword\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_DROP_SITE_USER
+.sp
+Specify the CTest \fBDropSiteUser\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_GIT_COMMAND
+.sp
+Specify the CTest \fBGITCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_GIT_UPDATE_CUSTOM
+.sp
+Specify the CTest \fBGITUpdateCustom\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_GIT_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBGITUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_HG_COMMAND
+.sp
+Specify the CTest \fBHGCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_HG_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBHGUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_MEMORYCHECK_COMMAND
+.sp
+Specify the CTest \fBMemoryCheckCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_MEMORYCHECK_COMMAND_OPTIONS
+.sp
+Specify the CTest \fBMemoryCheckCommandOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_MEMORYCHECK_SANITIZER_OPTIONS
+.sp
+Specify the CTest \fBMemoryCheckSanitizerOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
+.sp
+Specify the CTest \fBMemoryCheckSuppressionFile\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_MEMORYCHECK_TYPE
+.sp
+Specify the CTest \fBMemoryCheckType\fP setting
+in a \fBctest(1)\fP dashboard client script.
+Valid values are Valgrind, Purify, BoundsChecker, and ThreadSanitizer,
+AddressSanitizer, MemorySanitizer, and UndefinedBehaviorSanitizer.
+.SS CTEST_NIGHTLY_START_TIME
+.sp
+Specify the CTest \fBNightlyStartTime\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_P4_CLIENT
+.sp
+Specify the CTest \fBP4Client\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_P4_COMMAND
+.sp
+Specify the CTest \fBP4Command\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_P4_OPTIONS
+.sp
+Specify the CTest \fBP4Options\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_P4_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBP4UpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SCP_COMMAND
+.sp
+Specify the CTest \fBSCPCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SITE
+.sp
+Specify the CTest \fBSite\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SOURCE_DIRECTORY
+.sp
+Specify the CTest \fBSourceDirectory\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SVN_COMMAND
+.sp
+Specify the CTest \fBSVNCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SVN_OPTIONS
+.sp
+Specify the CTest \fBSVNOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_SVN_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBSVNUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_TEST_TIMEOUT
+.sp
+Specify the CTest \fBTimeOut\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_TRIGGER_SITE
+.sp
+Specify the CTest \fBTriggerSite\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_UPDATE_COMMAND
+.sp
+Specify the CTest \fBUpdateCommand\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_UPDATE_OPTIONS
+.sp
+Specify the CTest \fBUpdateOptions\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_UPDATE_VERSION_ONLY
+.sp
+Specify the CTest \fBUpdateVersionOnly\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SS CTEST_USE_LAUNCHERS
+.sp
+Specify the CTest \fBUseLaunchers\fP setting
+in a \fBctest(1)\fP dashboard client script.
+.SH VARIABLES FOR CPACK
+.SS CPACK_ABSOLUTE_DESTINATION_FILES
+.sp
+List of files which have been installed using  an ABSOLUTE DESTINATION path.
+.sp
+This variable is a Read\-Only variable which is set internally by CPack
+during installation and before packaging using
+CMAKE_ABSOLUTE_DESTINATION_FILES defined in cmake_install.cmake
+scripts.  The value can be used within CPack project configuration
+file and/or CPack<GEN>.cmake file of <GEN> generator.
+.SS CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
+.sp
+Boolean toggle to include/exclude top level directory (component case).
+.sp
+Similar usage as CPACK_INCLUDE_TOPLEVEL_DIRECTORY but for the
+component case.  See CPACK_INCLUDE_TOPLEVEL_DIRECTORY documentation
+for the detail.
+.SS CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+.sp
+Ask CPack to error out as soon as a file with absolute INSTALL DESTINATION is encountered.
+.sp
+The fatal error is emitted before the installation of the offending
+file takes place.  Some CPack generators, like NSIS,enforce this
+internally.  This variable triggers the definition
+ofCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION when CPack runsVariables
+common to all CPack generators
+.SS CPACK_INCLUDE_TOPLEVEL_DIRECTORY
+.sp
+Boolean toggle to include/exclude top level directory.
+.sp
+When preparing a package CPack installs the item under the so\-called
+top level directory.  The purpose of is to include (set to 1 or ON or
+TRUE) the top level directory in the package or not (set to 0 or OFF
+or FALSE).
+.sp
+Each CPack generator has a built\-in default value for this variable.
+E.g.  Archive generators (ZIP, TGZ, ...) includes the top level
+whereas RPM or DEB don\(aqt.  The user may override the default value by
+setting this variable.
+.sp
+There is a similar variable CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
+which may be used to override the behavior for the component packaging
+case which may have different default value for historical (now
+backward compatibility) reason.
+.SS CPACK_INSTALL_SCRIPT
+.sp
+Extra CMake script provided by the user.
+.sp
+If set this CMake script will be executed by CPack during its local
+[CPack\-private] installation which is done right before packaging the
+files.  The script is not called by e.g.: make install.
+.SS CPACK_PACKAGING_INSTALL_PREFIX
+.sp
+The prefix used in the built package.
+.sp
+Each CPack generator has a default value (like /usr).  This default
+value may be overwritten from the CMakeLists.txt or the cpack command
+line by setting an alternative value.
+.sp
+e.g.  set(CPACK_PACKAGING_INSTALL_PREFIX "/opt")
+.sp
+This is not the same purpose as CMAKE_INSTALL_PREFIX which is used
+when installing from the build tree without building a package.
+.SS CPACK_SET_DESTDIR
+.sp
+Boolean toggle to make CPack use DESTDIR mechanism when packaging.
+.sp
+DESTDIR means DESTination DIRectory.  It is commonly used by makefile
+users in order to install software at non\-default location.  It is a
+basic relocation mechanism that should not be used on Windows (see
+CMAKE_INSTALL_PREFIX documentation).  It is usually invoked like this:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+make DESTDIR=/home/john install
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+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".  When preparing a package, CPack
+first installs the items to be packaged in a local (to the build tree)
+directory by using the same DESTDIR mechanism.  Nevertheless, if
+CPACK_SET_DESTDIR is set then CPack will set DESTDIR before doing the
+local install.  The most noticeable difference is that without
+CPACK_SET_DESTDIR, CPack uses CPACK_PACKAGING_INSTALL_PREFIX as a
+prefix whereas with CPACK_SET_DESTDIR set, CPack will use
+CMAKE_INSTALL_PREFIX as a prefix.
+.sp
+Manually setting CPACK_SET_DESTDIR may help (or simply be necessary)
+if some install rules uses absolute DESTINATION (see CMake INSTALL
+command).  However, starting with CPack/CMake 2.8.3 RPM and DEB
+installers tries to handle DESTDIR automatically so that it is seldom
+necessary for the user to set it.
+.SS CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+.sp
+Ask CPack to warn each time a file with absolute INSTALL DESTINATION is encountered.
+.sp
+This variable triggers the definition of
+CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION when CPack runs
+cmake_install.cmake scripts.
+.SH COPYRIGHT
+2000-2015 Kitware, Inc.
+.\" Generated by docutils manpage writer.
+.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/patches/01-usr-local.patch	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,475 @@
+# Remove undesirable /usr/local path searches.
+#
+# Patch is Solaris specific and not appropriate for upstream.
+
+diff -rup cmake-3.3.2-orig/Modules/CMakeDetermineJavaCompiler.cmake cmake-3.3.2/Modules/CMakeDetermineJavaCompiler.cmake
+--- cmake-3.3.2-orig/Modules/CMakeDetermineJavaCompiler.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/CMakeDetermineJavaCompiler.cmake	2015-10-15 16:00:03.225132390 -0700
+@@ -55,16 +55,11 @@ if(NOT CMAKE_Java_COMPILER)
+     /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)
+diff -rup cmake-3.3.2-orig/Modules/CMakeDetermineSystem.cmake cmake-3.3.2/Modules/CMakeDetermineSystem.cmake
+--- cmake-3.3.2-orig/Modules/CMakeDetermineSystem.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/CMakeDetermineSystem.cmake	2015-10-15 16:00:14.018836993 -0700
+@@ -43,7 +43,7 @@
+ 
+ # find out on which system cmake runs
+ if(CMAKE_HOST_UNIX)
+-  find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
++  find_program(CMAKE_UNAME uname /bin /usr/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)
+diff -rup cmake-3.3.2-orig/Modules/FindFLTK.cmake cmake-3.3.2/Modules/FindFLTK.cmake
+--- cmake-3.3.2-orig/Modules/FindFLTK.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindFLTK.cmake	2015-10-15 16:02:29.304438640 -0700
+@@ -126,9 +126,7 @@ if(NOT FLTK_DIR)
+ 
+     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.
+@@ -227,7 +225,6 @@ endif()
+     endif()
+ 
+     set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
+-      /usr/local/fltk
+       /usr/X11R6/include
+       ${_FLTK_POSSIBLE_INCLUDE_DIRS}
+       )
+@@ -248,7 +245,6 @@ 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}
+diff -rup cmake-3.3.2-orig/Modules/FindFLTK2.cmake cmake-3.3.2/Modules/FindFLTK2.cmake
+--- cmake-3.3.2-orig/Modules/FindFLTK2.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindFLTK2.cmake	2015-10-15 16:02:37.479633550 -0700
+@@ -91,9 +91,7 @@ if(NOT FLTK2_DIR)
+     ${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.
+@@ -186,14 +184,12 @@ if(FLTK2_DIR)
+     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
+       )
+diff -rup cmake-3.3.2-orig/Modules/FindFreetype.cmake cmake-3.3.2/Modules/FindFreetype.cmake
+--- cmake-3.3.2-orig/Modules/FindFreetype.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindFreetype.cmake	2015-10-15 16:02:49.690141344 -0700
+@@ -58,8 +58,6 @@ find_path(
+     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]
+@@ -79,8 +77,6 @@ find_path(
+     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]
+@@ -100,8 +96,6 @@ find_library(FREETYPE_LIBRARY
+     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]
+diff -rup cmake-3.3.2-orig/Modules/FindGTK.cmake cmake-3.3.2/Modules/FindGTK.cmake
+--- cmake-3.3.2-orig/Modules/FindGTK.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindGTK.cmake	2015-10-15 16:02:57.198045066 -0700
+@@ -43,9 +43,7 @@ if(UNIX)
+   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
+   )
+diff -rup cmake-3.3.2-orig/Modules/FindGTK2.cmake cmake-3.3.2/Modules/FindGTK2.cmake
+--- cmake-3.3.2-orig/Modules/FindGTK2.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindGTK2.cmake	2015-10-15 16:03:16.961920249 -0700
+@@ -263,8 +263,6 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hd
+     find_path(GTK2_${_var}_INCLUDE_DIR ${_hdr}
+         PATHS
+             ${_gtk2_arch_dir}
+-            /usr/local/lib64
+-            /usr/local/lib
+             /usr/lib64
+             /usr/lib
+             /usr/X11R6/include
+diff -rup cmake-3.3.2-orig/Modules/FindIce.cmake cmake-3.3.2/Modules/FindIce.cmake
+--- cmake-3.3.2-orig/Modules/FindIce.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindIce.cmake	2015-10-15 16:03:33.354245173 -0700
+@@ -255,7 +255,7 @@ function(_Ice_FIND)
+   # In common use on Linux, MacOS X (homebrew) and FreeBSD; prefer
+   # version-specific dir
+   list(APPEND ice_slice_paths
+-       /usr/local/share /usr/share)
++       /usr/share)
+   list(APPEND ice_slice_suffixes
+        "Ice-${Ice_VERSION_SLICE2CPP_FULL}/slice"
+        "Ice-${Ice_VERSION_SLICE2CPP_SHORT}/slice"
+diff -rup cmake-3.3.2-orig/Modules/FindJava.cmake cmake-3.3.2/Modules/FindJava.cmake
+--- cmake-3.3.2-orig/Modules/FindJava.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindJava.cmake	2015-10-15 16:03:41.350517068 -0700
+@@ -91,15 +91,11 @@ list(APPEND _JAVA_HINTS
+ 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
+diff -rup cmake-3.3.2-orig/Modules/FindJNI.cmake cmake-3.3.2/Modules/FindJNI.cmake
+--- cmake-3.3.2-orig/Modules/FindJNI.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindJNI.cmake	2015-10-15 16:04:12.909873934 -0700
+@@ -129,12 +129,9 @@ list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
+   )
+ 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}
+@@ -147,11 +144,6 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT
+   /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}
+   )
+ 
+ set(JAVA_JVM_LIBRARY_DIRECTORIES)
+@@ -172,23 +164,17 @@ list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
+   "[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"
+   /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/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
+   )
+ 
+ foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
+diff -rup cmake-3.3.2-orig/Modules/FindKDE3.cmake cmake-3.3.2/Modules/FindKDE3.cmake
+--- cmake-3.3.2-orig/Modules/FindKDE3.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindKDE3.cmake	2015-10-15 16:04:17.505499047 -0700
+@@ -212,7 +212,6 @@ find_path(KDE3_INCLUDE_DIR kpassdlg.h
+   /opt/kde3/include
+   /opt/kde/include
+   /usr/include/kde
+-  /usr/local/include/kde
+   )
+ 
+ #now the KDE library directory
+diff -rup cmake-3.3.2-orig/Modules/FindPHP4.cmake cmake-3.3.2/Modules/FindPHP4.cmake
+--- cmake-3.3.2-orig/Modules/FindPHP4.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindPHP4.cmake	2015-10-15 16:04:40.389614402 -0700
+@@ -28,10 +28,7 @@
+ 
+ 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
+diff -rup cmake-3.3.2-orig/Modules/FindPike.cmake cmake-3.3.2/Modules/FindPike.cmake
+--- cmake-3.3.2-orig/Modules/FindPike.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindPike.cmake	2015-10-15 16:04:53.774097220 -0700
+@@ -28,7 +28,7 @@
+ 
+ file(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
+   /usr/include/pike/*
+-  /usr/local/include/pike/*)
++  )
+ 
+ find_path(PIKE_INCLUDE_PATH program.h
+   ${PIKE_POSSIBLE_INCLUDE_PATHS})
+diff -rup cmake-3.3.2-orig/Modules/FindQt.cmake cmake-3.3.2/Modules/FindQt.cmake
+--- cmake-3.3.2-orig/Modules/FindQt.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindQt.cmake	2015-10-15 16:05:36.889550409 -0700
+@@ -115,12 +115,9 @@ find_file( QT4_QGLOBAL_H_FILE qglobal.h
+   "[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)
+@@ -135,12 +132,9 @@ find_file( QT3_QGLOBAL_H_FILE qglobal.h
+   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 )
+ 
+diff -rup cmake-3.3.2-orig/Modules/FindQt3.cmake cmake-3.3.2/Modules/FindQt3.cmake
+--- cmake-3.3.2-orig/Modules/FindQt3.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindQt3.cmake	2015-10-15 16:05:55.753228663 -0700
+@@ -71,14 +71,12 @@ find_path(QT_INCLUDE_DIR qt.h
+   "[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
+@@ -111,7 +109,6 @@ if (QT_MT_REQUIRED)
+       "[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
+@@ -132,7 +129,6 @@ else ()
+       "[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
+@@ -151,7 +147,6 @@ find_library(QT_QASSISTANTCLIENT_LIBRARY
+     "[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
+@@ -169,8 +164,6 @@ find_program(QT_MOC_EXECUTABLE
+   "[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
+@@ -194,7 +187,6 @@ find_program(QT_UIC_EXECUTABLE
+   "[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
+diff -rup cmake-3.3.2-orig/Modules/FindSelfPackers.cmake cmake-3.3.2/Modules/FindSelfPackers.cmake
+--- cmake-3.3.2-orig/Modules/FindSelfPackers.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindSelfPackers.cmake	2015-10-15 16:06:00.860724230 -0700
+@@ -32,7 +32,6 @@ find_program(SELF_PACKER_FOR_EXECUTABLE
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ 
+@@ -41,7 +40,6 @@ find_program(SELF_PACKER_FOR_SHARED_LIB
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ 
+diff -rup cmake-3.3.2-orig/Modules/FindTCL.cmake cmake-3.3.2/Modules/FindTCL.cmake
+--- cmake-3.3.2-orig/Modules/FindTCL.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindTCL.cmake	2015-10-15 16:06:14.278986739 -0700
+@@ -92,10 +92,6 @@ set(TCLTK_POSSIBLE_LIB_PATHS
+   "${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)
+@@ -182,12 +178,6 @@ set(TCLTK_POSSIBLE_INCLUDE_PATHS
+   /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)
+diff -rup cmake-3.3.2-orig/Modules/FindUnixCommands.cmake cmake-3.3.2/Modules/FindUnixCommands.cmake
+--- cmake-3.3.2-orig/Modules/FindUnixCommands.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/FindUnixCommands.cmake	2015-10-15 16:06:29.850176368 -0700
+@@ -27,7 +27,6 @@ find_program(BASH
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+@@ -39,7 +38,6 @@ find_program(CP
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+@@ -51,7 +49,6 @@ find_program(GZIP
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+@@ -63,7 +60,6 @@ find_program(MV
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+@@ -75,7 +71,6 @@ find_program(RM
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+@@ -90,7 +85,6 @@ find_program(TAR
+   ${CYGWIN_INSTALL_PATH}/bin
+   /bin
+   /usr/bin
+-  /usr/local/bin
+   /sbin
+ )
+ mark_as_advanced(
+diff -rup cmake-3.3.2-orig/Modules/GetPrerequisites.cmake cmake-3.3.2/Modules/GetPrerequisites.cmake
+--- cmake-3.3.2-orig/Modules/GetPrerequisites.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/GetPrerequisites.cmake	2015-10-15 16:08:50.658120397 -0700
+@@ -652,7 +652,6 @@ function(get_prerequisites target prereq
+     "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/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"
+     )
+ 
+diff -rup cmake-3.3.2-orig/Modules/UseJava.cmake cmake-3.3.2/Modules/UseJava.cmake
+--- cmake-3.3.2-orig/Modules/UseJava.cmake	2015-09-16 09:53:05.000000000 -0700
++++ cmake-3.3.2/Modules/UseJava.cmake	2015-10-15 16:09:05.181293875 -0700
+@@ -659,7 +659,6 @@ function (find_jar VARIABLE)
+     set(_jar_versions)
+     set(_jar_paths
+         /usr/share/java/
+-        /usr/local/share/java/
+         ${Java_JAR_PATHS})
+     set(_jar_doc "NOTSET")
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/cmake/patches/02-sunos-cmake.patch	Wed Nov 11 12:06:59 2015 -0800
@@ -0,0 +1,41 @@
+The first set of lines removed by this patch is committed upstream:
+https://github.com/Kitware/CMake/commit/60fe4b540b40330e050dbd755204cecbc62d6a37
+to fix
+https://public.kitware.com/Bug/view.php?id=15673
+0015673: CMAKE_C_COMPILER is used to link a CXX shared library on Solaris
+and may be removed when cmake is updated to version 3.4 or later.
+
+Linking C++ libraries with the C compiler is not needed; it causes the compiler
+driver to not include libraries that need to be linked to the resulting
+library (such as libstdc++ in the case of gcc).
+
+The second set of lines removed by this patch will be submitted upstream.
+It removes use of historical directories which are no longer used.
+Any version of Studio from the last five years should automatically set
+the correct paths.
+
+--- cmake-3.3.2/Modules/Platform/SunOS.cmake	Wed Sep 16 08:53:05 2015
++++ cmake-3.3.2/Modules/Platform/SunOS.cmake	Fri Oct 30 13:15:54 2015
+@@ -7,22 +7,8 @@
+    set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+ endif()
+ 
+-if(CMAKE_COMPILER_IS_GNUCXX)
+-  if(CMAKE_COMPILER_IS_GNUCC)
+-    set(CMAKE_CXX_CREATE_SHARED_LIBRARY
+-        "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>  <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+-  else()
+-    # Take default rule from CMakeDefaultMakeRuleVariables.cmake.
+-  endif()
+-endif()
+ include(Platform/UnixPaths)
+ 
+-# Add the compiler's implicit link directories.
+-if("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
+-  list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+-    /opt/SUNWspro/lib /opt/SUNWspro/prod/lib /usr/ccs/lib)
+-endif()
+-
+ # The Sun linker needs to find transitive shared library dependencies
+ # in the -L path.
+ set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
--- a/components/cmake/patches/cmake-2.8.6.patch	Wed Nov 11 12:48:27 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1406 +0,0 @@
-diff -ru cmake-2.8.6.org//Modules/CMakeDetermineJavaCompiler.cmake cmake-2.8.6/Modules/CMakeDetermineJavaCompiler.cmake
---- cmake-2.8.6.org//Modules/CMakeDetermineJavaCompiler.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/CMakeDetermineJavaCompiler.cmake	Mon Oct 10 13:44:03 2011
-@@ -55,9 +55,10 @@
-     /usr/bin
-     /usr/lib/java/bin
-     /usr/share/java/bin
--    /usr/local/bin
--    /usr/local/java/bin
--    /usr/local/java/share/bin
-+# Uncomment the following to enable /usr/local search
-+#    /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
-diff -ru cmake-2.8.6.org//Modules/CMakeDetermineSystem.cmake cmake-2.8.6/Modules/CMakeDetermineSystem.cmake
---- cmake-2.8.6.org//Modules/CMakeDetermineSystem.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/CMakeDetermineSystem.cmake	Mon Oct 10 13:47:49 2011
-@@ -43,7 +43,9 @@
- 
- # find out on which system cmake runs
- IF(CMAKE_HOST_UNIX)
--  FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
-+FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin )
-+# Uncomment the following to enable /usr/local search
-+#  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)
-diff -ru cmake-2.8.6.org//Modules/FindBLAS.cmake cmake-2.8.6/Modules/FindBLAS.cmake
---- cmake-2.8.6.org//Modules/FindBLAS.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindBLAS.cmake	Mon Oct 10 16:55:05 2011
-@@ -80,9 +80,13 @@
-   if (WIN32)
-     set(_libdir ENV LIB)
-   elseif (APPLE)
--    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
-+    set(_libdir /usr/lib /usr/lib64 ENV DYLD_LIBRARY_PATH)
-+# Uncomment the following to enable /usr/local search
-+#    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
-   else ()
--    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
-+    set(_libdir /usr/lib /usr/lib64 ENV LD_LIBRARY_PATH)
-+# Uncomment the following to enable /usr/local search
-+#    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
-   endif ()
- endif ()
- foreach(_library ${_list})
-diff -ru cmake-2.8.6.org//Modules/FindFLTK.cmake cmake-2.8.6/Modules/FindFLTK.cmake
---- cmake-2.8.6.org//Modules/FindFLTK.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindFLTK.cmake	Tue Oct 11 11:54:22 2011
-@@ -103,11 +103,15 @@
-     ${FLTK_DIR_SEARCH}
- 
-     # Look in standard UNIX install locations.
--    /usr/local/lib/fltk
-+
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/lib/fltk
-     /usr/lib/fltk
--    /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/include
-     /usr/include
--    /usr/local/fltk
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/fltk
-     /usr/X11R6/include
- 
-     # Read from the CMakeSetup registry entries.  It is likely that
-@@ -221,7 +225,8 @@
-     ENDIF()
- 
-     SET(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
--      /usr/local/fltk
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/fltk
-       /usr/X11R6/include
-       ${_FLTK_POSSIBLE_INCLUDE_DIRS}
-       )
-@@ -242,7 +247,8 @@
-     ENDIF()
- 
-     SET(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
--      /usr/local/fltk/lib
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/fltk/lib
-       /usr/X11R6/lib
-       ${FLTK_INCLUDE_DIR}/lib
-       ${_FLTK_POSSIBLE_LIBRARY_DIR}
-diff -ru cmake-2.8.6.org//Modules/FindFLTK2.cmake cmake-2.8.6/Modules/FindFLTK2.cmake
---- cmake-2.8.6.org//Modules/FindFLTK2.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindFLTK2.cmake	Mon Oct 10 16:48:15 2011
-@@ -83,11 +83,15 @@
-     ${FLTK2_DIR_SEARCH}
- 
-     # Look in standard UNIX install locations.
--    /usr/local/lib/fltk2
-+
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/lib/fltk2
-     /usr/lib/fltk2
--    /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/include
-     /usr/include
--    /usr/local/fltk2
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/fltk2
-     /usr/X11R6/include
- 
-     # Read from the CMakeSetup registry entries.  It is likely that
-@@ -193,9 +197,11 @@
-     ENDIF(FLTK2_FLUID_EXECUTABLE)
- 
-     SET(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
--      /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/include
-       /usr/include
--      /usr/local/fltk2
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/fltk2
-       /usr/X11R6/include
-       )
- 
-@@ -203,8 +209,9 @@
- 
-     SET(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
-       /usr/lib
--      /usr/local/lib
--      /usr/local/fltk2/lib
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/lib
-+#      /usr/local/fltk2/lib
-       /usr/X11R6/lib
-       ${FLTK2_INCLUDE_DIR}/lib
-       )
-diff -ru cmake-2.8.6.org//Modules/FindFreetype.cmake cmake-2.8.6/Modules/FindFreetype.cmake
---- cmake-2.8.6.org//Modules/FindFreetype.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindFreetype.cmake	Mon Oct 10 16:50:47 2011
-@@ -45,8 +45,9 @@
-   HINTS
-   $ENV{FREETYPE_DIR}
-   PATHS
--  /usr/local/X11R6/include
--  /usr/local/X11/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/X11R6/include
-+#  /usr/local/X11/include
-   /usr/freeware/include
- )
- 
-@@ -54,8 +55,9 @@
-   HINTS
-   $ENV{FREETYPE_DIR}/include/freetype2
-   PATHS
--  /usr/local/X11R6/include
--  /usr/local/X11/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/X11R6/include
-+#  /usr/local/X11/include
-   /usr/freeware/include
-   PATH_SUFFIXES freetype2
- )
-@@ -66,8 +68,9 @@
-   $ENV{FREETYPE_DIR}
-   PATH_SUFFIXES lib64 lib
-   PATHS
--  /usr/local/X11R6
--  /usr/local/X11
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/X11R6
-+#  /usr/local/X11
-   /usr/freeware
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindGDAL.cmake cmake-2.8.6/Modules/FindGDAL.cmake
---- cmake-2.8.6.org//Modules/FindGDAL.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindGDAL.cmake	Mon Oct 10 16:52:52 2011
-@@ -53,7 +53,8 @@
-       /Library/Frameworks/gdal.framework/Headers
-       /sw # Fink
-       /opt/local # DarwinPorts
--      /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#      /opt/csw # Blastwave
-       /opt
- )
- 
-@@ -70,7 +71,8 @@
-         PATHS
-             /sw # Fink
-             /opt/local # DarwinPorts
--            /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#            /opt/csw # Blastwave
-             /opt
-     )
- 
-@@ -95,7 +97,8 @@
-   PATHS
-     /sw
-     /opt/local
--    /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#    /opt/csw
-     /opt
-     /usr/freeware
- )
-diff -ru cmake-2.8.6.org//Modules/FindGTK.cmake cmake-2.8.6/Modules/FindGTK.cmake
---- cmake-2.8.6.org//Modules/FindGTK.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindGTK.cmake	Mon Oct 10 16:53:18 2011
-@@ -36,9 +36,11 @@
-   FIND_PATH( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
-     PATHS
-     /usr/openwin/share/include
--    /usr/local/include/glib12
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/include/glib12
-     /usr/lib/glib/include
--    /usr/local/lib/glib/include
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/lib/glib/include
-     /opt/gnome/include
-     /opt/gnome/lib/glib/include
-   )
-diff -ru cmake-2.8.6.org//Modules/FindGTK2.cmake cmake-2.8.6/Modules/FindGTK2.cmake
---- cmake-2.8.6.org//Modules/FindGTK2.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindGTK2.cmake	Mon Oct 10 16:53:36 2011
-@@ -185,8 +185,9 @@
- 
-     find_path(${_var} ${_hdr}
-         PATHS
--            /usr/local/lib64
--            /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#            /usr/local/lib64
-+#            /usr/local/lib
-             /usr/lib64
-             /usr/lib
-             /opt/gnome/include
-diff -ru cmake-2.8.6.org//Modules/FindJNI.cmake cmake-2.8.6/Modules/FindJNI.cmake
---- cmake-2.8.6.org//Modules/FindJNI.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindJNI.cmake	Mon Oct 10 16:54:47 2011
-@@ -102,12 +102,14 @@
-   ${_JAVA_HOME}/lib
-   ${_JAVA_HOME}
-   /usr/lib
--  /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#  /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}
-+# Uncomment the following to enable /usr/local search
-+#  /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}
-@@ -139,15 +141,18 @@
-   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
-   ${_JAVA_HOME}/include
-   /usr/include 
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/lib/java/include
--  /usr/local/lib/java/include
-+# Uncomment the following to enable /usr/local search
-+#  /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/local/share/java/include
-+# Uncomment the following to enable /usr/local search
-+#  /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
-diff -ru cmake-2.8.6.org//Modules/FindJava.cmake cmake-2.8.6/Modules/FindJava.cmake
---- cmake-2.8.6.org//Modules/FindJava.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindJava.cmake	Mon Oct 10 16:54:01 2011
-@@ -73,8 +73,9 @@
- SET(_JAVA_PATHS
-   /usr/lib/java/bin
-   /usr/share/java/bin
--  /usr/local/java/bin
--  /usr/local/java/share/bin
-+# Uncomment the following to enable /usr/local search
-+#  /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
-diff -ru cmake-2.8.6.org//Modules/FindKDE3.cmake cmake-2.8.6/Modules/FindKDE3.cmake
---- cmake-2.8.6.org//Modules/FindKDE3.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindKDE3.cmake	Mon Oct 10 16:55:28 2011
-@@ -141,7 +141,8 @@
-   /opt/kde3/include
-   /opt/kde/include
-   /usr/include/kde
--  /usr/local/include/kde
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/kde
-   )
- 
- #now the KDE library directory
-diff -ru cmake-2.8.6.org//Modules/FindLAPACK.cmake cmake-2.8.6/Modules/FindLAPACK.cmake
---- cmake-2.8.6.org//Modules/FindLAPACK.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindLAPACK.cmake	Mon Oct 10 16:56:57 2011
-@@ -69,9 +69,13 @@
-   if (WIN32)
-     set(_libdir ENV LIB)
-   elseif (APPLE)
--    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
-+    set(_libdir /usr/lib /usr/lib64 ENV DYLD_LIBRARY_PATH)
-+# Uncomment the following to enable /usr/local search
-+#    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
-   else ()
--    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
-+    set(_libdir /usr/lib /usr/lib64 ENV LD_LIBRARY_PATH)
-+# Uncomment the following to enable /usr/local search
-+#    set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
-   endif ()
- endif ()
- foreach(_library ${_list})
-diff -ru cmake-2.8.6.org//Modules/FindLua50.cmake cmake-2.8.6/Modules/FindLua50.cmake
---- cmake-2.8.6.org//Modules/FindLua50.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindLua50.cmake	Tue Oct 11 11:01:21 2011
-@@ -31,11 +31,13 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw # Fink
-   /opt/local # DarwinPorts
--  /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw # Blastwave
-   /opt
- )
- 
-@@ -43,15 +45,17 @@
-   NAMES lua50 lua5.0 lua-5.0 lua5 lua
-   HINTS
-   $ENV{LUA_DIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-@@ -65,13 +69,15 @@
-     HINTS
-     $ENV{LUALIB_DIR}
-     $ENV{LUA_DIR}
--    PATH_SUFFIXES lib64 lib
-+    PATH_SUFFIXES lib64 lib lib/32 lib/64
-     PATHS
--    /usr/local
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local
-     /usr
-     /sw
-     /opt/local
--    /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#    /opt/csw
-     /opt
-   )
-   IF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
-diff -ru cmake-2.8.6.org//Modules/FindLua51.cmake cmake-2.8.6/Modules/FindLua51.cmake
---- cmake-2.8.6.org//Modules/FindLua51.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindLua51.cmake	Tue Oct 11 11:05:48 2011
-@@ -31,11 +31,13 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw # Fink
-   /opt/local # DarwinPorts
--  /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw # Blastwave
-   /opt
- )
- 
-@@ -43,15 +45,17 @@
-   NAMES lua51 lua5.1 lua-5.1 lua
-   HINTS
-   $ENV{LUA_DIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindMatlab.cmake cmake-2.8.6/Modules/FindMatlab.cmake
---- cmake-2.8.6.org//Modules/FindMatlab.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindMatlab.cmake	Mon Oct 10 17:00:16 2011
-@@ -60,7 +60,8 @@
-   IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
-     # Regular x86
-     SET(MATLAB_ROOT
--      /usr/local/matlab-7sp1/bin/glnx86/
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/matlab-7sp1/bin/glnx86/
-       /opt/matlab-7sp1/bin/glnx86/
-       $ENV{HOME}/matlab-7sp1/bin/glnx86/
-       $ENV{HOME}/redhat-matlab/bin/glnx86/
-@@ -68,7 +69,8 @@
-   ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
-     # AMD64:
-     SET(MATLAB_ROOT
--      /usr/local/matlab-7sp1/bin/glnxa64/
-+# Uncomment the following to enable /usr/local search
-+#      /usr/local/matlab-7sp1/bin/glnxa64/
-       /opt/matlab-7sp1/bin/glnxa64/
-       $ENV{HOME}/matlab7_64/bin/glnxa64/
-       $ENV{HOME}/matlab-7sp1/bin/glnxa64/
-@@ -89,7 +91,8 @@
-     )
-   FIND_PATH(MATLAB_INCLUDE_DIR
-     "mex.h"
--    "/usr/local/matlab-7sp1/extern/include/"
-+# Uncomment the following to enable /usr/local search
-+#    "/usr/local/matlab-7sp1/extern/include/"
-     "/opt/matlab-7sp1/extern/include/"
-     "$ENV{HOME}/matlab-7sp1/extern/include/"
-     "$ENV{HOME}/redhat-matlab/extern/include/"
-diff -ru cmake-2.8.6.org//Modules/FindOpenAL.cmake cmake-2.8.6/Modules/FindOpenAL.cmake
---- cmake-2.8.6.org//Modules/FindOpenAL.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindOpenAL.cmake	Tue Oct 11 11:06:21 2011
-@@ -68,11 +68,13 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw # Fink
-   /opt/local # DarwinPorts
--  /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw # Blastwave
-   /opt
-   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
- )
-@@ -81,15 +83,17 @@
-   NAMES OpenAL al openal OpenAL32
-   HINTS
-   $ENV{OPENALDIR}
--  PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64 libs64 libs libs/Win32 libs/Win64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
-   [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
- )
-diff -ru cmake-2.8.6.org//Modules/FindOpenThreads.cmake cmake-2.8.6/Modules/FindOpenThreads.cmake
---- cmake-2.8.6.org//Modules/FindOpenThreads.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindOpenThreads.cmake	Mon Oct 10 17:06:24 2011
-@@ -64,7 +64,8 @@
-     PATHS
-         /sw # Fink
-         /opt/local # DarwinPorts
--        /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#        /opt/csw # Blastwave
-         /opt
-         /usr/freeware
-     PATH_SUFFIXES include
-@@ -84,7 +85,8 @@
-     PATHS
-         /sw
-         /opt/local
--        /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#        /opt/csw
-         /opt
-         /usr/freeware
-     PATH_SUFFIXES lib64 lib
-@@ -104,7 +106,8 @@
-     PATHS
-         /sw
-         /opt/local
--        /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#        /opt/csw
-         /opt
-         /usr/freeware
-     PATH_SUFFIXES lib64 lib
-diff -ru cmake-2.8.6.org//Modules/FindPHP4.cmake cmake-2.8.6/Modules/FindPHP4.cmake
---- cmake-2.8.6.org//Modules/FindPHP4.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindPHP4.cmake	Mon Oct 10 17:07:51 2011
-@@ -22,10 +22,12 @@
- 
- SET(PHP4_POSSIBLE_INCLUDE_PATHS
-   /usr/include/php4
--  /usr/local/include/php4
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/php4
-   /usr/include/php
--  /usr/local/include/php
--  /usr/local/apache/php
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/php
-+#  /usr/local/apache/php
-   )
- 
- SET(PHP4_POSSIBLE_LIB_PATHS
-diff -ru cmake-2.8.6.org//Modules/FindPhysFS.cmake cmake-2.8.6/Modules/FindPhysFS.cmake
---- cmake-2.8.6.org//Modules/FindPhysFS.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindPhysFS.cmake	Tue Oct 11 11:06:49 2011
-@@ -30,7 +30,8 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw # Fink
-   /opt/local # DarwinPorts
-@@ -42,11 +43,12 @@
-   NAMES physfs
-   HINTS
-   $ENV{PHYSFSDIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
-diff -ru cmake-2.8.6.org//Modules/FindPike.cmake cmake-2.8.6/Modules/FindPike.cmake
---- cmake-2.8.6.org//Modules/FindPike.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindPike.cmake	Mon Oct 10 17:09:13 2011
-@@ -22,7 +22,9 @@
- 
- FILE(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
-   /usr/include/pike/*
--  /usr/local/include/pike/*)
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/pike/*)
-+  )
- 
- FIND_PATH(PIKE_INCLUDE_PATH program.h
-   ${PIKE_POSSIBLE_INCLUDE_PATHS})
-diff -ru cmake-2.8.6.org//Modules/FindProducer.cmake cmake-2.8.6/Modules/FindProducer.cmake
---- cmake-2.8.6.org//Modules/FindProducer.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindProducer.cmake	Tue Oct 11 11:07:52 2011
-@@ -51,11 +51,13 @@
-   PATHS
-     ~/Library/Frameworks
-     /Library/Frameworks
--    /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/include
-     /usr/include
-     /sw/include # Fink
-     /opt/local/include # DarwinPorts
--    /opt/csw/include # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#    /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
-@@ -67,13 +69,15 @@
-   $ENV{PRODUCER_DIR}
-   $ENV{OSG_DIR}
-   $ENV{OSGDIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindQt.cmake cmake-2.8.6/Modules/FindQt.cmake
---- cmake-2.8.6.org//Modules/FindQt.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindQt.cmake	Tue Oct 11 10:08:04 2011
-@@ -82,8 +82,9 @@
-   "[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
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/include/Qt
-+#  /usr/local/include/Qt
-   /usr/lib/qt/include/Qt
-   /usr/include/Qt
-   /usr/share/qt4/include/Qt
-@@ -101,8 +102,9 @@
-   C:/Qt/3.3.3Educational/include
-   $ENV{QTDIR}/include
-   /usr/include/qt3/Qt
--  /usr/local/qt/include
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/include
-+#  /usr/local/include
-   /usr/lib/qt/include
-   /usr/include
-   /usr/share/qt3/include
-diff -ru cmake-2.8.6.org//Modules/FindQt3.cmake cmake-2.8.6/Modules/FindQt3.cmake
---- cmake-2.8.6.org//Modules/FindQt3.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindQt3.cmake	Tue Oct 11 10:08:58 2011
-@@ -53,7 +53,8 @@
-   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-   $ENV{QTDIR}/include
-   ${GLOB_PATHS_BIN}
--  /usr/local/qt/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/include
-   /usr/lib/qt/include
-   /usr/lib/qt3/include
-   /usr/include/qt
-@@ -91,7 +92,8 @@
-   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
-     $ENV{QTDIR}/lib
-     ${GLOB_PATHS_LIB}
--    /usr/local/qt/lib
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/qt/lib
-     /usr/lib/qt/lib
-     /usr/lib/qt3/lib
-     /usr/lib/qt3/lib64
-@@ -111,7 +113,8 @@
-     "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
-     $ENV{QTDIR}/lib
-     ${GLOB_PATHS_LIB}
--    /usr/local/qt/lib
-+# Uncomment the following to enable /usr/local search
-+#    /usr/local/qt/lib
-     /usr/lib/qt/lib
-     /usr/lib/qt3/lib
-     /usr/lib/qt3/lib64
-@@ -129,7 +132,8 @@
-   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
-   $ENV{QTDIR}/lib
-   ${GLOB_PATHS_LIB}
--  /usr/local/qt/lib
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/lib
-   /usr/lib/qt3/lib
-   /usr/lib/qt3/lib64
-   /usr/share/qt3/lib
-@@ -147,7 +151,8 @@
-   "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
-   $ENV{QTDIR}/bin
-   ${GLOB_PATHS_BIN}
--  /usr/local/qt/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/bin
-   /usr/lib/qt/bin
-   /usr/lib/qt3/bin
-   /usr/share/qt3/bin
-@@ -169,7 +174,8 @@
-   "[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/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/qt/bin
-   /usr/lib/qt/bin
-   /usr/lib/qt3/bin
-   /usr/share/qt3/bin
-diff -ru cmake-2.8.6.org//Modules/FindSDL.cmake cmake-2.8.6/Modules/FindSDL.cmake
---- cmake-2.8.6.org//Modules/FindSDL.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL.cmake	Tue Oct 11 10:09:48 2011
-@@ -72,13 +72,15 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
-   /sw # Fink
-   /opt/local # DarwinPorts
--  /opt/csw # Blastwave
-+# Uncomment the following to enable /usr/local search
-+#  /opt/csw # Blastwave
-   /opt
- )
- #MESSAGE("SDL_INCLUDE_DIR is ${SDL_INCLUDE_DIR}")
-@@ -93,7 +95,8 @@
-   PATHS
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-@@ -113,7 +116,8 @@
-       PATHS
-       /sw
-       /opt/local
--      /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#      /opt/csw
-       /opt
-     )
-   ENDIF(NOT ${SDL_INCLUDE_DIR} MATCHES ".framework")
-diff -ru cmake-2.8.6.org//Modules/FindSDL_image.cmake cmake-2.8.6/Modules/FindSDL_image.cmake
---- cmake-2.8.6.org//Modules/FindSDL_image.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL_image.cmake	Tue Oct 11 10:10:36 2011
-@@ -33,20 +33,24 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local/include/SDL
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL
-   /usr/include/SDL
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include
-   /sw/include/SDL # Fink
-   /sw/include
-   /opt/local/include/SDL # DarwinPorts
-   /opt/local/include
--  /opt/csw/include/SDL # Blastwave
--  /opt/csw/include 
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/include/SDL # Blastwave
-+#  /opt/csw/include 
-   /opt/include/SDL
-   /opt/include
- )
-@@ -60,11 +64,13 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindSDL_mixer.cmake cmake-2.8.6/Modules/FindSDL_mixer.cmake
---- cmake-2.8.6.org//Modules/FindSDL_mixer.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL_mixer.cmake	Tue Oct 11 11:09:06 2011
-@@ -33,20 +33,24 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local/include/SDL
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL
-   /usr/include/SDL
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include
-   /sw/include/SDL # Fink
-   /sw/include
-   /opt/local/include/SDL # DarwinPorts
-   /opt/local/include
--  /opt/csw/include/SDL # Blastwave
--  /opt/csw/include 
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/include/SDL # Blastwave
-+#  /opt/csw/include 
-   /opt/include/SDL
-   /opt/include
- )
-@@ -56,15 +60,17 @@
-   HINTS
-   $ENV{SDLMIXERDIR}
-   $ENV{SDLDIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindSDL_net.cmake cmake-2.8.6/Modules/FindSDL_net.cmake
---- cmake-2.8.6.org//Modules/FindSDL_net.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL_net.cmake	Tue Oct 11 11:10:06 2011
-@@ -33,20 +33,24 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local/include/SDL
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL
-   /usr/include/SDL
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include
-   /sw/include/SDL # Fink
-   /sw/include
-   /opt/local/include/SDL # DarwinPorts
-   /opt/local/include
--  /opt/csw/include/SDL # Blastwave
--  /opt/csw/include 
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/include/SDL # Blastwave
-+#  /opt/csw/include 
-   /opt/include/SDL
-   /opt/include
- )
-@@ -55,15 +59,17 @@
-   HINTS
-   $ENV{SDLNETDIR}
-   $ENV{SDLDIR}
--  PATH_SUFFIXES lib64 lib
-+  PATH_SUFFIXES lib64 lib lib/32 lib/64
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindSDL_sound.cmake cmake-2.8.6/Modules/FindSDL_sound.cmake
---- cmake-2.8.6.org//Modules/FindSDL_sound.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL_sound.cmake	Tue Oct 11 10:15:08 2011
-@@ -80,20 +80,24 @@
-   $ENV{SDLDIR}/include
-   $ENV{SDLDIR}
-   PATHS
--  /usr/local/include/SDL
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL
-   /usr/include/SDL
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include
-   /sw/include/SDL # Fink
-   /sw/include
-   /opt/local/include/SDL # DarwinPorts
-   /opt/local/include
--  /opt/csw/include/SDL # Blastwave
--  /opt/csw/include 
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/include/SDL # Blastwave
-+#  /opt/csw/include 
-   /opt/include/SDL
-   /opt/include
-   )
-@@ -106,11 +110,13 @@
-   $ENV{SDLDIR}/lib
-   $ENV{SDLDIR}
-   PATHS
--  /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/lib
-   /usr/lib
-   /sw/lib
-   /opt/local/lib
--  /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/lib
-   /opt/lib
-   )
- 
-@@ -223,11 +229,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-        ) 
-        IF(MIKMOD_LIBRARY)
-@@ -246,11 +254,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-        )
-        IF(MODPLUG_LIBRARY)
-@@ -272,11 +282,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-          )
-        IF(VORBIS_LIBRARY)
-@@ -294,11 +306,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-          )
-        IF(OGG_LIBRARY)
-@@ -318,11 +332,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-          )
-        IF(SMPEG_LIBRARY)
-@@ -342,11 +358,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-          )
-        IF(FLAC_LIBRARY)
-@@ -369,11 +387,13 @@
-          $ENV{SDLSOUNDDIR}
-          $ENV{SDLDIR}/lib
-          $ENV{SDLDIR}
--         /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#         /usr/local/lib
-          /usr/lib
-          /sw/lib
-          /opt/local/lib
--         /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#         /opt/csw/lib
-        /opt/lib
-          )
-        IF(SPEEX_LIBRARY)
-@@ -396,11 +416,13 @@
-            $ENV{SDLSOUNDDIR}
-            $ENV{SDLDIR}/lib
-            $ENV{SDLDIR}
--           /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#           /usr/local/lib
-            /usr/lib
-            /sw/lib
-            /opt/local/lib
--           /opt/csw/lib
-+# Uncomment the following to enable /opt/csw search
-+#           /opt/csw/lib
-          /opt/lib
-            )
-          IF(OGG_LIBRARY)
-diff -ru cmake-2.8.6.org//Modules/FindSDL_ttf.cmake cmake-2.8.6/Modules/FindSDL_ttf.cmake
---- cmake-2.8.6.org//Modules/FindSDL_ttf.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSDL_ttf.cmake	Tue Oct 11 10:15:50 2011
-@@ -33,20 +33,24 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local/include/SDL
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL
-   /usr/include/SDL
--  /usr/local/include/SDL12
--  /usr/local/include/SDL11 # FreeBSD ports
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include/SDL12
-+#  /usr/local/include/SDL11 # FreeBSD ports
-   /usr/include/SDL12
-   /usr/include/SDL11
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include
-   /sw/include/SDL # Fink
-   /sw/include
-   /opt/local/include/SDL # DarwinPorts
-   /opt/local/include
--  /opt/csw/include/SDL # Blastwave
--  /opt/csw/include 
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw/include/SDL # Blastwave
-+#  /opt/csw/include 
-   /opt/include/SDL
-   /opt/include
- )
-@@ -59,11 +63,13 @@
-   PATHS
-   ~/Library/Frameworks
-   /Library/Frameworks
--  /usr/local
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local
-   /usr
-   /sw
-   /opt/local
--  /opt/csw
-+# Uncomment the following to enable /opt/csw search
-+#  /opt/csw
-   /opt
-     PATH_SUFFIXES lib64 lib
- )
-diff -ru cmake-2.8.6.org//Modules/FindSelfPackers.cmake cmake-2.8.6/Modules/FindSelfPackers.cmake
---- cmake-2.8.6.org//Modules/FindSelfPackers.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindSelfPackers.cmake	Tue Oct 11 10:16:10 2011
-@@ -25,7 +25,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- 
-@@ -34,7 +35,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- 
-diff -ru cmake-2.8.6.org//Modules/FindTCL.cmake cmake-2.8.6/Modules/FindTCL.cmake
---- cmake-2.8.6.org//Modules/FindTCL.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindTCL.cmake	Tue Oct 11 10:17:12 2011
-@@ -79,7 +79,8 @@
-   "${TCL_TCLSH_PATH_PARENT}/lib"
-   "${TK_WISH_PATH_PARENT}/lib"
-   /usr/lib 
--  /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/lib
-   )
- 
- IF(WIN32)
-@@ -159,7 +160,8 @@
-   "${TCL_TCLSH_PATH_PARENT}/include"
-   "${TK_WISH_PATH_PARENT}/include"
-   /usr/include
--  /usr/local/include
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/include
-   /usr/include/tcl${TK_LIBRARY_VERSION}
-   /usr/include/tcl${TCL_LIBRARY_VERSION}
-   /usr/include/tcl8.6
-diff -ru cmake-2.8.6.org//Modules/FindTclStub.cmake cmake-2.8.6/Modules/FindTclStub.cmake
---- cmake-2.8.6.org//Modules/FindTclStub.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindTclStub.cmake	Tue Oct 11 10:17:24 2011
-@@ -67,7 +67,8 @@
-   "${TCL_TCLSH_PATH_PARENT}/lib"
-   "${TK_WISH_PATH_PARENT}/lib"
-   /usr/lib 
--  /usr/local/lib
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/lib
- )
- 
- IF(WIN32)
-diff -ru cmake-2.8.6.org//Modules/FindUnixCommands.cmake cmake-2.8.6/Modules/FindUnixCommands.cmake
---- cmake-2.8.6.org//Modules/FindUnixCommands.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/FindUnixCommands.cmake	Tue Oct 11 10:17:56 2011
-@@ -22,7 +22,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-@@ -34,7 +35,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-@@ -46,7 +48,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-@@ -58,7 +61,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-@@ -70,7 +74,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-@@ -85,7 +90,8 @@
-   ${CYGWIN_INSTALL_PATH}/bin
-   /bin
-   /usr/bin 
--  /usr/local/bin
-+# Uncomment the following to enable /usr/local search
-+#  /usr/local/bin
-   /sbin
- )
- MARK_AS_ADVANCED(
-diff -ru cmake-2.8.6.org//Modules/Findosg_functions.cmake cmake-2.8.6/Modules/Findosg_functions.cmake
---- cmake-2.8.6.org//Modules/Findosg_functions.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/Findosg_functions.cmake	Mon Oct 10 17:06:52 2011
-@@ -34,7 +34,8 @@
-        PATHS
-             /sw # Fink
-             /opt/local # DarwinPorts
--            /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#            /opt/csw # Blastwave
-             /opt
-             /usr/freeware
-    )
-@@ -58,7 +59,8 @@
-        PATHS
-             /sw # Fink
-             /opt/local # DarwinPorts
--            /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#            /opt/csw # Blastwave
-             /opt
-             /usr/freeware
-    )
-@@ -74,7 +76,8 @@
-        PATHS
-             /sw # Fink
-             /opt/local # DarwinPorts
--            /opt/csw # Blastwave
-+# Uncomment the following to enable /opt/csw search
-+#            /opt/csw # Blastwave
-             /opt
-             /usr/freeware
-     )
-diff -ru cmake-2.8.6.org//Modules/GetPrerequisites.cmake cmake-2.8.6/Modules/GetPrerequisites.cmake
---- cmake-2.8.6.org//Modules/GetPrerequisites.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/GetPrerequisites.cmake	Tue Oct 11 10:18:31 2011
-@@ -588,7 +588,8 @@
-     "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/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"
-+# Uncomment the following to enable /usr/local search
-+#    "/usr/local/bin"
-     "/usr/bin"
-     )
- 
-diff -ru cmake-2.8.6.org//Modules/UseJava.cmake cmake-2.8.6/Modules/UseJava.cmake
---- cmake-2.8.6.org//Modules/UseJava.cmake	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Modules/UseJava.cmake	Tue Oct 11 10:22:41 2011
-@@ -445,7 +445,8 @@
-     set(_jar_versions)
-     set(_jar_paths
-         /usr/share/java/
--        /usr/local/share/java/
-+# Uncomment the following to enable /usr/local search
-+#        /usr/local/share/java/
-         ${Java_JAR_PATHS})
-     set(_jar_doc "NOTSET")
- 
-diff -ru cmake-2.8.6.org//Source/cmDocumentation.cxx cmake-2.8.6/Source/cmDocumentation.cxx
---- cmake-2.8.6.org//Source/cmDocumentation.cxx	Tue Oct  4 09:09:24 2011
-+++ cmake-2.8.6/Source/cmDocumentation.cxx	Tue Oct 18 12:33:05 2011
-@@ -1288,6 +1288,7 @@
- bool cmDocumentation::PrintDocumentationUsage(std::ostream& os)
- {
-   this->ClearSections();
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Usage");
-   this->AddSectionToPrint("Options");
-   if(this->ShowGenerators)
-@@ -1314,6 +1315,7 @@
-   this->ClearSections();
-   this->CreateModulesSection();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(Modules));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Description");
-   this->AddSectionToPrint("Modules");
-   this->AddSectionToPrint("Copyright");
-@@ -1330,6 +1332,7 @@
-   this->ClearSections();
-   this->CreateCustomModulesSection();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(CustomModules));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Description");
-   this->AddSectionToPrint("Custom CMake Modules");
- // the custom modules are most probably not under Kitware's copyright, Alex
-@@ -1347,6 +1350,7 @@
- {
-   this->ClearSections();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(Policies));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Description");
-   this->AddSectionToPrint("Policies");
-   this->AddSectionToPrint("Copyright");
-@@ -1363,6 +1367,7 @@
- {
-   this->ClearSections();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(Properties));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Properties Description");
-   for (std::vector<std::string>::iterator i = 
-          this->PropertySections.begin();
-@@ -1383,6 +1388,7 @@
- {
-   this->ClearSections();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(Variables));
-+  this->AddSectionToPrint("Name");
-   for (std::vector<std::string>::iterator i = 
-          this->VariableSections.begin();
-        i != this->VariableSections.end(); ++i)
-@@ -1402,6 +1408,7 @@
- {
-   this->ClearSections();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(Commands));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Commands");
-   this->AddSectionToPrint("Copyright");
-   this->AddSectionToPrint("Standard See Also");
-@@ -1416,6 +1423,7 @@
- {
-   this->ClearSections();
-   this->AddDocumentIntroToPrint(GET_DOCUMENT_INTRO(CompatCommands));
-+  this->AddSectionToPrint("Name");
-   this->AddSectionToPrint("Compatibility Commands Description");
-   this->AddSectionToPrint("Compatibility Commands");
-   this->AddSectionToPrint("Copyright");
--- a/components/cmake/test/results-64.master	Wed Nov 11 12:48:27 2015 -0700
+++ b/components/cmake/test/results-64.master	Wed Nov 11 12:06:59 2015 -0800
@@ -2,412 +2,851 @@
 Running tests...
 Test project $(@D)
 Guessing configuration NoConfig
-        Start 167: BootstrapTest
-  1/200 Test #167: BootstrapTest ...............................   Passed SEC sec
+        Start 226: BootstrapTest
+  1/421 Test #226: BootstrapTest ....................................   Passed SEC sec
         Start   1: SystemInformationNew
-  2/200 Test   #1: SystemInformationNew ........................   Passed SEC sec
-        Start   2: kwsys.testEncode
-  3/200 Test   #2: kwsys.testEncode ............................   Passed SEC sec
-        Start   3: kwsys.testTerminal
-  4/200 Test   #3: kwsys.testTerminal ..........................   Passed SEC sec
-        Start   4: kwsys.testAutoPtr
-  5/200 Test   #4: kwsys.testAutoPtr ...........................   Passed SEC sec
-        Start   5: kwsys.testHashSTL
-  6/200 Test   #5: kwsys.testHashSTL ...........................   Passed SEC sec
-        Start   6: kwsys.testRegistry
-  7/200 Test   #6: kwsys.testRegistry ..........................   Passed SEC sec
+  2/421 Test   #1: SystemInformationNew .............................   Passed SEC sec
+        Start   2: cmIML.test
+  3/421 Test   #2: cmIML.test .......................................   Passed SEC sec
+        Start   3: kwsys.testEncode
+  4/421 Test   #3: kwsys.testEncode .................................   Passed SEC sec
+        Start   4: kwsys.testTerminal
+  5/421 Test   #4: kwsys.testTerminal ...............................   Passed SEC sec
+        Start   5: kwsys.testAutoPtr
+  6/421 Test   #5: kwsys.testAutoPtr ................................   Passed SEC sec
+        Start   6: kwsys.testHashSTL
+  7/421 Test   #6: kwsys.testHashSTL ................................   Passed SEC sec
         Start   7: kwsys.testIOS
-  8/200 Test   #7: kwsys.testIOS ...............................   Passed SEC sec
+  8/421 Test   #7: kwsys.testIOS ....................................   Passed SEC sec
         Start   8: kwsys.testSystemTools
-  9/200 Test   #8: kwsys.testSystemTools .......................   Passed SEC sec
+  9/421 Test   #8: kwsys.testSystemTools ............................   Passed SEC sec
         Start   9: kwsys.testCommandLineArguments
- 10/200 Test   #9: kwsys.testCommandLineArguments ..............   Passed SEC sec
+ 10/421 Test   #9: kwsys.testCommandLineArguments ...................   Passed SEC sec
         Start  10: kwsys.testCommandLineArguments1
- 11/200 Test  #10: kwsys.testCommandLineArguments1 .............   Passed SEC sec
-        Start  11: kwsys.testSystemInformation
- 12/200 Test  #11: kwsys.testSystemInformation .................   Passed SEC sec
-        Start  12: kwsys.testDynamicLoader
- 13/200 Test  #12: kwsys.testDynamicLoader .....................   Passed SEC sec
-        Start  13: kwsys.testProcess-1
- 14/200 Test  #13: kwsys.testProcess-1 .........................   Passed SEC sec
-        Start  14: kwsys.testProcess-2
- 15/200 Test  #14: kwsys.testProcess-2 .........................   Passed SEC sec
-        Start  15: kwsys.testProcess-3
- 16/200 Test  #15: kwsys.testProcess-3 .........................   Passed SEC sec
-        Start  16: kwsys.testProcess-4
- 17/200 Test  #16: kwsys.testProcess-4 .........................   Passed SEC sec
-        Start  17: kwsys.testProcess-5
- 18/200 Test  #17: kwsys.testProcess-5 .........................   Passed SEC sec
-        Start  18: kwsys.testProcess-6
- 19/200 Test  #18: kwsys.testProcess-6 .........................   Passed SEC sec
-        Start  19: kwsys.testProcess-7
- 20/200 Test  #19: kwsys.testProcess-7 .........................   Passed SEC sec
-        Start  20: kwsys.testSharedForward
- 21/200 Test  #20: kwsys.testSharedForward .....................   Passed SEC sec
-        Start  21: CMake.HTML
- 22/200 Test  #21: CMake.HTML ..................................   Passed SEC sec
-        Start  22: CommandLineTest
- 23/200 Test  #22: CommandLineTest .............................   Passed SEC sec
-        Start  23: FindPackageTest
- 24/200 Test  #23: FindPackageTest .............................   Passed SEC sec
-        Start  24: FindModulesExecuteAll
- 25/200 Test  #24: FindModulesExecuteAll .......................   Passed SEC sec
-        Start  25: StringFileTest
- 26/200 Test  #25: StringFileTest ..............................   Passed SEC sec
-        Start  26: TryCompile
- 27/200 Test  #26: TryCompile ..................................   Passed SEC sec
-        Start  27: TarTest
- 28/200 Test  #27: TarTest .....................................   Passed SEC sec
-        Start  28: SystemInformation
- 29/200 Test  #28: SystemInformation ...........................   Passed SEC sec
-        Start  29: MathTest
- 30/200 Test  #29: MathTest ....................................   Passed SEC sec
-        Start  30: Simple
- 31/200 Test  #30: Simple ......................................   Passed SEC sec
-        Start  31: PreOrder
- 32/200 Test  #31: PreOrder ....................................   Passed SEC sec
-        Start  32: MissingSourceFile
- 33/200 Test  #32: MissingSourceFile ...........................   Passed SEC sec
-        Start  33: COnly
- 34/200 Test  #33: COnly .......................................   Passed SEC sec
-        Start  34: CxxOnly
- 35/200 Test  #34: CxxOnly .....................................   Passed SEC sec
-        Start  35: IPO
- 36/200 Test  #35: IPO .........................................   Passed SEC sec
-        Start  36: OutDir
- 37/200 Test  #36: OutDir ......................................   Passed SEC sec
-        Start  37: NewlineArgs
- 38/200 Test  #37: NewlineArgs .................................   Passed SEC sec
-        Start  38: SetLang
- 39/200 Test  #38: SetLang .....................................   Passed SEC sec
-        Start  39: ExternalOBJ
- 40/200 Test  #39: ExternalOBJ .................................   Passed SEC sec
-        Start  40: LoadCommand
- 41/200 Test  #40: LoadCommand .................................***Failed SEC sec
-        Start  41: LinkDirectory
- 42/200 Test  #41: LinkDirectory ...............................   Passed SEC sec
-        Start  42: LinkLanguage
- 43/200 Test  #42: LinkLanguage ................................   Passed SEC sec
-        Start  43: LinkLine
- 44/200 Test  #43: LinkLine ....................................   Passed SEC sec
-        Start  44: MacroTest
- 45/200 Test  #44: MacroTest ...................................   Passed SEC sec
-        Start  45: FunctionTest
- 46/200 Test  #45: FunctionTest ................................   Passed SEC sec
-        Start  46: ReturnTest
- 47/200 Test  #46: ReturnTest ..................................   Passed SEC sec
-        Start  47: Properties
- 48/200 Test  #47: Properties ..................................   Passed SEC sec
-        Start  48: Assembler
- 49/200 Test  #48: Assembler ...................................   Passed SEC sec
-        Start  49: SourceGroups
- 50/200 Test  #49: SourceGroups ................................   Passed SEC sec
-        Start  50: Preprocess
- 51/200 Test  #50: Preprocess ..................................   Passed SEC sec
-        Start  51: ExportImport
- 52/200 Test  #51: ExportImport ................................   Passed SEC sec
-        Start  52: Unset
- 53/200 Test  #52: Unset .......................................   Passed SEC sec
-        Start  53: PolicyScope
- 54/200 Test  #53: PolicyScope .................................   Passed SEC sec
-        Start  54: EmptyLibrary
- 55/200 Test  #54: EmptyLibrary ................................   Passed SEC sec
-        Start  55: CrossCompile
- 56/200 Test  #55: CrossCompile ................................   Passed SEC sec
-        Start  56: Policy0002
- 57/200 Test  #56: Policy0002 ..................................   Passed SEC sec
-        Start  57: CMakeBuildTest
- 58/200 Test  #57: CMakeBuildTest ..............................   Passed SEC sec
-        Start  58: Module.CheckTypeSize
- 59/200 Test  #58: Module.CheckTypeSize ........................   Passed SEC sec
-        Start  59: Module.GenerateExportHeader
- 60/200 Test  #59: Module.GenerateExportHeader .................   Passed SEC sec
-        Start  60: Module.CheckCXXCompilerFlag
- 61/200 Test  #60: Module.CheckCXXCompilerFlag .................   Passed SEC sec
-        Start  61: LinkFlags-prepare
- 62/200 Test  #61: LinkFlags-prepare ...........................   Passed SEC sec
-        Start  62: LinkFlags-lib
- 63/200 Test  #62: LinkFlags-lib ...............................   Passed SEC sec
-        Start  63: LinkFlags-dll
- 64/200 Test  #63: LinkFlags-dll ...............................   Passed SEC sec
-        Start  64: LinkFlags-exe
- 65/200 Test  #64: LinkFlags-exe ...............................   Passed SEC sec
-        Start  65: LinkFlags-lib_config
- 66/200 Test  #65: LinkFlags-lib_config ........................   Passed SEC sec
-        Start  66: LinkFlags-dll_config
- 67/200 Test  #66: LinkFlags-dll_config ........................   Passed SEC sec
-        Start  67: LinkFlags-exe_config
- 68/200 Test  #67: LinkFlags-exe_config ........................   Passed SEC sec
-        Start  68: SubProject
- 69/200 Test  #68: SubProject ..................................   Passed SEC sec
-        Start  69: SubProject-Stage2
- 70/200 Test  #69: SubProject-Stage2 ...........................   Passed SEC sec
-        Start  70: Framework
- 71/200 Test  #70: Framework ...................................   Passed SEC sec
-        Start  71: TargetName
- 72/200 Test  #71: TargetName ..................................   Passed SEC sec
-        Start  72: LibName
- 73/200 Test  #72: LibName .....................................   Passed SEC sec
-        Start  73: CustComDepend
- 74/200 Test  #73: CustComDepend ...............................   Passed SEC sec
-        Start  74: ArgumentExpansion
- 75/200 Test  #74: ArgumentExpansion ...........................   Passed SEC sec
-        Start  75: CustomCommand
- 76/200 Test  #75: CustomCommand ...............................   Passed SEC sec
-        Start  76: CustomCommandWorkingDirectory
- 77/200 Test  #76: CustomCommandWorkingDirectory ...............   Passed SEC sec
-        Start  77: OutOfSource
- 78/200 Test  #77: OutOfSource .................................   Passed SEC sec
-        Start  78: BuildDepends
- 79/200 Test  #78: BuildDepends ................................   Passed SEC sec
-        Start  79: SimpleInstall
- 80/200 Test  #79: SimpleInstall ...............................   Passed SEC sec
-        Start  80: SimpleInstall-Stage2
- 81/200 Test  #80: SimpleInstall-Stage2 ........................   Passed SEC sec
-        Start  81: CPackComponents
- 82/200 Test  #81: CPackComponents .............................   Passed SEC sec
-        Start  82: CPackComponentsForAll-ZIP-default
- 83/200 Test  #82: CPackComponentsForAll-ZIP-default ...........   Passed SEC sec
-        Start  83: CPackComponentsForAll-ZIP-OnePackPerGroup
- 84/200 Test  #83: CPackComponentsForAll-ZIP-OnePackPerGroup ...   Passed SEC sec
-        Start  84: CPackComponentsForAll-ZIP-IgnoreGroup
- 85/200 Test  #84: CPackComponentsForAll-ZIP-IgnoreGroup .......   Passed SEC sec
-        Start  85: CPackComponentsForAll-ZIP-AllInOne
- 86/200 Test  #85: CPackComponentsForAll-ZIP-AllInOne ..........   Passed SEC sec
-        Start  86: CPackTestAllGenerators
- 87/200 Test  #86: CPackTestAllGenerators ......................   Passed SEC sec
-        Start  87: X11
- 88/200 Test  #87: X11 .........................................   Passed SEC sec
-        Start  88: CMakeTestAllGenerators
- 89/200 Test  #88: CMakeTestAllGenerators ......................   Passed SEC sec
-        Start  89: CMakeTestBadCommandLines
- 90/200 Test  #89: CMakeTestBadCommandLines ....................   Passed SEC sec
-        Start  90: CMakeTestMultipleConfigures
- 91/200 Test  #90: CMakeTestMultipleConfigures .................   Passed SEC sec
-        Start  91: LoadedCommandOneConfig
- 92/200 Test  #91: LoadedCommandOneConfig ......................***Failed SEC sec
-        Start  93: complexOneConfig
- 93/200 Test  #93: complexOneConfig ............................   Passed SEC sec
-        Start  92: complex
- 94/200 Test  #92: complex .....................................   Passed SEC sec
-        Start  94: Example
- 95/200 Test  #94: Example .....................................   Passed SEC sec
-        Start  95: Environment
- 96/200 Test  #95: Environment .................................   Passed SEC sec
-        Start  96: ExternalProject
- 97/200 Test  #96: ExternalProject .............................   Passed SEC sec
-        Start  97: TutorialStep1
- 98/200 Test  #97: TutorialStep1 ...............................   Passed SEC sec
-        Start  98: TutorialStep2
- 99/200 Test  #98: TutorialStep2 ...............................   Passed SEC sec
-        Start  99: TutorialStep3
-100/200 Test  #99: TutorialStep3 ...............................   Passed SEC sec
-        Start 100: TutorialStep4
-101/200 Test #100: TutorialStep4 ...............................   Passed SEC sec
-        Start 101: TutorialStep5
-102/200 Test #101: TutorialStep5 ...............................   Passed SEC sec
-        Start 102: TutorialStep6
-103/200 Test #102: TutorialStep6 ...............................   Passed SEC sec
-        Start 103: TutorialStep7
-104/200 Test #103: TutorialStep7 ...............................   Passed SEC sec
-        Start 104: testing
-105/200 Test #104: testing .....................................   Passed SEC sec
-        Start 105: wrapping
-106/200 Test #105: wrapping ....................................   Passed SEC sec
-        Start 106: qtwrapping
-107/200 Test #106: qtwrapping ..................................   Passed SEC sec
-        Start 107: testdriver1
-108/200 Test #107: testdriver1 .................................   Passed SEC sec
-        Start 108: testdriver2
-109/200 Test #108: testdriver2 .................................   Passed SEC sec
-        Start 109: testdriver3
-110/200 Test #109: testdriver3 .................................   Passed SEC sec
-        Start 110: Dependency
-111/200 Test #110: Dependency ..................................   Passed SEC sec
-        Start 111: JumpWithLibOut
-112/200 Test #111: JumpWithLibOut ..............................   Passed SEC sec
-        Start 112: JumpNoLibOut
-113/200 Test #112: JumpNoLibOut ................................   Passed SEC sec
-        Start 113: Plugin
-114/200 Test #113: Plugin ......................................   Passed SEC sec
-        Start 114: RuntimePath
-115/200 Test #114: RuntimePath .................................   Passed SEC sec
-        Start 115: linkorder1
-116/200 Test #115: linkorder1 ..................................   Passed SEC sec
-        Start 116: linkorder2
-117/200 Test #116: linkorder2 ..................................   Passed SEC sec
-        Start 117: kwsys
-118/200 Test #117: kwsys .......................................   Passed SEC sec
-        Start 118: SubDirSpaces
-119/200 Test #118: SubDirSpaces ................................   Passed SEC sec
-        Start 119: SubDir
-120/200 Test #119: SubDir ......................................   Passed SEC sec
-        Start 120: CheckCompilerRelatedVariables
-121/200 Test #120: CheckCompilerRelatedVariables ...............   Passed SEC sec
-        Start 121: MakeClean
-122/200 Test #121: MakeClean ...................................   Passed SEC sec
-        Start 122: WarnUnusedUnusedViaSet
-123/200 Test #122: WarnUnusedUnusedViaSet ......................   Passed SEC sec
-        Start 123: WarnUnusedUnusedViaUnset
-124/200 Test #123: WarnUnusedUnusedViaUnset ....................   Passed SEC sec
-        Start 124: WarnUnusedCliUnused
-125/200 Test #124: WarnUnusedCliUnused .........................   Passed SEC sec
-        Start 125: WarnUnusedCliUsed
-126/200 Test #125: WarnUnusedCliUsed ...........................   Passed SEC sec
-        Start 126: WarnUninitialized
-127/200 Test #126: WarnUninitialized ...........................   Passed SEC sec
-        Start 127: TestsWorkingDirectory
-128/200 Test #127: TestsWorkingDirectory .......................   Passed SEC sec
-        Start 128: CTest.NoNewline
-129/200 Test #128: CTest.NoNewline .............................   Passed SEC sec
-        Start 129: CTest.UpdateSVN
-130/200 Test #129: CTest.UpdateSVN .............................***Failed SEC sec
-        Start 130: CTest.UpdateCVS
-131/200 Test #130: CTest.UpdateCVS .............................   Passed SEC sec
-        Start 131: CTest.UpdateGIT
-132/200 Test #131: CTest.UpdateGIT .............................   Passed SEC sec
-        Start 132: CTest.UpdateHG
-133/200 Test #132: CTest.UpdateHG ..............................   Passed SEC sec
-        Start 133: CTestTestNoBuild
-134/200 Test #133: CTestTestNoBuild ............................   Passed SEC sec
-        Start 134: CTestTestNoExe
-135/200 Test #134: CTestTestNoExe ..............................   Passed SEC sec
-        Start 135: CTestTestUpload
-136/200 Test #135: CTestTestUpload .............................***Failed  Required regular expression not found.Regex=[Upload\.xml
+ 11/421 Test  #10: kwsys.testCommandLineArguments1 ..................   Passed SEC sec
+        Start  11: kwsys.testEncoding
+ 12/421 Test  #11: kwsys.testEncoding ...............................   Passed SEC sec
+        Start  12: kwsys.testFStream
+ 13/421 Test  #12: kwsys.testFStream ................................   Passed SEC sec
+        Start  13: kwsys.testSystemInformation
+ 14/421 Test  #13: kwsys.testSystemInformation ......................   Passed SEC sec
+        Start  14: kwsys.testDynamicLoader
+ 15/421 Test  #14: kwsys.testDynamicLoader ..........................   Passed SEC sec
+        Start  15: kwsys.testProcess-1
+ 16/421 Test  #15: kwsys.testProcess-1 ..............................   Passed SEC sec
+        Start  16: kwsys.testProcess-2
+ 17/421 Test  #16: kwsys.testProcess-2 ..............................   Passed SEC sec
+        Start  17: kwsys.testProcess-3
+ 18/421 Test  #17: kwsys.testProcess-3 ..............................   Passed SEC sec
+        Start  18: kwsys.testProcess-4
+ 19/421 Test  #18: kwsys.testProcess-4 ..............................   Passed SEC sec
+        Start  19: kwsys.testProcess-5
+ 20/421 Test  #19: kwsys.testProcess-5 ..............................   Passed SEC sec
+        Start  20: kwsys.testProcess-6
+ 21/421 Test  #20: kwsys.testProcess-6 ..............................   Passed SEC sec
+        Start  21: kwsys.testProcess-7
+ 22/421 Test  #21: kwsys.testProcess-7 ..............................   Passed SEC sec
+        Start  22: kwsys.testSharedForward
+ 23/421 Test  #22: kwsys.testSharedForward ..........................   Passed SEC sec
+        Start  23: CMake.Copyright
+ 24/421 Test  #23: CMake.Copyright ..................................   Passed SEC sec
+        Start  24: CommandLineTest
+ 25/421 Test  #24: CommandLineTest ..................................   Passed SEC sec
+        Start  25: FindPackageTest
+ 26/421 Test  #25: FindPackageTest ..................................   Passed SEC sec
+        Start  26: FindModulesExecuteAll
+ 27/421 Test  #26: FindModulesExecuteAll ............................   Passed SEC sec
+        Start  27: StringFileTest
+ 28/421 Test  #27: StringFileTest ...................................   Passed SEC sec
+        Start  28: TryCompile
+ 29/421 Test  #28: TryCompile .......................................   Passed SEC sec
+        Start  29: SystemInformation
+ 30/421 Test  #29: SystemInformation ................................   Passed SEC sec
+        Start  30: MathTest
+ 31/421 Test  #30: MathTest .........................................   Passed SEC sec
+        Start  31: CompileFeatures
+ 32/421 Test  #31: CompileFeatures ..................................   Passed SEC sec
+        Start  32: CMakeCommands.target_compile_features
+ 33/421 Test  #32: CMakeCommands.target_compile_features ............   Passed SEC sec
+        Start  33: Simple
+ 34/421 Test  #33: Simple ...........................................   Passed SEC sec
+        Start  34: PreOrder
+ 35/421 Test  #34: PreOrder .........................................   Passed SEC sec
+        Start  35: MissingSourceFile
+ 36/421 Test  #35: MissingSourceFile ................................   Passed SEC sec
+        Start  36: FortranOnly
+ 37/421 Test  #36: FortranOnly ......................................   Passed SEC sec
+        Start  37: VSGNUFortran
+ 38/421 Test  #37: VSGNUFortran .....................................   Passed SEC sec
+        Start  38: COnly
+ 39/421 Test  #38: COnly ............................................   Passed SEC sec
+        Start  39: CxxOnly
+ 40/421 Test  #39: CxxOnly ..........................................   Passed SEC sec
+        Start  40: CxxSubdirC
+ 41/421 Test  #40: CxxSubdirC .......................................   Passed SEC sec
+        Start  41: IPO
+ 42/421 Test  #41: IPO ..............................................   Passed SEC sec
+        Start  42: OutDir
+ 43/421 Test  #42: OutDir ...........................................   Passed SEC sec
+        Start  43: ObjectLibrary
+ 44/421 Test  #43: ObjectLibrary ....................................   Passed SEC sec
+        Start  44: NewlineArgs
+ 45/421 Test  #44: NewlineArgs ......................................   Passed SEC sec
+        Start  45: SetLang
+ 46/421 Test  #45: SetLang ..........................................   Passed SEC sec
+        Start  46: EmptyProperty
+ 47/421 Test  #46: EmptyProperty ....................................   Passed SEC sec
+        Start  47: ExternalOBJ
+ 48/421 Test  #47: ExternalOBJ ......................................   Passed SEC sec
+        Start  48: LoadCommand
+ 49/421 Test  #48: LoadCommand ......................................***Failed SEC sec
+        Start  49: LinkDirectory
+ 50/421 Test  #49: LinkDirectory ....................................   Passed SEC sec
+        Start  50: LinkLanguage
+ 51/421 Test  #50: LinkLanguage .....................................   Passed SEC sec
+        Start  51: LinkLine
+ 52/421 Test  #51: LinkLine .........................................   Passed SEC sec
+        Start  52: MacroTest
+ 53/421 Test  #52: MacroTest ........................................   Passed SEC sec
+        Start  53: FunctionTest
+ 54/421 Test  #53: FunctionTest .....................................   Passed SEC sec
+        Start  54: ReturnTest
+ 55/421 Test  #54: ReturnTest .......................................   Passed SEC sec
+        Start  55: Properties
+ 56/421 Test  #55: Properties .......................................   Passed SEC sec
+        Start  56: Assembler
+ 57/421 Test  #56: Assembler ........................................   Passed SEC sec
+        Start  57: SourceGroups
+ 58/421 Test  #57: SourceGroups .....................................   Passed SEC sec
+        Start  58: Preprocess
+ 59/421 Test  #58: Preprocess .......................................   Passed SEC sec
+        Start  59: ExportImport
+ 60/421 Test  #59: ExportImport .....................................   Passed SEC sec
+        Start  60: Unset
+ 61/421 Test  #60: Unset ............................................   Passed SEC sec
+        Start  61: PolicyScope
+ 62/421 Test  #61: PolicyScope ......................................   Passed SEC sec
+        Start  62: EmptyLibrary
+ 63/421 Test  #62: EmptyLibrary .....................................   Passed SEC sec
+        Start  63: CompileDefinitions
+ 64/421 Test  #63: CompileDefinitions ...............................   Passed SEC sec
+        Start  64: CompileOptions
+ 65/421 Test  #64: CompileOptions ...................................   Passed SEC sec
+        Start  65: CompatibleInterface
+ 66/421 Test  #65: CompatibleInterface ..............................   Passed SEC sec
+        Start  66: AliasTarget
+ 67/421 Test  #66: AliasTarget ......................................   Passed SEC sec
+        Start  67: StagingPrefix
+ 68/421 Test  #67: StagingPrefix ....................................   Passed SEC sec
+        Start  68: InterfaceLibrary
+ 69/421 Test  #68: InterfaceLibrary .................................   Passed SEC sec
+        Start  69: SourcesProperty
+ 70/421 Test  #69: SourcesProperty ..................................   Passed SEC sec
+        Start  70: SourceFileProperty
+ 71/421 Test  #70: SourceFileProperty ...............................   Passed SEC sec
+        Start  71: CxxDialect
+ 72/421 Test  #71: CxxDialect .......................................   Passed SEC sec
+        Start  72: CrossCompile
+ 73/421 Test  #72: CrossCompile .....................................   Passed SEC sec
+        Start  73: Policy0002
+ 74/421 Test  #73: Policy0002 .......................................   Passed SEC sec
+        Start  74: CMakeBuildTest
+ 75/421 Test  #74: CMakeBuildTest ...................................   Passed SEC sec
+        Start  75: CMakeDoubleProject
+ 76/421 Test  #75: CMakeDoubleProject ...............................   Passed SEC sec
+        Start  76: Module.CheckTypeSize
+ 77/421 Test  #76: Module.CheckTypeSize .............................   Passed SEC sec
+        Start  77: Module.ExternalData
+ 78/421 Test  #77: Module.ExternalData ..............................   Passed SEC sec
+        Start  78: Module.GenerateExportHeader
+ 79/421 Test  #78: Module.GenerateExportHeader ......................   Passed SEC sec
+        Start  79: Module.FindDependency
+ 80/421 Test  #79: Module.FindDependency ............................   Passed SEC sec
+        Start  80: Module.WriteCompilerDetectionHeader
+ 81/421 Test  #80: Module.WriteCompilerDetectionHeader ..............   Passed SEC sec
+        Start  81: PositionIndependentTargets
+ 82/421 Test  #81: PositionIndependentTargets .......................   Passed SEC sec
+        Start  82: LinkFlags-prepare
+ 83/421 Test  #82: LinkFlags-prepare ................................   Passed SEC sec
+        Start  83: LinkFlags-lib
+ 84/421 Test  #83: LinkFlags-lib ....................................   Passed SEC sec
+        Start  84: LinkFlags-dll
+ 85/421 Test  #84: LinkFlags-dll ....................................   Passed SEC sec
+        Start  85: LinkFlags-mod
+ 86/421 Test  #85: LinkFlags-mod ....................................   Passed SEC sec
+        Start  86: LinkFlags-exe
+ 87/421 Test  #86: LinkFlags-exe ....................................   Passed SEC sec
+        Start  87: LinkFlags-lib_config
+ 88/421 Test  #87: LinkFlags-lib_config .............................   Passed SEC sec
+        Start  88: LinkFlags-dll_config
+ 89/421 Test  #88: LinkFlags-dll_config .............................   Passed SEC sec
+        Start  89: LinkFlags-mod_config
+ 90/421 Test  #89: LinkFlags-mod_config .............................   Passed SEC sec
+        Start  90: LinkFlags-exe_config
+ 91/421 Test  #90: LinkFlags-exe_config .............................   Passed SEC sec
+        Start  91: LinkFlags-lib_flags
+ 92/421 Test  #91: LinkFlags-lib_flags ..............................   Passed SEC sec
+        Start  92: LinkFlags-dll_flags
+ 93/421 Test  #92: LinkFlags-dll_flags ..............................   Passed SEC sec
+        Start  93: LinkFlags-mod_flags
+ 94/421 Test  #93: LinkFlags-mod_flags ..............................   Passed SEC sec
+        Start  94: LinkFlags-exe_flags
+ 95/421 Test  #94: LinkFlags-exe_flags ..............................   Passed SEC sec
+        Start  95: LinkFlags-lib_flags_config
+ 96/421 Test  #95: LinkFlags-lib_flags_config .......................   Passed SEC sec
+        Start  96: LinkFlags-dll_flags_config
+ 97/421 Test  #96: LinkFlags-dll_flags_config .......................   Passed SEC sec
+        Start  97: LinkFlags-mod_flags_config
+ 98/421 Test  #97: LinkFlags-mod_flags_config .......................   Passed SEC sec
+        Start  98: LinkFlags-exe_flags_config
+ 99/421 Test  #98: LinkFlags-exe_flags_config .......................   Passed SEC sec
+        Start  99: SubProject
+100/421 Test  #99: SubProject .......................................   Passed SEC sec
+        Start 100: SubProject-Stage2
+101/421 Test #100: SubProject-Stage2 ................................   Passed SEC sec
+        Start 101: Framework
+102/421 Test #101: Framework ........................................   Passed SEC sec
+        Start 102: TargetName
+103/421 Test #102: TargetName .......................................   Passed SEC sec
+        Start 103: LibName
+104/421 Test #103: LibName ..........................................   Passed SEC sec
+        Start 104: CustComDepend
+105/421 Test #104: CustComDepend ....................................   Passed SEC sec
+        Start 105: ArgumentExpansion
+106/421 Test #105: ArgumentExpansion ................................   Passed SEC sec
+        Start 106: GeneratorExpression
+107/421 Test #106: GeneratorExpression ..............................   Passed SEC sec
+        Start 107: CustomCommand
+108/421 Test #107: CustomCommand ....................................   Passed SEC sec
+        Start 108: CustomCommandByproducts
+109/421 Test #108: CustomCommandByproducts ..........................   Passed SEC sec
+        Start 109: EmptyDepends
+110/421 Test #109: EmptyDepends .....................................   Passed SEC sec
+        Start 110: CustomCommandWorkingDirectory
+111/421 Test #110: CustomCommandWorkingDirectory ....................   Passed SEC sec
+        Start 111: OutOfSource
+112/421 Test #111: OutOfSource ......................................   Passed SEC sec
+        Start 112: BuildDepends
+113/421 Test #112: BuildDepends .....................................   Passed SEC sec
+        Start 113: SimpleInstall
+114/421 Test #113: SimpleInstall ....................................   Passed SEC sec
+        Start 114: SimpleInstall-Stage2
+115/421 Test #114: SimpleInstall-Stage2 .............................   Passed SEC sec
+        Start 115: MissingInstall
+116/421 Test #115: MissingInstall ...................................   Passed SEC sec
+        Start 116: CPackComponents
+117/421 Test #116: CPackComponents ..................................   Passed SEC sec
+        Start 117: CPackComponentsForAll-ZIP-default
+118/421 Test #117: CPackComponentsForAll-ZIP-default ................   Passed SEC sec
+        Start 118: CPackComponentsForAll-ZIP-OnePackPerGroup
+119/421 Test #118: CPackComponentsForAll-ZIP-OnePackPerGroup ........   Passed SEC sec
+        Start 119: CPackComponentsForAll-ZIP-IgnoreGroup
+120/421 Test #119: CPackComponentsForAll-ZIP-IgnoreGroup ............   Passed SEC sec
+        Start 120: CPackComponentsForAll-ZIP-AllInOne
+121/421 Test #120: CPackComponentsForAll-ZIP-AllInOne ...............   Passed SEC sec
+        Start 121: CPackTestAllGenerators
+122/421 Test #121: CPackTestAllGenerators ...........................   Passed SEC sec
+        Start 122: CPackComponentsPrefix
+123/421 Test #122: CPackComponentsPrefix ............................   Passed SEC sec
+        Start 123: X11
+124/421 Test #123: X11 ..............................................   Passed SEC sec
+        Start 124: CMakeTestAllGenerators
+125/421 Test #124: CMakeTestAllGenerators ...........................   Passed SEC sec
+        Start 125: CMakeTestMultipleConfigures
+126/421 Test #125: CMakeTestMultipleConfigures ......................   Passed SEC sec
+        Start 126: LoadedCommandOneConfig
+127/421 Test #126: LoadedCommandOneConfig ...........................***Failed SEC sec
+        Start 128: complexOneConfig
+128/421 Test #128: complexOneConfig .................................   Passed SEC sec
+        Start 127: complex
+129/421 Test #127: complex ..........................................   Passed SEC sec
+        Start 129: Environment
+130/421 Test #129: Environment ......................................   Passed SEC sec
+        Start 130: QtAutomocNoQt
+131/421 Test #130: QtAutomocNoQt ....................................   Passed SEC sec
+        Start 131: ExternalProject
+132/421 Test #131: ExternalProject ..................................   Passed SEC sec
+        Start 132: ExternalProjectSubdir
+133/421 Test #132: ExternalProjectSubdir ............................   Passed SEC sec
+        Start 133: ExternalProjectLocal
+134/421 Test #133: ExternalProjectLocal .............................   Passed SEC sec
+        Start 134: ExternalProjectUpdateSetup
+135/421 Test #134: ExternalProjectUpdateSetup .......................   Passed SEC sec
+        Start 135: ExternalProjectUpdate
+136/421 Test #135: ExternalProjectUpdate ............................   Passed SEC sec
+        Start 136: TutorialStep1
+137/421 Test #136: TutorialStep1 ....................................   Passed SEC sec
+        Start 137: TutorialStep2
+138/421 Test #137: TutorialStep2 ....................................   Passed SEC sec
+        Start 138: TutorialStep3
+139/421 Test #138: TutorialStep3 ....................................   Passed SEC sec
+        Start 139: TutorialStep4
+140/421 Test #139: TutorialStep4 ....................................   Passed SEC sec
+        Start 140: TutorialStep5
+141/421 Test #140: TutorialStep5 ....................................   Passed SEC sec
+        Start 141: TutorialStep6
+142/421 Test #141: TutorialStep6 ....................................   Passed SEC sec
+        Start 142: TutorialStep7
+143/421 Test #142: TutorialStep7 ....................................   Passed SEC sec
+        Start 143: testing
+144/421 Test #143: testing ..........................................   Passed SEC sec
+        Start 144: wrapping
+145/421 Test #144: wrapping .........................................   Passed SEC sec
+        Start 145: qtwrapping
+146/421 Test #145: qtwrapping .......................................   Passed SEC sec
+        Start 146: testdriver1
+147/421 Test #146: testdriver1 ......................................   Passed SEC sec
+        Start 147: testdriver2
+148/421 Test #147: testdriver2 ......................................   Passed SEC sec
+        Start 148: testdriver3
+149/421 Test #148: testdriver3 ......................................   Passed SEC sec
+        Start 149: Dependency
+150/421 Test #149: Dependency .......................................   Passed SEC sec
+        Start 150: JumpWithLibOut
+151/421 Test #150: JumpWithLibOut ...................................   Passed SEC sec
+        Start 151: JumpNoLibOut
+152/421 Test #151: JumpNoLibOut .....................................   Passed SEC sec
+        Start 152: Plugin
+153/421 Test #152: Plugin ...........................................   Passed SEC sec
+        Start 153: RuntimePath
+154/421 Test #153: RuntimePath ......................................   Passed SEC sec
+        Start 154: linkorder1
+155/421 Test #154: linkorder1 .......................................   Passed SEC sec
+        Start 155: linkorder2
+156/421 Test #155: linkorder2 .......................................   Passed SEC sec
+        Start 156: SubDirSpaces
+157/421 Test #156: SubDirSpaces .....................................   Passed SEC sec
+        Start 157: SubDir
+158/421 Test #157: SubDir ...........................................   Passed SEC sec
+        Start 158: CheckCompilerRelatedVariables
+159/421 Test #158: CheckCompilerRelatedVariables ....................   Passed SEC sec
+        Start 159: MakeClean
+160/421 Test #159: MakeClean ........................................   Passed SEC sec
+        Start 160: WarnUnusedUnusedViaSet
+161/421 Test #160: WarnUnusedUnusedViaSet ...........................   Passed SEC sec
+        Start 161: WarnUnusedUnusedViaUnset
+162/421 Test #161: WarnUnusedUnusedViaUnset .........................   Passed SEC sec
+        Start 162: WarnUnusedCliUnused
+163/421 Test #162: WarnUnusedCliUnused ..............................   Passed SEC sec
+        Start 163: WarnUnusedCliUsed
+164/421 Test #163: WarnUnusedCliUsed ................................   Passed SEC sec
+        Start 164: WarnUninitialized
+165/421 Test #164: WarnUninitialized ................................   Passed SEC sec
+        Start 165: TestsWorkingDirectory
+166/421 Test #165: TestsWorkingDirectory ............................   Passed SEC sec
+        Start 166: CTest.NoNewline
+167/421 Test #166: CTest.NoNewline ..................................   Passed SEC sec
+        Start 167: CTest.BuildCommand.ProjectInSubdir
+168/421 Test #167: CTest.BuildCommand.ProjectInSubdir ...............   Passed SEC sec
+        Start 168: CTest.UpdateSVN
+169/421 Test #168: CTest.UpdateSVN ..................................   Passed SEC sec
+        Start 169: CTest.UpdateCVS
+170/421 Test #169: CTest.UpdateCVS ..................................   Passed SEC sec
+        Start 170: CTest.UpdateGIT
+171/421 Test #170: CTest.UpdateGIT ..................................   Passed SEC sec
+        Start 171: CTest.UpdateHG
+172/421 Test #171: CTest.UpdateHG ...................................   Passed SEC sec
+        Start 172: CTestTestNoBuild
+173/421 Test #172: CTestTestNoBuild .................................   Passed SEC sec
+        Start 173: CTestTestNoExe
+174/421 Test #173: CTestTestNoExe ...................................   Passed SEC sec
+        Start 174: CTestTestUpload
+175/421 Test #174: CTestTestUpload ..................................***Failed  Required regular expression not found.Regex=[Upload\.xml
 ]SEC sec
-        Start 136: CTestConfig.Script.Debug
-137/200 Test #136: CTestConfig.Script.Debug ....................   Passed SEC sec
-        Start 137: CTestConfig.Dashboard.Debug
-138/200 Test #137: CTestConfig.Dashboard.Debug .................   Passed SEC sec
-        Start 138: CTestConfig.Script.MinSizeRel
-139/200 Test #138: CTestConfig.Script.MinSizeRel ...............   Passed SEC sec
-        Start 139: CTestConfig.Dashboard.MinSizeRel
-140/200 Test #139: CTestConfig.Dashboard.MinSizeRel ............   Passed SEC sec
-        Start 140: CTestConfig.Script.Release
-141/200 Test #140: CTestConfig.Script.Release ..................   Passed SEC sec
-        Start 141: CTestConfig.Dashboard.Release
-142/200 Test #141: CTestConfig.Dashboard.Release ...............   Passed SEC sec
-        Start 142: CTestConfig.Script.RelWithDebInfo
-143/200 Test #142: CTestConfig.Script.RelWithDebInfo ...........   Passed SEC sec
-        Start 143: CTestConfig.Dashboard.RelWithDebInfo
-144/200 Test #143: CTestConfig.Dashboard.RelWithDebInfo ........   Passed SEC sec
-        Start 144: CMakeCommands.build_command
-145/200 Test #144: CMakeCommands.build_command .................   Passed SEC sec
-        Start 145: CTestTestCrash
-146/200 Test #145: CTestTestCrash ..............................   Passed SEC sec
-        Start 146: CTestTestBadExe
-147/200 Test #146: CTestTestBadExe .............................   Passed SEC sec
-        Start 147: CTestTestParallel
-148/200 Test #147: CTestTestParallel ...........................   Passed SEC sec
-        Start 148: CTestTestPrintLabels
-149/200 Test #148: CTestTestPrintLabels ........................   Passed SEC sec
-        Start 149: CTestTestResourceLock
-150/200 Test #149: CTestTestResourceLock .......................   Passed SEC sec
-        Start 150: CTestTestScheduler
-151/200 Test #150: CTestTestScheduler ..........................   Passed SEC sec
-        Start 151: CTestTestCostSerial
-152/200 Test #151: CTestTestCostSerial .........................   Passed SEC sec
-        Start 152: CTestTestStopTime
-153/200 Test #152: CTestTestStopTime ...........................   Passed SEC sec
-        Start 153: CTestTestSubdir
-154/200 Test #153: CTestTestSubdir .............................   Passed SEC sec
-        Start 154: CTestTestTimeout
-155/200 Test #154: CTestTestTimeout ............................   Passed SEC sec
-        Start 155: CTestTestZeroTimeout
-156/200 Test #155: CTestTestZeroTimeout ........................   Passed SEC sec
-        Start 156: CTestTestDepends
-157/200 Test #156: CTestTestDepends ............................   Passed SEC sec
-        Start 157: CTestTestCycle
-158/200 Test #157: CTestTestCycle ..............................   Passed SEC sec
-        Start 158: CTestTestRunScript
-159/200 Test #158: CTestTestRunScript ..........................   Passed SEC sec
-        Start 159: CTestTestShowOnly
-160/200 Test #159: CTestTestShowOnly ...........................   Passed SEC sec
-        Start 160: CTestBatchTest
-161/200 Test #160: CTestBatchTest ..............................   Passed SEC sec
-        Start 161: CTestTestFailedSubmit-cp
-162/200 Test #161: CTestTestFailedSubmit-cp ....................   Passed SEC sec
-        Start 162: CTestTestFailedSubmit-ftp
-163/200 Test #162: CTestTestFailedSubmit-ftp ...................***Failed  Required regular expression not found.Regex=[(Problems when submitting via S*CP|Error message was: ([Cc]ould *n.t resolve host|[Cc]ould *n.t connect to host|Empty reply from server|The requested URL returned error|libcurl was built with SSL disabled. https: not supported)|Submission method .xmlrpc. not compiled into CTest|Submission problem|Submission successful)
-]SEC sec
-        Start 163: CTestTestFailedSubmit-http
-164/200 Test #163: CTestTestFailedSubmit-http ..................***Failed  Required regular expression not found.Regex=[(Problems when submitting via S*CP|Error message was: ([Cc]ould *n.t resolve host|[Cc]ould *n.t connect to host|Empty reply from server|The requested URL returned error|libcurl was built with SSL disabled. https: not supported)|Submission method .xmlrpc. not compiled into CTest|Submission problem|Submission successful)
-]SEC sec
-        Start 164: CTestTestFailedSubmit-https
-165/200 Test #164: CTestTestFailedSubmit-https .................***Failed  Required regular expression not found.Regex=[(Problems when submitting via S*CP|Error message was: ([Cc]ould *n.t resolve host|[Cc]ould *n.t connect to host|Empty reply from server|The requested URL returned error|libcurl was built with SSL disabled. https: not supported)|Submission method .xmlrpc. not compiled into CTest|Submission problem|Submission successful)
-]SEC sec
-        Start 165: CTestTestFailedSubmit-scp
-166/200 Test #165: CTestTestFailedSubmit-scp ...................   Passed SEC sec
-        Start 166: CTestTestFailedSubmit-xmlrpc
-167/200 Test #166: CTestTestFailedSubmit-xmlrpc ................   Passed SEC sec
-        Start 168: CMakeWizardTest
-168/200 Test #168: CMakeWizardTest .............................   Passed SEC sec
-        Start 169: CompileCommandOutput
-169/200 Test #169: CompileCommandOutput ........................   Passed SEC sec
-        Start 170: IncludeDirectories
-170/200 Test #170: IncludeDirectories ..........................   Passed SEC sec
-        Start 171: CMakeLib.testUTF8
-171/200 Test #171: CMakeLib.testUTF8 ...........................   Passed SEC sec
-        Start 172: CMakeLib.testXMLParser
-172/200 Test #172: CMakeLib.testXMLParser ......................   Passed SEC sec
-        Start 173: CMakeLib.testXMLSafe
-173/200 Test #173: CMakeLib.testXMLSafe ........................   Passed SEC sec
-        Start 174: FindPackageModeMakefileTest
-174/200 Test #174: FindPackageModeMakefileTest .................***Failed SEC sec
-        Start 175: CMake.List
-175/200 Test #175: CMake.List ..................................   Passed SEC sec
-        Start 176: CMake.VariableWatch
-176/200 Test #176: CMake.VariableWatch .........................   Passed SEC sec
-        Start 177: CMake.Include
-177/200 Test #177: CMake.Include ...............................   Passed SEC sec
-        Start 178: CMake.FindBase
-178/200 Test #178: CMake.FindBase ..............................   Passed SEC sec
-        Start 179: CMake.Toolchain
-179/200 Test #179: CMake.Toolchain .............................   Passed SEC sec
-        Start 180: CMake.GetFilenameComponentRealpath
-180/200 Test #180: CMake.GetFilenameComponentRealpath ..........   Passed SEC sec
-        Start 181: CMake.Version
-181/200 Test #181: CMake.Version ...............................   Passed SEC sec
-        Start 182: CMake.Message
-182/200 Test #182: CMake.Message ...............................   Passed SEC sec
-        Start 183: CMake.File
-183/200 Test #183: CMake.File ..................................   Passed SEC sec
-        Start 184: CMake.ConfigureFile
-184/200 Test #184: CMake.ConfigureFile .........................   Passed SEC sec
-        Start 185: CMake.SeparateArguments
-185/200 Test #185: CMake.SeparateArguments .....................   Passed SEC sec
-        Start 186: CMake.ImplicitLinkInfo
-186/200 Test #186: CMake.ImplicitLinkInfo ......................   Passed SEC sec
-        Start 187: CMake.ModuleNotices
-187/200 Test #187: CMake.ModuleNotices .........................   Passed SEC sec
-        Start 188: CMake.If
-188/200 Test #188: CMake.If ....................................   Passed SEC sec
-        Start 189: CMake.String
-189/200 Test #189: CMake.String ................................   Passed SEC sec
-        Start 190: CMake.Math
-190/200 Test #190: CMake.Math ..................................   Passed SEC sec
-        Start 191: CMake.CMakeMinimumRequired
-191/200 Test #191: CMake.CMakeMinimumRequired ..................   Passed SEC sec
-        Start 192: CMake.CompilerIdVendor
-192/200 Test #192: CMake.CompilerIdVendor ......................   Passed SEC sec
-        Start 193: CMake.ProcessorCount
-193/200 Test #193: CMake.ProcessorCount ........................   Passed SEC sec
-        Start 194: CMake.PushCheckState
-194/200 Test #194: CMake.PushCheckState ........................   Passed SEC sec
-        Start 195: CMake.FileDownload
-195/200 Test #195: CMake.FileDownload ..........................   Passed SEC sec
-        Start 196: CMake.FileUpload
-196/200 Test #196: CMake.FileUpload ............................   Passed SEC sec
-        Start 197: CMake.ELF
-197/200 Test #197: CMake.ELF ...................................   Passed SEC sec
-        Start 198: CMake.EndStuff
-198/200 Test #198: CMake.EndStuff ..............................   Passed SEC sec
-        Start 199: CMake.GetPrerequisites
-199/200 Test #199: CMake.GetPrerequisites ......................   Passed SEC sec
-        Start 200: CMake.CheckSourceTree
-200/200 Test #200: CMake.CheckSourceTree .......................   Passed SEC sec
+        Start 175: CTestCoverageCollectGCOV
+176/421 Test #175: CTestCoverageCollectGCOV .........................   Passed SEC sec
+        Start 176: CTestTestEmptyBinaryDirectory
+177/421 Test #176: CTestTestEmptyBinaryDirectory ....................   Passed SEC sec
+        Start 177: CTestTestConfigFileInBuildDir1
+178/421 Test #177: CTestTestConfigFileInBuildDir1 ...................   Passed SEC sec
+        Start 178: CTestTestConfigFileInBuildDir2
+179/421 Test #178: CTestTestConfigFileInBuildDir2 ...................   Passed SEC sec
+        Start 179: CTestGTMCoverage
+180/421 Test #179: CTestGTMCoverage .................................   Passed SEC sec
+        Start 180: CTestCacheCoverage
+181/421 Test #180: CTestCacheCoverage ...............................   Passed SEC sec
+        Start 181: CTestPythonCoverage
+182/421 Test #181: CTestPythonCoverage ..............................   Passed SEC sec
+        Start 182: CTestCoberturaCoverage
+183/421 Test #182: CTestCoberturaCoverage ...........................   Passed SEC sec
+        Start 183: CTestJacocoCoverage
+184/421 Test #183: CTestJacocoCoverage ..............................   Passed SEC sec
+        Start 184: CTestJavascriptCoverage
+185/421 Test #184: CTestJavascriptCoverage ..........................   Passed SEC sec
+        Start 185: CTestDelphiCoverage
+186/421 Test #185: CTestDelphiCoverage ..............................   Passed SEC sec
+        Start 186: CTestConfig.Script.Debug
+187/421 Test #186: CTestConfig.Script.Debug .........................   Passed SEC sec
+        Start 187: CTestConfig.Dashboard.Debug
+188/421 Test #187: CTestConfig.Dashboard.Debug ......................   Passed SEC sec
+        Start 188: CTestConfig.Script.MinSizeRel
+189/421 Test #188: CTestConfig.Script.MinSizeRel ....................   Passed SEC sec
+        Start 189: CTestConfig.Dashboard.MinSizeRel
+190/421 Test #189: CTestConfig.Dashboard.MinSizeRel .................   Passed SEC sec
+        Start 190: CTestConfig.Script.Release
+191/421 Test #190: CTestConfig.Script.Release .......................   Passed SEC sec
+        Start 191: CTestConfig.Dashboard.Release
+192/421 Test #191: CTestConfig.Dashboard.Release ....................   Passed SEC sec
+        Start 192: CTestConfig.Script.RelWithDebInfo
+193/421 Test #192: CTestConfig.Script.RelWithDebInfo ................   Passed SEC sec
+        Start 193: CTestConfig.Dashboard.RelWithDebInfo
+194/421 Test #193: CTestConfig.Dashboard.RelWithDebInfo .............   Passed SEC sec
+        Start 194: CTestConfig.ScriptWithArgs
+195/421 Test #194: CTestConfig.ScriptWithArgs .......................   Passed SEC sec
+        Start 195: CMakeCommands.add_compile_options
+196/421 Test #195: CMakeCommands.add_compile_options ................   Passed SEC sec
+        Start 196: CMakeCommands.target_link_libraries
+197/421 Test #196: CMakeCommands.target_link_libraries ..............   Passed SEC sec
+        Start 197: CMakeCommands.target_include_directories
+198/421 Test #197: CMakeCommands.target_include_directories .........   Passed SEC sec
+        Start 198: CMakeCommands.target_compile_definitions
+199/421 Test #198: CMakeCommands.target_compile_definitions .........   Passed SEC sec
+        Start 199: CMakeCommands.target_compile_options
+200/421 Test #199: CMakeCommands.target_compile_options .............   Passed SEC sec
+        Start 200: CTestTestCrash
+201/421 Test #200: CTestTestCrash ...................................   Passed SEC sec
+        Start 201: CTestTestBadExe
+202/421 Test #201: CTestTestBadExe ..................................   Passed SEC sec
+        Start 202: CTestTestBadGenerator
+203/421 Test #202: CTestTestBadGenerator ............................   Passed SEC sec
+        Start 203: CTestTestParallel
+204/421 Test #203: CTestTestParallel ................................   Passed SEC sec
+        Start 204: CTestTestVerboseOutput
+205/421 Test #204: CTestTestVerboseOutput ...........................   Passed SEC sec
+        Start 205: CTestTestSkipReturnCode
+206/421 Test #205: CTestTestSkipReturnCode ..........................   Passed SEC sec
+        Start 206: CTestTestSerialInDepends
+207/421 Test #206: CTestTestSerialInDepends .........................   Passed SEC sec
+        Start 207: CTestTestMissingDependsExe
+208/421 Test #207: CTestTestMissingDependsExe .......................   Passed SEC sec
+        Start 208: CTestTestSerialOrder
+209/421 Test #208: CTestTestSerialOrder .............................   Passed SEC sec
+        Start 209: CTestLimitDashJ
+210/421 Test #209: CTestLimitDashJ ..................................   Passed SEC sec
+        Start 210: CTestTestPrintLabels
+211/421 Test #210: CTestTestPrintLabels .............................   Passed SEC sec
+        Start 211: CTestTestLabelRegExp
+212/421 Test #211: CTestTestLabelRegExp .............................   Passed SEC sec
+        Start 212: CTestTestResourceLock
+213/421 Test #212: CTestTestResourceLock ............................   Passed SEC sec
+        Start 213: CTestTestScheduler
+214/421 Test #213: CTestTestScheduler ...............................   Passed SEC sec
+        Start 214: CTestTestCostSerial
+215/421 Test #214: CTestTestCostSerial ..............................   Passed SEC sec
+        Start 215: CTestTestStopTime
+216/421 Test #215: CTestTestStopTime ................................   Passed SEC sec
+        Start 216: CTestTestSubdir
+217/421 Test #216: CTestTestSubdir ..................................   Passed SEC sec
+        Start 217: CTestTestTimeout
+218/421 Test #217: CTestTestTimeout .................................   Passed SEC sec
+        Start 218: CTestTestRerunFailed
+219/421 Test #218: CTestTestRerunFailed .............................   Passed SEC sec
+        Start 219: CTestTestZeroTimeout
+220/421 Test #219: CTestTestZeroTimeout .............................   Passed SEC sec
+        Start 220: CTestTestDepends
+221/421 Test #220: CTestTestDepends .................................   Passed SEC sec
+        Start 221: CTestTestCycle
+222/421 Test #221: CTestTestCycle ...................................   Passed SEC sec
+        Start 222: CTestTestRunScript
+223/421 Test #222: CTestTestRunScript ...............................   Passed SEC sec
+        Start 223: CTestTestShowOnly
+224/421 Test #223: CTestTestShowOnly ................................   Passed SEC sec
+        Start 224: CTestBatchTest
+225/421 Test #224: CTestBatchTest ...................................   Passed SEC sec
+        Start 225: CTestTestFdSetSize
+226/421 Test #225: CTestTestFdSetSize ...............................   Passed SEC sec
+        Start 227: Fortran
+227/421 Test #227: Fortran ..........................................   Passed SEC sec
+        Start 228: FortranC.Flags
+228/421 Test #228: FortranC.Flags ...................................***Failed SEC sec
+        Start 229: Java
+229/421 Test #229: Java .............................................   Passed SEC sec
+        Start 230: CMakeWizardTest
+230/421 Test #230: CMakeWizardTest ..................................   Passed SEC sec
+        Start 231: CompileCommandOutput
+231/421 Test #231: CompileCommandOutput .............................   Passed SEC sec
+        Start 232: IncludeDirectories
+232/421 Test #232: IncludeDirectories ...............................   Passed SEC sec
+        Start 233: InterfaceLinkLibraries
+233/421 Test #233: InterfaceLinkLibraries ...........................   Passed SEC sec
+        Start 234: CMakeLib.testGeneratedFileStream
+234/421 Test #234: CMakeLib.testGeneratedFileStream .................   Passed SEC sec
+        Start 235: CMakeLib.testRST
+235/421 Test #235: CMakeLib.testRST .................................   Passed SEC sec
+        Start 236: CMakeLib.testSystemTools
+236/421 Test #236: CMakeLib.testSystemTools .........................   Passed SEC sec
+        Start 237: CMakeLib.testUTF8
+237/421 Test #237: CMakeLib.testUTF8 ................................   Passed SEC sec
+        Start 238: CMakeLib.testXMLParser
+238/421 Test #238: CMakeLib.testXMLParser ...........................   Passed SEC sec
+        Start 239: CMakeLib.testXMLSafe
+239/421 Test #239: CMakeLib.testXMLSafe .............................   Passed SEC sec
+        Start 240: CMakeOnly.LinkInterfaceLoop
+240/421 Test #240: CMakeOnly.LinkInterfaceLoop ......................   Passed SEC sec
+        Start 241: CMakeOnly.CheckSymbolExists
+241/421 Test #241: CMakeOnly.CheckSymbolExists ......................   Passed SEC sec
+        Start 242: CMakeOnly.CheckCXXSymbolExists
+242/421 Test #242: CMakeOnly.CheckCXXSymbolExists ...................   Passed SEC sec
+        Start 243: CMakeOnly.CheckCXXCompilerFlag
+243/421 Test #243: CMakeOnly.CheckCXXCompilerFlag ...................   Passed SEC sec
+        Start 244: CMakeOnly.CheckLanguage
+244/421 Test #244: CMakeOnly.CheckLanguage ..........................   Passed SEC sec
+        Start 245: CMakeOnly.CheckStructHasMember
+245/421 Test #245: CMakeOnly.CheckStructHasMember ...................   Passed SEC sec
+        Start 246: CMakeOnly.CompilerIdC
+246/421 Test #246: CMakeOnly.CompilerIdC ............................   Passed SEC sec
+        Start 247: CMakeOnly.CompilerIdCXX
+247/421 Test #247: CMakeOnly.CompilerIdCXX ..........................   Passed SEC sec
+        Start 248: CMakeOnly.CompilerIdFortran
+248/421 Test #248: CMakeOnly.CompilerIdFortran ......................   Passed SEC sec
+        Start 249: CMakeOnly.AllFindModules
+249/421 Test #249: CMakeOnly.AllFindModules .........................   Passed SEC sec
+        Start 250: CMakeOnly.SelectLibraryConfigurations
+250/421 Test #250: CMakeOnly.SelectLibraryConfigurations ............   Passed SEC sec
+        Start 251: CMakeOnly.TargetScope
+251/421 Test #251: CMakeOnly.TargetScope ............................   Passed SEC sec
+        Start 252: CMakeOnly.find_library
+252/421 Test #252: CMakeOnly.find_library ...........................   Passed SEC sec
+        Start 253: CMakeOnly.find_path
+253/421 Test #253: CMakeOnly.find_path ..............................   Passed SEC sec
+        Start 254: CMakeOnly.ProjectInclude
+254/421 Test #254: CMakeOnly.ProjectInclude .........................   Passed SEC sec
+        Start 255: CMakeOnly.MajorVersionSelection-PythonLibs_2
+255/421 Test #255: CMakeOnly.MajorVersionSelection-PythonLibs_2 .....   Passed SEC sec
+        Start 256: CMakeOnly.MajorVersionSelection-PythonLibs_3
+256/421 Test #256: CMakeOnly.MajorVersionSelection-PythonLibs_3 .....   Passed SEC sec
+        Start 257: CMakeOnly.MajorVersionSelection-PythonInterp_2
+257/421 Test #257: CMakeOnly.MajorVersionSelection-PythonInterp_2 ...   Passed SEC sec
+        Start 258: CMakeOnly.MajorVersionSelection-PythonInterp_3
+258/421 Test #258: CMakeOnly.MajorVersionSelection-PythonInterp_3 ...   Passed SEC sec
+        Start 259: CMakeOnly.MajorVersionSelection-Qt_3
+259/421 Test #259: CMakeOnly.MajorVersionSelection-Qt_3 .............   Passed SEC sec
+        Start 260: CMakeOnly.MajorVersionSelection-Qt_4
+260/421 Test #260: CMakeOnly.MajorVersionSelection-Qt_4 .............   Passed SEC sec
+        Start 261: RunCMake.CMP0019
+261/421 Test #261: RunCMake.CMP0019 .................................   Passed SEC sec
+        Start 262: RunCMake.CMP0022
+262/421 Test #262: RunCMake.CMP0022 .................................   Passed SEC sec
+        Start 263: RunCMake.CMP0026
+263/421 Test #263: RunCMake.CMP0026 .................................   Passed SEC sec
+        Start 264: RunCMake.CMP0027
+264/421 Test #264: RunCMake.CMP0027 .................................   Passed SEC sec
+        Start 265: RunCMake.CMP0028
+265/421 Test #265: RunCMake.CMP0028 .................................   Passed SEC sec
+        Start 266: RunCMake.CMP0037
+266/421 Test #266: RunCMake.CMP0037 .................................   Passed SEC sec
+        Start 267: RunCMake.CMP0038
+267/421 Test #267: RunCMake.CMP0038 .................................   Passed SEC sec
+        Start 268: RunCMake.CMP0039
+268/421 Test #268: RunCMake.CMP0039 .................................   Passed SEC sec
+        Start 269: RunCMake.CMP0040
+269/421 Test #269: RunCMake.CMP0040 .................................   Passed SEC sec
+        Start 270: RunCMake.CMP0041
+270/421 Test #270: RunCMake.CMP0041 .................................   Passed SEC sec
+        Start 271: RunCMake.CMP0043
+271/421 Test #271: RunCMake.CMP0043 .................................   Passed SEC sec
+        Start 272: RunCMake.CMP0045
+272/421 Test #272: RunCMake.CMP0045 .................................   Passed SEC sec
+        Start 273: RunCMake.CMP0046
+273/421 Test #273: RunCMake.CMP0046 .................................   Passed SEC sec
+        Start 274: RunCMake.CMP0049
+274/421 Test #274: RunCMake.CMP0049 .................................   Passed SEC sec
+        Start 275: RunCMake.CMP0050
+275/421 Test #275: RunCMake.CMP0050 .................................   Passed SEC sec
+        Start 276: RunCMake.CMP0051
+276/421 Test #276: RunCMake.CMP0051 .................................   Passed SEC sec
+        Start 277: RunCMake.CMP0053
+277/421 Test #277: RunCMake.CMP0053 .................................   Passed SEC sec
+        Start 278: RunCMake.CMP0054
+278/421 Test #278: RunCMake.CMP0054 .................................   Passed SEC sec
+        Start 279: RunCMake.CMP0055
+279/421 Test #279: RunCMake.CMP0055 .................................   Passed SEC sec
+        Start 280: RunCMake.CMP0057
+280/421 Test #280: RunCMake.CMP0057 .................................   Passed SEC sec
+        Start 281: RunCMake.CMP0059
+281/421 Test #281: RunCMake.CMP0059 .................................   Passed SEC sec
+        Start 282: RunCMake.CMP0060
+282/421 Test #282: RunCMake.CMP0060 .................................   Passed SEC sec
+        Start 283: RunCMake.CTest
+283/421 Test #283: RunCMake.CTest ...................................   Passed SEC sec
+        Start 284: RunCMake.ctest_memcheck
+284/421 Test #284: RunCMake.ctest_memcheck ..........................   Passed SEC sec
+        Start 285: RunCMake.CompilerChange
+285/421 Test #285: RunCMake.CompilerChange ..........................   Passed SEC sec
+        Start 286: RunCMake.CompilerNotFound
+286/421 Test #286: RunCMake.CompilerNotFound ........................   Passed SEC sec
+        Start 287: RunCMake.Configure
+287/421 Test #287: RunCMake.Configure ...............................   Passed SEC sec
+        Start 288: RunCMake.DisallowedCommands
+288/421 Test #288: RunCMake.DisallowedCommands ......................   Passed SEC sec
+        Start 289: RunCMake.ExternalData
+289/421 Test #289: RunCMake.ExternalData ............................   Passed SEC sec
+        Start 290: RunCMake.FeatureSummary
+290/421 Test #290: RunCMake.FeatureSummary ..........................   Passed SEC sec
+        Start 291: RunCMake.FPHSA
+291/421 Test #291: RunCMake.FPHSA ...................................   Passed SEC sec
+        Start 292: RunCMake.GeneratorExpression
+292/421 Test #292: RunCMake.GeneratorExpression .....................   Passed SEC sec
+        Start 293: RunCMake.GeneratorPlatform
+293/421 Test #293: RunCMake.GeneratorPlatform .......................   Passed SEC sec
+        Start 294: RunCMake.GeneratorToolset
+294/421 Test #294: RunCMake.GeneratorToolset ........................   Passed SEC sec
+        Start 295: RunCMake.TargetPropertyGeneratorExpressions
+295/421 Test #295: RunCMake.TargetPropertyGeneratorExpressions ......   Passed SEC sec
+        Start 296: RunCMake.Languages
+296/421 Test #296: RunCMake.Languages ...............................   Passed SEC sec
+        Start 297: RunCMake.ObjectLibrary
+297/421 Test #297: RunCMake.ObjectLibrary ...........................   Passed SEC sec
+        Start 298: RunCMake.TargetObjects
+298/421 Test #298: RunCMake.TargetObjects ...........................   Passed SEC sec
+        Start 299: RunCMake.TargetSources
+299/421 Test #299: RunCMake.TargetSources ...........................   Passed SEC sec
+        Start 300: RunCMake.find_dependency
+300/421 Test #300: RunCMake.find_dependency .........................   Passed SEC sec
+        Start 301: RunCMake.CompileFeatures
+301/421 Test #301: RunCMake.CompileFeatures .........................   Passed SEC sec
+        Start 302: RunCMake.WriteCompilerDetectionHeader
+302/421 Test #302: RunCMake.WriteCompilerDetectionHeader ............   Passed SEC sec
+        Start 303: RunCMake.PositionIndependentCode
+303/421 Test #303: RunCMake.PositionIndependentCode .................   Passed SEC sec
+        Start 304: RunCMake.VisibilityPreset
+304/421 Test #304: RunCMake.VisibilityPreset ........................   Passed SEC sec
+        Start 305: RunCMake.CompatibleInterface
+305/421 Test #305: RunCMake.CompatibleInterface .....................   Passed SEC sec
+        Start 306: RunCMake.Syntax
+306/421 Test #306: RunCMake.Syntax ..................................   Passed SEC sec
+        Start 307: RunCMake.add_custom_command
+307/421 Test #307: RunCMake.add_custom_command ......................   Passed SEC sec
+        Start 308: RunCMake.add_custom_target
+308/421 Test #308: RunCMake.add_custom_target .......................   Passed SEC sec
+        Start 309: RunCMake.add_dependencies
+309/421 Test #309: RunCMake.add_dependencies ........................   Passed SEC sec
+        Start 310: RunCMake.add_subdirectory
+310/421 Test #310: RunCMake.add_subdirectory ........................   Passed SEC sec
+        Start 311: RunCMake.build_command
+311/421 Test #311: RunCMake.build_command ...........................   Passed SEC sec
+        Start 312: RunCMake.execute_process
+312/421 Test #312: RunCMake.execute_process .........................   Passed SEC sec
+        Start 313: RunCMake.export
+313/421 Test #313: RunCMake.export ..................................   Passed SEC sec
+        Start 314: RunCMake.cmake_minimum_required
+314/421 Test #314: RunCMake.cmake_minimum_required ..................   Passed SEC sec
+        Start 315: RunCMake.continue
+315/421 Test #315: RunCMake.continue ................................   Passed SEC sec
+        Start 316: RunCMake.ctest_build
+316/421 Test #316: RunCMake.ctest_build .............................   Passed SEC sec
+        Start 317: RunCMake.ctest_configure
+317/421 Test #317: RunCMake.ctest_configure .........................   Passed SEC sec
+        Start 318: RunCMake.ctest_coverage
+318/421 Test #318: RunCMake.ctest_coverage ..........................   Passed SEC sec
+        Start 319: RunCMake.ctest_start
+319/421 Test #319: RunCMake.ctest_start .............................   Passed SEC sec
+        Start 320: RunCMake.ctest_submit
+320/421 Test #320: RunCMake.ctest_submit ............................***Failed SEC sec
+        Start 321: RunCMake.ctest_test
+321/421 Test #321: RunCMake.ctest_test ..............................   Passed SEC sec
+        Start 322: RunCMake.ctest_upload
+322/421 Test #322: RunCMake.ctest_upload ............................   Passed SEC sec
+        Start 323: RunCMake.file
+323/421 Test #323: RunCMake.file ....................................   Passed SEC sec
+        Start 324: RunCMake.find_file
+324/421 Test #324: RunCMake.find_file ...............................   Passed SEC sec
+        Start 325: RunCMake.find_library
+325/421 Test #325: RunCMake.find_library ............................   Passed SEC sec
+        Start 326: RunCMake.find_package
+326/421 Test #326: RunCMake.find_package ............................   Passed SEC sec
+        Start 327: RunCMake.find_path
+327/421 Test #327: RunCMake.find_path ...............................   Passed SEC sec
+        Start 328: RunCMake.get_filename_component
+328/421 Test #328: RunCMake.get_filename_component ..................   Passed SEC sec
+        Start 329: RunCMake.get_property
+329/421 Test #329: RunCMake.get_property ............................   Passed SEC sec
+        Start 330: RunCMake.if
+330/421 Test #330: RunCMake.if ......................................   Passed SEC sec
+        Start 331: RunCMake.include
+331/421 Test #331: RunCMake.include .................................   Passed SEC sec
+        Start 332: RunCMake.include_directories
+332/421 Test #332: RunCMake.include_directories .....................   Passed SEC sec
+        Start 333: RunCMake.list
+333/421 Test #333: RunCMake.list ....................................   Passed SEC sec
+        Start 334: RunCMake.message
+334/421 Test #334: RunCMake.message .................................   Passed SEC sec
+        Start 335: RunCMake.project
+335/421 Test #335: RunCMake.project .................................   Passed SEC sec
+        Start 336: RunCMake.return
+336/421 Test #336: RunCMake.return ..................................   Passed SEC sec
+        Start 337: RunCMake.set_property
+337/421 Test #337: RunCMake.set_property ............................   Passed SEC sec
+        Start 338: RunCMake.string
+338/421 Test #338: RunCMake.string ..................................   Passed SEC sec
+        Start 339: RunCMake.try_compile
+339/421 Test #339: RunCMake.try_compile .............................   Passed SEC sec
+        Start 340: RunCMake.try_run
+340/421 Test #340: RunCMake.try_run .................................   Passed SEC sec
+        Start 341: RunCMake.set
+341/421 Test #341: RunCMake.set .....................................   Passed SEC sec
+        Start 342: RunCMake.variable_watch
+342/421 Test #342: RunCMake.variable_watch ..........................   Passed SEC sec
+        Start 343: RunCMake.CMP0004
+343/421 Test #343: RunCMake.CMP0004 .................................   Passed SEC sec
+        Start 344: RunCMake.TargetPolicies
+344/421 Test #344: RunCMake.TargetPolicies ..........................   Passed SEC sec
+        Start 345: RunCMake.alias_targets
+345/421 Test #345: RunCMake.alias_targets ...........................   Passed SEC sec
+        Start 346: RunCMake.interface_library
+346/421 Test #346: RunCMake.interface_library .......................   Passed SEC sec
+        Start 347: RunCMake.no_install_prefix
+347/421 Test #347: RunCMake.no_install_prefix .......................   Passed SEC sec
+        Start 348: RunCMake.configure_file
+348/421 Test #348: RunCMake.configure_file ..........................   Passed SEC sec
+        Start 349: RunCMake.FindPkgConfig
+349/421 Test #349: RunCMake.FindPkgConfig ...........................   Passed SEC sec
+        Start 350: RunCMake.File_Generate
+350/421 Test #350: RunCMake.File_Generate ...........................   Passed SEC sec
+        Start 351: RunCMake.ExportWithoutLanguage
+351/421 Test #351: RunCMake.ExportWithoutLanguage ...................   Passed SEC sec
+        Start 352: RunCMake.target_link_libraries
+352/421 Test #352: RunCMake.target_link_libraries ...................   Passed SEC sec
+        Start 353: RunCMake.target_compile_features
+353/421 Test #353: RunCMake.target_compile_features .................   Passed SEC sec
+        Start 354: RunCMake.CheckModules
+354/421 Test #354: RunCMake.CheckModules ............................   Passed SEC sec
+        Start 355: RunCMake.CommandLine
+355/421 Test #355: RunCMake.CommandLine .............................   Passed SEC sec
+        Start 356: RunCMake.CommandLineTar
+356/421 Test #356: RunCMake.CommandLineTar ..........................   Passed SEC sec
+        Start 357: RunCMake.install
+357/421 Test #357: RunCMake.install .................................   Passed SEC sec
+        Start 358: RunCMake.CPackInstallProperties
+358/421 Test #358: RunCMake.CPackInstallProperties ..................   Passed SEC sec
+        Start 359: RunCMake.ExternalProject
+359/421 Test #359: RunCMake.ExternalProject .........................   Passed SEC sec
+        Start 360: RunCMake.CTestCommandLine
+360/421 Test #360: RunCMake.CTestCommandLine ........................   Passed SEC sec
+        Start 361: RunCMake.CPackSymlinks
+361/421 Test #361: RunCMake.CPackSymlinks ...........................   Passed SEC sec
+        Start 362: RunCMake.IfacePaths_INCLUDE_DIRECTORIES
+362/421 Test #362: RunCMake.IfacePaths_INCLUDE_DIRECTORIES ..........   Passed SEC sec
+        Start 363: RunCMake.IfacePaths_SOURCES
+363/421 Test #363: RunCMake.IfacePaths_SOURCES ......................   Passed SEC sec
+        Start 364: RunCMake.COMPILE_LANGUAGE-genex
+364/421 Test #364: RunCMake.COMPILE_LANGUAGE-genex ..................   Passed SEC sec
+        Start 365: RunCMake.CrosscompilingEmulator
+365/421 Test #365: RunCMake.CrosscompilingEmulator ..................   Passed SEC sec
+        Start 366: RunCMake.IncludeWhatYouUse
+366/421 Test #366: RunCMake.IncludeWhatYouUse .......................   Passed SEC sec
+        Start 367: FindPackageModeMakefileTest
+367/421 Test #367: FindPackageModeMakefileTest ......................***Failed SEC sec
+        Start 368: GTK2Components.gtk
+368/421 Test #368: GTK2Components.gtk ...............................   Passed SEC sec
+        Start 369: GTK2Components.gtkmm
+369/421 Test #369: GTK2Components.gtkmm .............................***Failed SEC sec
+        Start 370: GTK2Targets.glib
+370/421 Test #370: GTK2Targets.glib .................................   Passed SEC sec
+        Start 371: GTK2Targets.gobject
+371/421 Test #371: GTK2Targets.gobject ..............................   Passed SEC sec
+        Start 372: GTK2Targets.gio
+372/421 Test #372: GTK2Targets.gio ..................................   Passed SEC sec
+        Start 373: GTK2Targets.gmodule
+373/421 Test #373: GTK2Targets.gmodule ..............................   Passed SEC sec
+        Start 374: GTK2Targets.gthread
+374/421 Test #374: GTK2Targets.gthread ..............................   Passed SEC sec
+        Start 375: GTK2Targets.atk
+375/421 Test #375: GTK2Targets.atk ..................................   Passed SEC sec
+        Start 376: GTK2Targets.gdk_pixbuf
+376/421 Test #376: GTK2Targets.gdk_pixbuf ...........................   Passed SEC sec
+        Start 377: GTK2Targets.cairo
+377/421 Test #377: GTK2Targets.cairo ................................   Passed SEC sec
+        Start 378: GTK2Targets.pango
+378/421 Test #378: GTK2Targets.pango ................................   Passed SEC sec
+        Start 379: GTK2Targets.pangocairo
+379/421 Test #379: GTK2Targets.pangocairo ...........................   Passed SEC sec
+        Start 380: GTK2Targets.pangoxft
+380/421 Test #380: GTK2Targets.pangoxft .............................   Passed SEC sec
+        Start 381: GTK2Targets.pangoft2
+381/421 Test #381: GTK2Targets.pangoft2 .............................   Passed SEC sec
+        Start 382: GTK2Targets.gdk
+382/421 Test #382: GTK2Targets.gdk ..................................   Passed SEC sec
+        Start 383: GTK2Targets.gtk
+383/421 Test #383: GTK2Targets.gtk ..................................   Passed SEC sec
+        Start 384: GTK2Targets.sigc++
+384/421 Test #384: GTK2Targets.sigc++ ...............................***Failed SEC sec
+        Start 385: GTK2Targets.glibmm
+385/421 Test #385: GTK2Targets.glibmm ...............................***Failed SEC sec
+        Start 386: GTK2Targets.giomm
+386/421 Test #386: GTK2Targets.giomm ................................***Failed SEC sec
+        Start 387: GTK2Targets.atkmm
+387/421 Test #387: GTK2Targets.atkmm ................................***Failed SEC sec
+        Start 388: GTK2Targets.cairomm
+388/421 Test #388: GTK2Targets.cairomm ..............................***Failed SEC sec
+        Start 389: GTK2Targets.pangomm
+389/421 Test #389: GTK2Targets.pangomm ..............................***Failed SEC sec
+        Start 390: GTK2Targets.gdkmm
+390/421 Test #390: GTK2Targets.gdkmm ................................***Failed SEC sec
+        Start 391: GTK2Targets.gtkmm
+391/421 Test #391: GTK2Targets.gtkmm ................................***Failed SEC sec
+        Start 392: CMake.List
+392/421 Test #392: CMake.List .......................................   Passed SEC sec
+        Start 393: CMake.VariableWatch
+393/421 Test #393: CMake.VariableWatch ..............................   Passed SEC sec
+        Start 394: CMake.Include
+394/421 Test #394: CMake.Include ....................................   Passed SEC sec
+        Start 395: CMake.FindBase
+395/421 Test #395: CMake.FindBase ...................................   Passed SEC sec
+        Start 396: CMake.Toolchain
+396/421 Test #396: CMake.Toolchain ..................................   Passed SEC sec
+        Start 397: CMake.GetFilenameComponentRealpath
+397/421 Test #397: CMake.GetFilenameComponentRealpath ...............   Passed SEC sec
+        Start 398: CMake.Version
+398/421 Test #398: CMake.Version ....................................   Passed SEC sec
+        Start 399: CMake.Message
+399/421 Test #399: CMake.Message ....................................   Passed SEC sec
+        Start 400: CMake.File
+400/421 Test #400: CMake.File .......................................   Passed SEC sec
+        Start 401: CMake.SeparateArguments
+401/421 Test #401: CMake.SeparateArguments ..........................   Passed SEC sec
+        Start 402: CMake.ImplicitLinkInfo
+402/421 Test #402: CMake.ImplicitLinkInfo ...........................   Passed SEC sec
+        Start 403: CMake.ModuleNotices
+403/421 Test #403: CMake.ModuleNotices ..............................   Passed SEC sec
+        Start 404: CMake.GetProperty
+404/421 Test #404: CMake.GetProperty ................................   Passed SEC sec
+        Start 405: CMake.If
+405/421 Test #405: CMake.If .........................................   Passed SEC sec
+        Start 406: CMake.String
+406/421 Test #406: CMake.String .....................................   Passed SEC sec
+        Start 407: CMake.Math
+407/421 Test #407: CMake.Math .......................................   Passed SEC sec
+        Start 408: CMake.CMakeMinimumRequired
+408/421 Test #408: CMake.CMakeMinimumRequired .......................   Passed SEC sec
+        Start 409: CMake.CompilerIdVendor
+409/421 Test #409: CMake.CompilerIdVendor ...........................   Passed SEC sec
+        Start 410: CMake.ProcessorCount
+410/421 Test #410: CMake.ProcessorCount .............................   Passed SEC sec
+        Start 411: CMake.PushCheckState
+411/421 Test #411: CMake.PushCheckState .............................   Passed SEC sec
+        Start 412: CMake.While
+412/421 Test #412: CMake.While ......................................   Passed SEC sec
+        Start 413: CMake.CMakeHostSystemInformation
+413/421 Test #413: CMake.CMakeHostSystemInformation .................   Passed SEC sec
+        Start 414: CMake.FileDownload
+414/421 Test #414: CMake.FileDownload ...............................   Passed SEC sec
+        Start 415: CMake.FileDownloadBadHash
+415/421 Test #415: CMake.FileDownloadBadHash ........................   Passed SEC sec
+        Start 416: CMake.FileUpload
+416/421 Test #416: CMake.FileUpload .................................   Passed SEC sec
+        Start 417: CMake.ELF
+417/421 Test #417: CMake.ELF ........................................   Passed SEC sec
+        Start 418: CMake.EndStuff
+418/421 Test #418: CMake.EndStuff ...................................   Passed SEC sec
+        Start 419: CMake.GetPrerequisites
+419/421 Test #419: CMake.GetPrerequisites ...........................   Passed SEC sec
+        Start 420: CMake.PolicyCheck
+420/421 Test #420: CMake.PolicyCheck ................................   Passed SEC sec
+        Start 421: CMake.CheckSourceTree
+421/421 Test #421: CMake.CheckSourceTree ............................   Passed SEC sec
 
-96% tests passed, 8 tests failed out of 200
+96% tests passed, 15 tests failed out of 421
 
 Label Time Summary:
 Label1    = SEC sec
@@ -416,14 +855,21 @@
 Total Test time (real) = SEC sec
 
 The following tests FAILED:
-	 40 - LoadCommand (Failed)
-	 91 - LoadedCommandOneConfig (Failed)
-	129 - CTest.UpdateSVN (Failed)
-	135 - CTestTestUpload (Failed)
-	162 - CTestTestFailedSubmit-ftp (Failed)
-	163 - CTestTestFailedSubmit-http (Failed)
-	164 - CTestTestFailedSubmit-https (Failed)
-	174 - FindPackageModeMakefileTest (Failed)
+	 48 - LoadCommand (Failed)
+	126 - LoadedCommandOneConfig (Failed)
+	174 - CTestTestUpload (Failed)
+	228 - FortranC.Flags (Failed)
+	320 - RunCMake.ctest_submit (Failed)
+	367 - FindPackageModeMakefileTest (Failed)
+	369 - GTK2Components.gtkmm (Failed)
+	384 - GTK2Targets.sigc++ (Failed)
+	385 - GTK2Targets.glibmm (Failed)
+	386 - GTK2Targets.giomm (Failed)
+	387 - GTK2Targets.atkmm (Failed)
+	388 - GTK2Targets.cairomm (Failed)
+	389 - GTK2Targets.pangomm (Failed)
+	390 - GTK2Targets.gdkmm (Failed)
+	391 - GTK2Targets.gtkmm (Failed)
 Errors while running CTest
 make[1]: *** [test] Error 8
 make[1]: Leaving directory `$(@D)'
--- a/components/gd2/test/results-all.master	Wed Nov 11 12:48:27 2015 -0700
+++ b/components/gd2/test/results-all.master	Wed Nov 11 12:06:59 2015 -0800
@@ -1,27 +1,31 @@
--- The C compiler identification is GNU
--- The CXX compiler identification is GNU
+-- The C compiler identification is GNU 4.8.2
+-- The CXX compiler identification is GNU 4.8.2
 -- Check for working C compiler: /usr/bin/gcc
 -- Check for working C compiler: /usr/bin/gcc -- works
 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
+-- Detecting C compile features
+-- Detecting C compile features - done
 -- Check for working CXX compiler: /usr/bin/c++
 -- Check for working CXX compiler: /usr/bin/c++ -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
+-- Detecting CXX compile features
+-- Detecting CXX compile features - done
 -- ft2build: /usr/include;/usr/local/include
 -- Checking whether system has ANSI C header files
--- Looking for include files StandardHeadersExist
--- Looking for include files StandardHeadersExist - found
+-- Looking for 8 include files dlfcn.h, ..., float.h
+-- Looking for 8 include files dlfcn.h, ..., float.h - found
 -- Performing Test memchrExists
 -- Performing Test memchrExists - Failed
 -- ANSI C header files - not found
--- Looking for include files HAVE_UNISTD_H
--- Looking for include files HAVE_UNISTD_H - found
+-- Looking for include file unistd.h
+-- Looking for include file unistd.h - found
 -- Looking for DIR in sys/stat.h;sys/types.h;dirent.h
 -- Looking for DIR in sys/stat.h;sys/types.h;dirent.h - found
--- Found ZLIB: /usr/lib/libz.so (found version "1.2.8")
+-- Found ZLIB: /usr/lib/libz.so (found version "1.2.8") 
 -- Found PNG: /usr/lib/libpng.so
--- Found JPEG: /usr/lib/libjpeg.so 
+-- Found JPEG: /usr/lib/libjpeg.so  
 -- Found XPM: /usr/lib/libXpm.so
 -- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
 -- Found FONTCONFIG: /usr/lib/libfontconfig.so
@@ -75,298 +79,298 @@
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
 [  1%] Building C object tests/gdtest/CMakeFiles/gdTest.dir/gdtest.o
-Linking C shared library libgdTest.so
+[  2%] Linking C shared library libgdTest.so
 gmake[3]: Leaving directory `$(@D)'
-[  1%] Built target gdTest
+[  2%] Built target gdTest
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gd
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
 [  3%] Building C object CMakeFiles/gd.dir/gd.o
 [  4%] Building C object CMakeFiles/gd.dir/gdfx.o
-[  6%] Building C object CMakeFiles/gd.dir/gd_security.o
-[  8%] Building C object CMakeFiles/gd.dir/gd_gd.o
-[  9%] Building C object CMakeFiles/gd.dir/gd_gd2.o
-[ 11%] Building C object CMakeFiles/gd.dir/gd_io.o
-[ 13%] Building C object CMakeFiles/gd.dir/gd_io_dp.o
-[ 14%] Building C object CMakeFiles/gd.dir/gd_gif_in.o
-[ 16%] Building C object CMakeFiles/gd.dir/gd_gif_out.o
-[ 18%] Building C object CMakeFiles/gd.dir/gd_io_file.o
-[ 19%] Building C object CMakeFiles/gd.dir/gd_io_ss.o
-[ 21%] Building C object CMakeFiles/gd.dir/gd_jpeg.o
-[ 22%] Building C object CMakeFiles/gd.dir/gd_png.o
-[ 24%] Building C object CMakeFiles/gd.dir/gd_ss.o
-[ 26%] Building C object CMakeFiles/gd.dir/gd_topal.o
-[ 27%] Building C object CMakeFiles/gd.dir/gd_wbmp.o
-[ 29%] Building C object CMakeFiles/gd.dir/gdcache.o
-[ 31%] Building C object CMakeFiles/gd.dir/gdfontg.o
-[ 32%] Building C object CMakeFiles/gd.dir/gdfontl.o
-[ 34%] Building C object CMakeFiles/gd.dir/gdfontmb.o
-[ 36%] Building C object CMakeFiles/gd.dir/gdfonts.o
-[ 37%] Building C object CMakeFiles/gd.dir/gdfontt.o
-[ 39%] Building C object CMakeFiles/gd.dir/gdft.o
-[ 40%] Building C object CMakeFiles/gd.dir/gdhelpers.o
-[ 42%] Building C object CMakeFiles/gd.dir/gdkanji.o
-[ 44%] Building C object CMakeFiles/gd.dir/gdtables.o
-[ 45%] Building C object CMakeFiles/gd.dir/gdxpm.o
-[ 47%] Building C object CMakeFiles/gd.dir/wbmp.o
-Linking C shared library libgd.so
+[  5%] Building C object CMakeFiles/gd.dir/gd_security.o
+[  6%] Building C object CMakeFiles/gd.dir/gd_gd.o
+[  7%] Building C object CMakeFiles/gd.dir/gd_gd2.o
+[  8%] Building C object CMakeFiles/gd.dir/gd_io.o
+[  9%] Building C object CMakeFiles/gd.dir/gd_io_dp.o
+[ 10%] Building C object CMakeFiles/gd.dir/gd_gif_in.o
+[ 11%] Building C object CMakeFiles/gd.dir/gd_gif_out.o
+[ 12%] Building C object CMakeFiles/gd.dir/gd_io_file.o
+[ 13%] Building C object CMakeFiles/gd.dir/gd_io_ss.o
+[ 14%] Building C object CMakeFiles/gd.dir/gd_jpeg.o
+[ 15%] Building C object CMakeFiles/gd.dir/gd_png.o
+[ 16%] Building C object CMakeFiles/gd.dir/gd_ss.o
+[ 17%] Building C object CMakeFiles/gd.dir/gd_topal.o
+[ 18%] Building C object CMakeFiles/gd.dir/gd_wbmp.o
+[ 20%] Building C object CMakeFiles/gd.dir/gdcache.o
+[ 21%] Building C object CMakeFiles/gd.dir/gdfontg.o
+[ 22%] Building C object CMakeFiles/gd.dir/gdfontl.o
+[ 23%] Building C object CMakeFiles/gd.dir/gdfontmb.o
+[ 24%] Building C object CMakeFiles/gd.dir/gdfonts.o
+[ 25%] Building C object CMakeFiles/gd.dir/gdfontt.o
+[ 26%] Building C object CMakeFiles/gd.dir/gdft.o
+[ 27%] Building C object CMakeFiles/gd.dir/gdhelpers.o
+[ 28%] Building C object CMakeFiles/gd.dir/gdkanji.o
+[ 29%] Building C object CMakeFiles/gd.dir/gdtables.o
+[ 30%] Building C object CMakeFiles/gd.dir/gdxpm.o
+[ 31%] Building C object CMakeFiles/gd.dir/wbmp.o
+[ 32%] Linking C shared library libgd.so
 gmake[3]: Leaving directory `$(@D)'
-[ 47%] Built target gd
+[ 32%] Built target gd
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00079
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 49%] Building C object tests/gdimagearc/CMakeFiles/bug00079.dir/bug00079.o
-Linking C executable bug00079
+[ 33%] Building C object tests/gdimagearc/CMakeFiles/bug00079.dir/bug00079.o
+[ 34%] Linking C executable bug00079
 gmake[3]: Leaving directory `$(@D)'
-[ 49%] Built target bug00079
+[ 34%] Built target bug00079
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gdimagecolorclosest
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 50%] Building C object tests/gdimagecolorclosest/CMakeFiles/gdimagecolorclosest.dir/gdimagecolorclosest.o
-Linking C executable gdimagecolorclosest
+[ 35%] Building C object tests/gdimagecolorclosest/CMakeFiles/gdimagecolorclosest.dir/gdimagecolorclosest.o
+[ 36%] Linking C executable gdimagecolorclosest
 gmake[3]: Leaving directory `$(@D)'
-[ 50%] Built target gdimagecolorclosest
+[ 36%] Built target gdimagecolorclosest
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gdimagecolorexact
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 52%] Building C object tests/gdimagecolorexact/CMakeFiles/gdimagecolorexact.dir/gdimagecolorexact.o
-Linking C executable gdimagecolorexact
+[ 37%] Building C object tests/gdimagecolorexact/CMakeFiles/gdimagecolorexact.dir/gdimagecolorexact.o
+[ 38%] Linking C executable gdimagecolorexact
 gmake[3]: Leaving directory `$(@D)'
-[ 52%] Built target gdimagecolorexact
+[ 38%] Built target gdimagecolorexact
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gdimagecolorresolve
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 54%] Building C object tests/gdimagecolorresolve/CMakeFiles/gdimagecolorresolve.dir/gdimagecolorresolve.o
-Linking C executable gdimagecolorresolve
+[ 40%] Building C object tests/gdimagecolorresolve/CMakeFiles/gdimagecolorresolve.dir/gdimagecolorresolve.o
+[ 41%] Linking C executable gdimagecolorresolve
 gmake[3]: Leaving directory `$(@D)'
-[ 54%] Built target gdimagecolorresolve
+[ 41%] Built target gdimagecolorresolve
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00072
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 55%] Building C object tests/gdimageline/CMakeFiles/bug00072.dir/bug00072.o
-Linking C executable bug00072
+[ 42%] Building C object tests/gdimageline/CMakeFiles/bug00072.dir/bug00072.o
+[ 43%] Linking C executable bug00072
 gmake[3]: Leaving directory `$(@D)'
-[ 55%] Built target bug00072
+[ 43%] Built target bug00072
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00077
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 57%] Building C object tests/gdimageline/CMakeFiles/bug00077.dir/bug00077.o
-Linking C executable bug00077
+[ 44%] Building C object tests/gdimageline/CMakeFiles/bug00077.dir/bug00077.o
+[ 45%] Linking C executable bug00077
 gmake[3]: Leaving directory `$(@D)'
-[ 57%] Built target bug00077
+[ 45%] Built target bug00077
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gdimageline_aa
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 59%] Building C object tests/gdimageline/CMakeFiles/gdimageline_aa.dir/gdimageline_aa.o
-Linking C executable gdimageline_aa
+[ 46%] Building C object tests/gdimageline/CMakeFiles/gdimageline_aa.dir/gdimageline_aa.o
+[ 47%] Linking C executable gdimageline_aa
 gmake[3]: Leaving directory `$(@D)'
-[ 59%] Built target gdimageline_aa
+[ 47%] Built target gdimageline_aa
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gdimageline_aa_outofrange
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 60%] Building C object tests/gdimageline/CMakeFiles/gdimageline_aa_outofrange.dir/gdimageline_aa_outofrange.o
-Linking C executable gdimageline_aa_outofrange
+[ 48%] Building C object tests/gdimageline/CMakeFiles/gdimageline_aa_outofrange.dir/gdimageline_aa_outofrange.o
+[ 49%] Linking C executable gdimageline_aa_outofrange
 gmake[3]: Leaving directory `$(@D)'
-[ 60%] Built target gdimageline_aa_outofrange
+[ 49%] Built target gdimageline_aa_outofrange
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00010
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 62%] Building C object tests/gdimagefilledellipse/CMakeFiles/bug00010.dir/bug00010.o
-Linking C executable bug00010
+[ 50%] Building C object tests/gdimagefilledellipse/CMakeFiles/bug00010.dir/bug00010.o
+[ 51%] Linking C executable bug00010
 gmake[3]: Leaving directory `$(@D)'
-[ 62%] Built target bug00010
+[ 51%] Built target bug00010
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00020
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 63%] Building C object tests/gdimagecopyrotated/CMakeFiles/bug00020.dir/bug00020.o
-Linking C executable bug00020
+[ 52%] Building C object tests/gdimagecopyrotated/CMakeFiles/bug00020.dir/bug00020.o
+[ 53%] Linking C executable bug00020
 gmake[3]: Leaving directory `$(@D)'
-[ 63%] Built target bug00020
+[ 53%] Built target bug00020
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00032
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 65%] Building C object tests/gdtiled/CMakeFiles/bug00032.dir/bug00032.o
-Linking C executable bug00032
+[ 54%] Building C object tests/gdtiled/CMakeFiles/bug00032.dir/bug00032.o
+[ 55%] Linking C executable bug00032
 gmake[3]: Leaving directory `$(@D)'
-[ 65%] Built target bug00032
+[ 55%] Built target bug00032
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00003
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 67%] Building C object tests/gdimagerectangle/CMakeFiles/bug00003.dir/bug00003.o
-Linking C executable bug00003
+[ 56%] Building C object tests/gdimagerectangle/CMakeFiles/bug00003.dir/bug00003.o
+[ 57%] Linking C executable bug00003
 gmake[3]: Leaving directory `$(@D)'
-[ 67%] Built target bug00003
+[ 57%] Built target bug00003
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00004
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 68%] Building C object tests/gdimagefilledrectangle/CMakeFiles/bug00004.dir/bug00004.o
-Linking C executable bug00004
+[ 58%] Building C object tests/gdimagefilledrectangle/CMakeFiles/bug00004.dir/bug00004.o
+[ 60%] Linking C executable bug00004
 gmake[3]: Leaving directory `$(@D)'
-[ 68%] Built target bug00004
+[ 60%] Built target bug00004
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00078
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 70%] Building C object tests/gdimagefilledrectangle/CMakeFiles/bug00078.dir/bug00078.o
-Linking C executable bug00078
+[ 61%] Building C object tests/gdimagefilledrectangle/CMakeFiles/bug00078.dir/bug00078.o
+[ 62%] Linking C executable bug00078
 gmake[3]: Leaving directory `$(@D)'
-[ 70%] Built target bug00078
+[ 62%] Built target bug00078
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gd2_empty_file
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 72%] Building C object tests/gd2/CMakeFiles/gd2_empty_file.dir/gd2_empty_file.o
-Linking C executable gd2_empty_file
+[ 63%] Building C object tests/gd2/CMakeFiles/gd2_empty_file.dir/gd2_empty_file.o
+[ 64%] Linking C executable gd2_empty_file
 gmake[3]: Leaving directory `$(@D)'
-[ 72%] Built target gd2_empty_file
+[ 64%] Built target gd2_empty_file
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target gd2_read
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 73%] Building C object tests/gd2/CMakeFiles/gd2_read.dir/gd2_read.o
-Linking C executable gd2_read
+[ 65%] Building C object tests/gd2/CMakeFiles/gd2_read.dir/gd2_read.o
+[ 66%] Linking C executable gd2_read
 gmake[3]: Leaving directory `$(@D)'
-[ 73%] Built target gd2_read
+[ 66%] Built target gd2_read
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00005
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 75%] Building C object tests/gif/CMakeFiles/bug00005.dir/bug00005.o
-Linking C executable bug00005
+[ 67%] Building C object tests/gif/CMakeFiles/bug00005.dir/bug00005.o
+[ 68%] Linking C executable bug00005
 gmake[3]: Leaving directory `$(@D)'
-[ 75%] Built target bug00005
+[ 68%] Built target bug00005
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00005_2
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 77%] Building C object tests/gif/CMakeFiles/bug00005_2.dir/bug00005_2.o
-Linking C executable bug00005_2
+[ 69%] Building C object tests/gif/CMakeFiles/bug00005_2.dir/bug00005_2.o
+[ 70%] Linking C executable bug00005_2
 gmake[3]: Leaving directory `$(@D)'
-[ 77%] Built target bug00005_2
+[ 70%] Built target bug00005_2
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00006
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 78%] Building C object tests/gif/CMakeFiles/bug00006.dir/bug00006.o
-Linking C executable bug00006
+[ 71%] Building C object tests/gif/CMakeFiles/bug00006.dir/bug00006.o
+[ 72%] Linking C executable bug00006
 gmake[3]: Leaving directory `$(@D)'
-[ 78%] Built target bug00006
+[ 72%] Built target bug00006
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00060
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 80%] Building C object tests/gif/CMakeFiles/bug00060.dir/bug00060.o
-Linking C executable bug00060
+[ 73%] Building C object tests/gif/CMakeFiles/bug00060.dir/bug00060.o
+[ 74%] Linking C executable bug00060
 gmake[3]: Leaving directory `$(@D)'
-[ 80%] Built target bug00060
+[ 74%] Built target bug00060
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00066
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 81%] Building C object tests/gif/CMakeFiles/bug00066.dir/bug00066.o
-Linking C executable bug00066
+[ 75%] Building C object tests/gif/CMakeFiles/bug00066.dir/bug00066.o
+[ 76%] Linking C executable bug00066
 gmake[3]: Leaving directory `$(@D)'
-[ 81%] Built target bug00066
+[ 76%] Built target bug00066
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target jpeg_empty_file
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 83%] Building C object tests/jpeg/CMakeFiles/jpeg_empty_file.dir/jpeg_empty_file.o
-Linking C executable jpeg_empty_file
+[ 77%] Building C object tests/jpeg/CMakeFiles/jpeg_empty_file.dir/jpeg_empty_file.o
+[ 78%] Linking C executable jpeg_empty_file
 gmake[3]: Leaving directory `$(@D)'
-[ 83%] Built target jpeg_empty_file
+[ 78%] Built target jpeg_empty_file
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target jpeg_read
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 85%] Building C object tests/jpeg/CMakeFiles/jpeg_read.dir/jpeg_read.o
-Linking C executable jpeg_read
+[ 80%] Building C object tests/jpeg/CMakeFiles/jpeg_read.dir/jpeg_read.o
+[ 81%] Linking C executable jpeg_read
 gmake[3]: Leaving directory `$(@D)'
-[ 85%] Built target jpeg_read
+[ 81%] Built target jpeg_read
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00011
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 86%] Building C object tests/png/CMakeFiles/bug00011.dir/bug00011.o
-Linking C executable bug00011
+[ 82%] Building C object tests/png/CMakeFiles/bug00011.dir/bug00011.o
+[ 83%] Linking C executable bug00011
 gmake[3]: Leaving directory `$(@D)'
-[ 86%] Built target bug00011
+[ 83%] Built target bug00011
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00033
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 88%] Building C object tests/png/CMakeFiles/bug00033.dir/bug00033.o
-Linking C executable bug00033
+[ 84%] Building C object tests/png/CMakeFiles/bug00033.dir/bug00033.o
+[ 85%] Linking C executable bug00033
 gmake[3]: Leaving directory `$(@D)'
-[ 88%] Built target bug00033
+[ 85%] Built target bug00033
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00086
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 90%] Building C object tests/png/CMakeFiles/bug00086.dir/bug00086.o
-Linking C executable bug00086
+[ 86%] Building C object tests/png/CMakeFiles/bug00086.dir/bug00086.o
+[ 87%] Linking C executable bug00086
 gmake[3]: Leaving directory `$(@D)'
-[ 90%] Built target bug00086
+[ 87%] Built target bug00086
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00007
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 91%] Building C object tests/gdimagecopy/CMakeFiles/bug00007.dir/bug00007.o
-Linking C executable bug00007
+[ 88%] Building C object tests/gdimagecopy/CMakeFiles/bug00007.dir/bug00007.o
+[ 89%] Linking C executable bug00007
 gmake[3]: Leaving directory `$(@D)'
-[ 91%] Built target bug00007
+[ 89%] Built target bug00007
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00002_1
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 93%] Building C object tests/gdimagefill/CMakeFiles/bug00002_1.dir/bug00002_1.o
-Linking C executable bug00002_1
+[ 90%] Building C object tests/gdimagefill/CMakeFiles/bug00002_1.dir/bug00002_1.o
+[ 91%] Linking C executable bug00002_1
 gmake[3]: Leaving directory `$(@D)'
-[ 93%] Built target bug00002_1
+[ 91%] Built target bug00002_1
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00002_2
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 95%] Building C object tests/gdimagefill/CMakeFiles/bug00002_2.dir/bug00002_2.o
-Linking C executable bug00002_2
+[ 92%] Building C object tests/gdimagefill/CMakeFiles/bug00002_2.dir/bug00002_2.o
+[ 93%] Linking C executable bug00002_2
 gmake[3]: Leaving directory `$(@D)'
-[ 95%] Built target bug00002_2
+[ 93%] Built target bug00002_2
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00002_3
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 96%] Building C object tests/gdimagefill/CMakeFiles/bug00002_3.dir/bug00002_3.o
-Linking C executable bug00002_3
+[ 94%] Building C object tests/gdimagefill/CMakeFiles/bug00002_3.dir/bug00002_3.o
+[ 95%] Linking C executable bug00002_3
 gmake[3]: Leaving directory `$(@D)'
-[ 96%] Built target bug00002_3
+[ 95%] Built target bug00002_3
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00002_4
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[ 98%] Building C object tests/gdimagefill/CMakeFiles/bug00002_4.dir/bug00002_4.o
-Linking C executable bug00002_4
+[ 96%] Building C object tests/gdimagefill/CMakeFiles/bug00002_4.dir/bug00002_4.o
+[ 97%] Linking C executable bug00002_4
 gmake[3]: Leaving directory `$(@D)'
-[ 98%] Built target bug00002_4
+[ 97%] Built target bug00002_4
 gmake[3]: Entering directory `$(@D)'
 Scanning dependencies of target bug00037
 gmake[3]: Leaving directory `$(@D)'
 gmake[3]: Entering directory `$(@D)'
-[100%] Building C object tests/gdimagefilltoborder/CMakeFiles/bug00037.dir/bug00037.o
-Linking C executable bug00037
+[ 98%] Building C object tests/gdimagefilltoborder/CMakeFiles/bug00037.dir/bug00037.o
+[100%] Linking C executable bug00037
 gmake[3]: Leaving directory `$(@D)'
 [100%] Built target bug00037
 gmake[2]: Leaving directory `$(@D)'