blob: 9ddb528720d6fb5b65228f1fd7b1ffe3de7e6a3d [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CMake 3.7 Release Notes &mdash; CMake 3.23.1 Documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/cmake.css" />
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<link rel="shortcut icon" href="../_static/cmake-favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="CMake 3.6 Release Notes" href="3.6.html" />
<link rel="prev" title="CMake 3.8 Release Notes" href="3.8.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="3.6.html" title="CMake 3.6 Release Notes"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="3.8.html" title="CMake 3.8 Release Notes"
accesskey="P">previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.23.1 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">CMake Release Notes</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">CMake 3.7 Release Notes</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="cmake-3-7-release-notes">
<h1><a class="toc-backref" href="#id1">CMake 3.7 Release Notes</a><a class="headerlink" href="#cmake-3-7-release-notes" title="Permalink to this headline"></a></h1>
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#cmake-3-7-release-notes" id="id1">CMake 3.7 Release Notes</a></p>
<ul>
<li><p><a class="reference internal" href="#new-features" id="id2">New Features</a></p>
<ul>
<li><p><a class="reference internal" href="#platforms" id="id3">Platforms</a></p></li>
<li><p><a class="reference internal" href="#generators" id="id4">Generators</a></p></li>
<li><p><a class="reference internal" href="#commands" id="id5">Commands</a></p></li>
<li><p><a class="reference internal" href="#variables" id="id6">Variables</a></p></li>
<li><p><a class="reference internal" href="#properties" id="id7">Properties</a></p></li>
<li><p><a class="reference internal" href="#modules" id="id8">Modules</a></p></li>
<li><p><a class="reference internal" href="#ctest" id="id9">CTest</a></p></li>
<li><p><a class="reference internal" href="#cpack" id="id10">CPack</a></p></li>
<li><p><a class="reference internal" href="#other" id="id11">Other</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deprecated-and-removed-features" id="id12">Deprecated and Removed Features</a></p></li>
<li><p><a class="reference internal" href="#other-changes" id="id13">Other Changes</a></p></li>
</ul>
</li>
</ul>
</div>
<p>Changes made since CMake 3.6 include the following.</p>
<div class="section" id="new-features">
<h2><a class="toc-backref" href="#id2">New Features</a><a class="headerlink" href="#new-features" title="Permalink to this headline"></a></h2>
<div class="section" id="platforms">
<h3><a class="toc-backref" href="#id3">Platforms</a><a class="headerlink" href="#platforms" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>CMake now supports <a class="reference internal" href="../manual/cmake-toolchains.7.html#cross-compiling-for-android"><span class="std std-ref">Cross Compiling for Android</span></a> with simple
toolchain files.</p></li>
<li><p>The Clang compiler is now supported on AIX.</p></li>
</ul>
</div>
<div class="section" id="generators">
<h3><a class="toc-backref" href="#id4">Generators</a><a class="headerlink" href="#generators" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>The <span class="target" id="index-0-generator:Ninja"></span><a class="reference internal" href="../generator/Ninja.html#generator:Ninja" title="Ninja"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Ninja</span></code></a> generator learned to conditionally support
Fortran when using a <code class="docutils literal notranslate"><span class="pre">ninja</span></code> tool that has the necessary features.
See generator documentation for details.</p></li>
<li><p>The <span class="target" id="index-1-generator:Ninja"></span><a class="reference internal" href="../generator/Ninja.html#generator:Ninja" title="Ninja"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Ninja</span></code></a> generator learned to produce phony targets
of the form <code class="docutils literal notranslate"><span class="pre">sub/dir/{test,install,package}</span></code> to drive the build
of a subdirectory installation, test or packaging target.
This is equivalent to <code class="docutils literal notranslate"><span class="pre">cd</span> <span class="pre">sub/dir;</span> <span class="pre">make</span> <span class="pre">{test,install,package}</span></code>
with <a class="reference internal" href="../manual/cmake-generators.7.html#makefile-generators"><span class="std std-ref">Makefile Generators</span></a>.</p></li>
<li><p>The <span class="target" id="index-0-generator:Visual Studio 15 2017"></span><a class="reference internal" href="../generator/Visual%20Studio%2015%202017.html#generator:Visual Studio 15 2017" title="Visual Studio 15 2017"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Visual</span> <span class="pre">Studio</span> <span class="pre">15</span> <span class="pre">2017</span></code></a> generator was added. This is
experimental and based on &quot;Visual Studio 2017 RC&quot; because this version
of VS has not been released.</p></li>
<li><p><a class="reference internal" href="../manual/cmake-generators.7.html#visual-studio-generators"><span class="std std-ref">Visual Studio Generators</span></a> for VS 2010 and above learned to
place <code class="docutils literal notranslate"><span class="pre">.natvis</span></code> source files into VS project files properly.</p></li>
<li><p>The <span class="target" id="index-0-generator:Xcode"></span><a class="reference internal" href="../generator/Xcode.html#generator:Xcode" title="Xcode"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Xcode</span></code></a> generator's rudimentary Swift language support
learned to honor a new <span class="target" id="index-0-variable:CMAKE_Swift_LANGUAGE_VERSION"></span><a class="reference internal" href="../variable/CMAKE_Swift_LANGUAGE_VERSION.html#variable:CMAKE_Swift_LANGUAGE_VERSION" title="CMAKE_Swift_LANGUAGE_VERSION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_Swift_LANGUAGE_VERSION</span></code></a> variable
to tell Xcode what version of Swift is used by the source.</p></li>
<li><p>The <span class="target" id="index-0-generator:CodeLite"></span><a class="reference internal" href="../generator/CodeLite.html#generator:CodeLite" title="CodeLite"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">CodeLite</span></code></a> generator gained a new
<span class="target" id="index-0-variable:CMAKE_CODELITE_USE_TARGETS"></span><a class="reference internal" href="../variable/CMAKE_CODELITE_USE_TARGETS.html#variable:CMAKE_CODELITE_USE_TARGETS" title="CMAKE_CODELITE_USE_TARGETS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_CODELITE_USE_TARGETS</span></code></a> option
to change project creation from projects to targets.</p></li>
</ul>
</div>
<div class="section" id="commands">
<h3><a class="toc-backref" href="#id5">Commands</a><a class="headerlink" href="#commands" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>The <span class="target" id="index-0-command:add_custom_command"></span><a class="reference internal" href="../command/add_custom_command.html#command:add_custom_command" title="add_custom_command"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">add_custom_command()</span></code></a> command gained a new <code class="docutils literal notranslate"><span class="pre">DEPFILE</span></code>
option that works with the <span class="target" id="index-2-generator:Ninja"></span><a class="reference internal" href="../generator/Ninja.html#generator:Ninja" title="Ninja"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Ninja</span></code></a> generator to provide
implicit dependency information to the build tool.</p></li>
<li><p>The <span class="target" id="index-0-command:cmake_parse_arguments"></span><a class="reference internal" href="../command/cmake_parse_arguments.html#command:cmake_parse_arguments" title="cmake_parse_arguments"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">cmake_parse_arguments()</span></code></a> command gained a new <code class="docutils literal notranslate"><span class="pre">PARSE_ARGV</span></code>
mode to read arguments directly from <code class="docutils literal notranslate"><span class="pre">ARGC</span></code> and <code class="docutils literal notranslate"><span class="pre">ARGV#</span></code>
variables inside a <span class="target" id="index-0-command:function"></span><a class="reference internal" href="../command/function.html#command:function" title="function"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">function()</span></code></a> body.</p></li>
<li><p>The <span class="target" id="index-0-command:export"></span><a class="reference internal" href="../command/export.html#command:export" title="export"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">export()</span></code></a> command gained an <code class="docutils literal notranslate"><span class="pre">ANDROID_MK</span></code> option
to generate <code class="docutils literal notranslate"><span class="pre">Android.mk</span></code> files referencing CMake-built
libraries as prebuilts for the Android NDK build system.</p></li>
<li><p>The <span class="target" id="index-0-command:file"></span><a class="reference internal" href="../command/file.html#command:file" title="file"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">file(DOWNLOAD)</span></code></a> and <span class="target" id="index-1-command:file"></span><a class="reference internal" href="../command/file.html#command:file" title="file"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">file(UPLOAD)</span></code></a> commands gained
<code class="docutils literal notranslate"><span class="pre">HTTPHEADER</span> <span class="pre">&lt;HTTP-header&gt;</span></code> and <code class="docutils literal notranslate"><span class="pre">USERPWD</span> <span class="pre">&lt;username&gt;:&lt;password&gt;</span></code> options.</p></li>
<li><p>The <span class="target" id="index-0-command:find_library"></span><a class="reference internal" href="../command/find_library.html#command:find_library" title="find_library"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_library()</span></code></a> and <span class="target" id="index-0-command:find_package"></span><a class="reference internal" href="../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> commands learned
to search in <code class="docutils literal notranslate"><span class="pre">lib32/</span></code> directories when the build targets a 32-bit
architecture. See the <span class="target" id="index-0-prop_gbl:FIND_LIBRARY_USE_LIB32_PATHS"></span><a class="reference internal" href="../prop_gbl/FIND_LIBRARY_USE_LIB32_PATHS.html#prop_gbl:FIND_LIBRARY_USE_LIB32_PATHS" title="FIND_LIBRARY_USE_LIB32_PATHS"><code class="xref cmake cmake-prop_gbl docutils literal notranslate"><span class="pre">FIND_LIBRARY_USE_LIB32_PATHS</span></code></a> global
property.</p></li>
<li><p>The <span class="target" id="index-1-command:find_package"></span><a class="reference internal" href="../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command gained the possibility of
sorting compatible libraries by <code class="docutils literal notranslate"><span class="pre">NAME</span></code> or by <code class="docutils literal notranslate"><span class="pre">NATURAL</span></code> sorting by
setting the two new variables <span class="target" id="index-0-variable:CMAKE_FIND_PACKAGE_SORT_ORDER"></span><a class="reference internal" href="../variable/CMAKE_FIND_PACKAGE_SORT_ORDER.html#variable:CMAKE_FIND_PACKAGE_SORT_ORDER" title="CMAKE_FIND_PACKAGE_SORT_ORDER"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_FIND_PACKAGE_SORT_ORDER</span></code></a>
and <span class="target" id="index-0-variable:CMAKE_FIND_PACKAGE_SORT_DIRECTION"></span><a class="reference internal" href="../variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.html#variable:CMAKE_FIND_PACKAGE_SORT_DIRECTION" title="CMAKE_FIND_PACKAGE_SORT_DIRECTION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_FIND_PACKAGE_SORT_DIRECTION</span></code></a>.</p></li>
<li><p>The <span class="target" id="index-0-command:if"></span><a class="reference internal" href="../command/if.html#command:if" title="if"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">if()</span></code></a> command gained new boolean comparison operations
<code class="docutils literal notranslate"><span class="pre">LESS_EQUAL</span></code>, <code class="docutils literal notranslate"><span class="pre">GREATER_EQUAL</span></code>, <code class="docutils literal notranslate"><span class="pre">STRLESS_EQUAL</span></code>, <code class="docutils literal notranslate"><span class="pre">STRGREATER_EQUAL</span></code>,
<code class="docutils literal notranslate"><span class="pre">VERSION_LESS_EQUAL</span></code>, and <code class="docutils literal notranslate"><span class="pre">VERSION_GREATER_EQUAL</span></code>.</p></li>
<li><p>The <span class="target" id="index-0-command:install"></span><a class="reference internal" href="../command/install.html#command:install" title="install"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">install()</span></code></a> command gained an <code class="docutils literal notranslate"><span class="pre">EXPORT_ANDROID_MK</span></code>
subcommand to install <code class="docutils literal notranslate"><span class="pre">Android.mk</span></code> files referencing installed
libraries as prebuilts for the Android NDK build system.</p></li>
<li><p>The <span class="target" id="index-0-command:string"></span><a class="reference internal" href="../command/string.html#command:string" title="string"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">string(TIMESTAMP)</span></code></a> and <span class="target" id="index-2-command:file"></span><a class="reference internal" href="../command/file.html#command:file" title="file"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">file(TIMESTAMP)</span></code></a>
commands gained support for the <code class="docutils literal notranslate"><span class="pre">%a</span></code> and <code class="docutils literal notranslate"><span class="pre">%b</span></code> placeholders.
These are the abbreviated weekday and month names.</p></li>
<li><p>The <span class="target" id="index-0-command:try_compile"></span><a class="reference internal" href="../command/try_compile.html#command:try_compile" title="try_compile"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">try_compile()</span></code></a> command source file signature now honors
configuration-specific flags (e.g. <span class="target" id="index-0-variable:CMAKE_&lt;LANG&gt;_FLAGS_DEBUG"></span><a class="reference internal" href="../variable/CMAKE_LANG_FLAGS_DEBUG.html#variable:CMAKE_&lt;LANG&gt;_FLAGS_DEBUG" title="CMAKE_&lt;LANG&gt;_FLAGS_DEBUG"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_&lt;LANG&gt;_FLAGS_DEBUG</span></code></a>)
in the generated test project. Previously only the default such flags
for the current toolchain were used. See policy <span class="target" id="index-0-policy:CMP0066"></span><a class="reference internal" href="../policy/CMP0066.html#policy:CMP0066" title="CMP0066"><code class="xref cmake cmake-policy docutils literal notranslate"><span class="pre">CMP0066</span></code></a>.</p></li>
</ul>
</div>
<div class="section" id="variables">
<h3><a class="toc-backref" href="#id6">Variables</a><a class="headerlink" href="#variables" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>Variable <span class="target" id="index-1-variable:CMAKE_FIND_PACKAGE_SORT_ORDER"></span><a class="reference internal" href="../variable/CMAKE_FIND_PACKAGE_SORT_ORDER.html#variable:CMAKE_FIND_PACKAGE_SORT_ORDER" title="CMAKE_FIND_PACKAGE_SORT_ORDER"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_FIND_PACKAGE_SORT_ORDER</span></code></a> was added to control
the sorting mode of the <span class="target" id="index-2-command:find_package"></span><a class="reference internal" href="../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command.</p></li>
<li><p>Variable <span class="target" id="index-1-variable:CMAKE_FIND_PACKAGE_SORT_DIRECTION"></span><a class="reference internal" href="../variable/CMAKE_FIND_PACKAGE_SORT_DIRECTION.html#variable:CMAKE_FIND_PACKAGE_SORT_DIRECTION" title="CMAKE_FIND_PACKAGE_SORT_DIRECTION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_FIND_PACKAGE_SORT_DIRECTION</span></code></a> was added to control
the sorting direction the <span class="target" id="index-3-command:find_package"></span><a class="reference internal" href="../command/find_package.html#command:find_package" title="find_package"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_package()</span></code></a> command.</p></li>
<li><p><span class="target" id="index-0-variable:CMAKE_TOOLCHAIN_FILE"></span><a class="reference internal" href="../variable/CMAKE_TOOLCHAIN_FILE.html#variable:CMAKE_TOOLCHAIN_FILE" title="CMAKE_TOOLCHAIN_FILE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">Toolchain</span> <span class="pre">files</span></code></a> may now set a
<span class="target" id="index-0-variable:CMAKE_&lt;LANG&gt;_FLAGS_INIT"></span><a class="reference internal" href="../variable/CMAKE_LANG_FLAGS_INIT.html#variable:CMAKE_&lt;LANG&gt;_FLAGS_INIT" title="CMAKE_&lt;LANG&gt;_FLAGS_INIT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_&lt;LANG&gt;_FLAGS_INIT</span></code></a> variable to initialize the
<span class="target" id="index-0-variable:CMAKE_&lt;LANG&gt;_FLAGS"></span><a class="reference internal" href="../variable/CMAKE_LANG_FLAGS.html#variable:CMAKE_&lt;LANG&gt;_FLAGS" title="CMAKE_&lt;LANG&gt;_FLAGS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_&lt;LANG&gt;_FLAGS</span></code></a> cache entry the first time a language is
enabled in a build tree.</p></li>
<li><p><span class="target" id="index-1-variable:CMAKE_TOOLCHAIN_FILE"></span><a class="reference internal" href="../variable/CMAKE_TOOLCHAIN_FILE.html#variable:CMAKE_TOOLCHAIN_FILE" title="CMAKE_TOOLCHAIN_FILE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">Toolchain</span> <span class="pre">files</span></code></a> may now set
<span class="target" id="index-0-variable:CMAKE_EXE_LINKER_FLAGS_INIT"></span><a class="reference internal" href="../variable/CMAKE_EXE_LINKER_FLAGS_INIT.html#variable:CMAKE_EXE_LINKER_FLAGS_INIT" title="CMAKE_EXE_LINKER_FLAGS_INIT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_EXE_LINKER_FLAGS_INIT</span></code></a>,
<span class="target" id="index-0-variable:CMAKE_SHARED_LINKER_FLAGS_INIT"></span><a class="reference internal" href="../variable/CMAKE_SHARED_LINKER_FLAGS_INIT.html#variable:CMAKE_SHARED_LINKER_FLAGS_INIT" title="CMAKE_SHARED_LINKER_FLAGS_INIT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_SHARED_LINKER_FLAGS_INIT</span></code></a>, and
<span class="target" id="index-0-variable:CMAKE_MODULE_LINKER_FLAGS_INIT"></span><a class="reference internal" href="../variable/CMAKE_MODULE_LINKER_FLAGS_INIT.html#variable:CMAKE_MODULE_LINKER_FLAGS_INIT" title="CMAKE_MODULE_LINKER_FLAGS_INIT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_MODULE_LINKER_FLAGS_INIT</span></code></a> variables to initialize the
<span class="target" id="index-0-variable:CMAKE_EXE_LINKER_FLAGS"></span><a class="reference internal" href="../variable/CMAKE_EXE_LINKER_FLAGS.html#variable:CMAKE_EXE_LINKER_FLAGS" title="CMAKE_EXE_LINKER_FLAGS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_EXE_LINKER_FLAGS</span></code></a>,
<span class="target" id="index-0-variable:CMAKE_SHARED_LINKER_FLAGS"></span><a class="reference internal" href="../variable/CMAKE_SHARED_LINKER_FLAGS.html#variable:CMAKE_SHARED_LINKER_FLAGS" title="CMAKE_SHARED_LINKER_FLAGS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_SHARED_LINKER_FLAGS</span></code></a>, and
<span class="target" id="index-0-variable:CMAKE_MODULE_LINKER_FLAGS"></span><a class="reference internal" href="../variable/CMAKE_MODULE_LINKER_FLAGS.html#variable:CMAKE_MODULE_LINKER_FLAGS" title="CMAKE_MODULE_LINKER_FLAGS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_MODULE_LINKER_FLAGS</span></code></a> cache entries the first time
a language is enabled in a build tree.</p></li>
</ul>
</div>
<div class="section" id="properties">
<h3><a class="toc-backref" href="#id7">Properties</a><a class="headerlink" href="#properties" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>On Apple platforms the <span class="target" id="index-0-prop_tgt:BUNDLE_EXTENSION"></span><a class="reference internal" href="../prop_tgt/BUNDLE_EXTENSION.html#prop_tgt:BUNDLE_EXTENSION" title="BUNDLE_EXTENSION"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">BUNDLE_EXTENSION</span></code></a> target property
now also applies to Frameworks and App Bundles.</p></li>
<li><p>A <span class="target" id="index-0-prop_dir:BINARY_DIR"></span><a class="reference internal" href="../prop_dir/BINARY_DIR.html#prop_dir:BINARY_DIR" title="BINARY_DIR"><code class="xref cmake cmake-prop_dir docutils literal notranslate"><span class="pre">BINARY_DIR</span></code></a> directory property was added to get the
absolute path to the binary directory corresponding to the source
directory on which the property is read.</p></li>
<li><p>A <span class="target" id="index-0-prop_dir:BUILDSYSTEM_TARGETS"></span><a class="reference internal" href="../prop_dir/BUILDSYSTEM_TARGETS.html#prop_dir:BUILDSYSTEM_TARGETS" title="BUILDSYSTEM_TARGETS"><code class="xref cmake cmake-prop_dir docutils literal notranslate"><span class="pre">BUILDSYSTEM_TARGETS</span></code></a> directory property was added to
get the list of logical buildsystem target names added by the
project in a directory.</p></li>
<li><p>A <span class="target" id="index-0-prop_tgt:LINK_WHAT_YOU_USE"></span><a class="reference internal" href="../prop_tgt/LINK_WHAT_YOU_USE.html#prop_tgt:LINK_WHAT_YOU_USE" title="LINK_WHAT_YOU_USE"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">LINK_WHAT_YOU_USE</span></code></a> target property and supporting
<span class="target" id="index-0-variable:CMAKE_LINK_WHAT_YOU_USE"></span><a class="reference internal" href="../variable/CMAKE_LINK_WHAT_YOU_USE.html#variable:CMAKE_LINK_WHAT_YOU_USE" title="CMAKE_LINK_WHAT_YOU_USE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_LINK_WHAT_YOU_USE</span></code></a> variable were introduced
to detect (on UNIX) shared libraries that are linked but not
needed by running <code class="docutils literal notranslate"><span class="pre">ldd</span> <span class="pre">-r</span> <span class="pre">-u</span></code>.</p></li>
<li><p>A <span class="target" id="index-0-prop_dir:SOURCE_DIR"></span><a class="reference internal" href="../prop_dir/SOURCE_DIR.html#prop_dir:SOURCE_DIR" title="SOURCE_DIR"><code class="xref cmake cmake-prop_dir docutils literal notranslate"><span class="pre">SOURCE_DIR</span></code></a> directory property was added to get the
absolute path to the source directory associated with a directory.</p></li>
<li><p>A <span class="target" id="index-0-prop_dir:SUBDIRECTORIES"></span><a class="reference internal" href="../prop_dir/SUBDIRECTORIES.html#prop_dir:SUBDIRECTORIES" title="SUBDIRECTORIES"><code class="xref cmake cmake-prop_dir docutils literal notranslate"><span class="pre">SUBDIRECTORIES</span></code></a> directory property was added to
get the list of subdirectories added by a project in a directory.</p></li>
<li><p>A <span class="target" id="index-0-prop_tgt:VS_SDK_REFERENCES"></span><a class="reference internal" href="../prop_tgt/VS_SDK_REFERENCES.html#prop_tgt:VS_SDK_REFERENCES" title="VS_SDK_REFERENCES"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">VS_SDK_REFERENCES</span></code></a> target property was added to tell
<a class="reference internal" href="../manual/cmake-generators.7.html#visual-studio-generators"><span class="std std-ref">Visual Studio Generators</span></a> to reference the named SDKs.</p></li>
<li><p>A <span class="target" id="index-0-prop_sf:VS_TOOL_OVERRIDE"></span><a class="reference internal" href="../prop_sf/VS_TOOL_OVERRIDE.html#prop_sf:VS_TOOL_OVERRIDE" title="VS_TOOL_OVERRIDE"><code class="xref cmake cmake-prop_sf docutils literal notranslate"><span class="pre">VS_TOOL_OVERRIDE</span></code></a> source file property was created to tell
<a class="reference internal" href="../manual/cmake-generators.7.html#visual-studio-generators"><span class="std std-ref">Visual Studio Generators</span></a> what tool to use for a source file.</p></li>
<li><p>The <span class="target" id="index-0-prop_tgt:WINDOWS_EXPORT_ALL_SYMBOLS"></span><a class="reference internal" href="../prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html#prop_tgt:WINDOWS_EXPORT_ALL_SYMBOLS" title="WINDOWS_EXPORT_ALL_SYMBOLS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">WINDOWS_EXPORT_ALL_SYMBOLS</span></code></a> target property now applies
to executable targets with the <span class="target" id="index-0-prop_tgt:ENABLE_EXPORTS"></span><a class="reference internal" href="../prop_tgt/ENABLE_EXPORTS.html#prop_tgt:ENABLE_EXPORTS" title="ENABLE_EXPORTS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">ENABLE_EXPORTS</span></code></a> property set.</p></li>
<li><p>A <span class="target" id="index-0-prop_sf:XCODE_FILE_ATTRIBUTES"></span><a class="reference internal" href="../prop_sf/XCODE_FILE_ATTRIBUTES.html#prop_sf:XCODE_FILE_ATTRIBUTES" title="XCODE_FILE_ATTRIBUTES"><code class="xref cmake cmake-prop_sf docutils literal notranslate"><span class="pre">XCODE_FILE_ATTRIBUTES</span></code></a> source file property was
added to tell the <span class="target" id="index-1-generator:Xcode"></span><a class="reference internal" href="../generator/Xcode.html#generator:Xcode" title="Xcode"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Xcode</span></code></a> generator to generate
custom content in the Xcode project attributes for the file.</p></li>
</ul>
</div>
<div class="section" id="modules">
<h3><a class="toc-backref" href="#id8">Modules</a><a class="headerlink" href="#modules" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>An <span class="target" id="index-0-module:AndroidTestUtilities"></span><a class="reference internal" href="../module/AndroidTestUtilities.html#module:AndroidTestUtilities" title="AndroidTestUtilities"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">AndroidTestUtilities</span></code></a> module was added to manage transfer
of test data to an Android device.</p></li>
<li><p>The <span class="target" id="index-0-module:CheckFortranSourceCompiles"></span><a class="reference internal" href="../module/CheckFortranSourceCompiles.html#module:CheckFortranSourceCompiles" title="CheckFortranSourceCompiles"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">CheckFortranSourceCompiles</span></code></a> module macro
<code class="docutils literal notranslate"><span class="pre">CHECK_Fortran_SOURCE_COMPILES</span></code> gained a <code class="docutils literal notranslate"><span class="pre">SRC_EXT</span></code> option
to specify a custom test Fortran source file extension.</p></li>
<li><p>The <span class="target" id="index-0-module:ExternalProject"></span><a class="reference internal" href="../module/ExternalProject.html#module:ExternalProject" title="ExternalProject"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">ExternalProject</span></code></a> module gained <code class="docutils literal notranslate"><span class="pre">HTTP_USERNAME</span></code> and
<code class="docutils literal notranslate"><span class="pre">HTTP_PASSWORD</span></code> options to set http download credentials.</p></li>
<li><p>The <span class="target" id="index-1-module:ExternalProject"></span><a class="reference internal" href="../module/ExternalProject.html#module:ExternalProject" title="ExternalProject"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">ExternalProject</span></code></a> module gained a <code class="docutils literal notranslate"><span class="pre">HTTP_HEADER</span></code>
option to add http download headers.</p></li>
<li><p>The <span class="target" id="index-0-module:FindBISON"></span><a class="reference internal" href="../module/FindBISON.html#module:FindBISON" title="FindBISON"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindBISON</span></code></a> module <code class="docutils literal notranslate"><span class="pre">BISON_TARGET</span></code> macro learned a new
<code class="docutils literal notranslate"><span class="pre">REPORT_FILE</span></code> option to specify the bison <code class="docutils literal notranslate"><span class="pre">--report-file=</span></code> option.</p></li>
<li><p>The <span class="target" id="index-0-module:FindBZip2"></span><a class="reference internal" href="../module/FindBZip2.html#module:FindBZip2" title="FindBZip2"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindBZip2</span></code></a> module now provides imported targets.</p></li>
<li><p>A <span class="target" id="index-0-module:FindICU"></span><a class="reference internal" href="../module/FindICU.html#module:FindICU" title="FindICU"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindICU</span></code></a> module was introduced to find the International
Components for Unicode (ICU) libraries and programs.</p></li>
<li><p>The <span class="target" id="index-0-module:FindMatlab"></span><a class="reference internal" href="../module/FindMatlab.html#module:FindMatlab" title="FindMatlab"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindMatlab</span></code></a> module learned to find the SIMULINK and MAT
components.</p></li>
<li><p>The <span class="target" id="index-1-module:FindMatlab"></span><a class="reference internal" href="../module/FindMatlab.html#module:FindMatlab" title="FindMatlab"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindMatlab</span></code></a> module <span class="target" id="index-0-command:matlab_add_mex"></span><a class="reference internal" href="../module/FindMatlab.html#command:matlab_add_mex" title="matlab_add_mex"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">matlab_add_mex()</span></code></a> command learned
to add executables and modules.</p></li>
<li><p>The <span class="target" id="index-2-module:FindMatlab"></span><a class="reference internal" href="../module/FindMatlab.html#module:FindMatlab" title="FindMatlab"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindMatlab</span></code></a> module <span class="target" id="index-0-command:matlab_add_unit_test"></span><a class="reference internal" href="../module/FindMatlab.html#command:matlab_add_unit_test" title="matlab_add_unit_test"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">matlab_add_unit_test()</span></code></a> command
learned to support inline Matlab test code.</p></li>
<li><p>The <span class="target" id="index-0-module:FindOpenCL"></span><a class="reference internal" href="../module/FindOpenCL.html#module:FindOpenCL" title="FindOpenCL"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindOpenCL</span></code></a> module now provides imported targets.</p></li>
<li><p>The <span class="target" id="index-0-module:FindOpenMP"></span><a class="reference internal" href="../module/FindOpenMP.html#module:FindOpenMP" title="FindOpenMP"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindOpenMP</span></code></a> module learned to detect the OpenMP
version (specification date) from the compiler.</p></li>
<li><p>A <span class="target" id="index-0-module:FindVulkan"></span><a class="reference internal" href="../module/FindVulkan.html#module:FindVulkan" title="FindVulkan"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindVulkan</span></code></a> module was added.</p></li>
<li><p>The <span class="target" id="index-0-module:GenerateExportHeader"></span><a class="reference internal" href="../module/GenerateExportHeader.html#module:GenerateExportHeader" title="GenerateExportHeader"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">GenerateExportHeader</span></code></a> module learned a new
<code class="docutils literal notranslate"><span class="pre">CUSTOM_CONTENT_FROM_VARIABLE</span></code> option to specify a variable
containing custom content for inclusion in the generated header.</p></li>
<li><p>The <span class="target" id="index-0-module:GNUInstallDirs"></span><a class="reference internal" href="../module/GNUInstallDirs.html#module:GNUInstallDirs" title="GNUInstallDirs"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">GNUInstallDirs</span></code></a> module gained a new
<span class="target" id="index-0-command:gnuinstalldirs_get_absolute_install_dir"></span><a class="reference internal" href="../module/GNUInstallDirs.html#command:gnuinstalldirs_get_absolute_install_dir" title="gnuinstalldirs_get_absolute_install_dir"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">GNUInstallDirs_get_absolute_install_dir()</span></code></a> command.</p></li>
<li><p>The <span class="target" id="index-0-module:UseJava"></span><a class="reference internal" href="../module/UseJava.html#module:UseJava" title="UseJava"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">UseJava</span></code></a> module gained APIs to &quot;export&quot; jar targets
for use by external CMake projects. See the <code class="docutils literal notranslate"><span class="pre">install_jar_exports</span></code>
and <code class="docutils literal notranslate"><span class="pre">export_jars</span></code> functions.</p></li>
</ul>
</div>
<div class="section" id="ctest">
<h3><a class="toc-backref" href="#id9">CTest</a><a class="headerlink" href="#ctest" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>CTest now supports test fixtures through the new <span class="target" id="index-0-prop_test:FIXTURES_SETUP"></span><a class="reference internal" href="../prop_test/FIXTURES_SETUP.html#prop_test:FIXTURES_SETUP" title="FIXTURES_SETUP"><code class="xref cmake cmake-prop_test docutils literal notranslate"><span class="pre">FIXTURES_SETUP</span></code></a>,
<span class="target" id="index-0-prop_test:FIXTURES_CLEANUP"></span><a class="reference internal" href="../prop_test/FIXTURES_CLEANUP.html#prop_test:FIXTURES_CLEANUP" title="FIXTURES_CLEANUP"><code class="xref cmake cmake-prop_test docutils literal notranslate"><span class="pre">FIXTURES_CLEANUP</span></code></a> and <span class="target" id="index-0-prop_test:FIXTURES_REQUIRED"></span><a class="reference internal" href="../prop_test/FIXTURES_REQUIRED.html#prop_test:FIXTURES_REQUIRED" title="FIXTURES_REQUIRED"><code class="xref cmake cmake-prop_test docutils literal notranslate"><span class="pre">FIXTURES_REQUIRED</span></code></a> test
properties. When using regular expressions or <code class="docutils literal notranslate"><span class="pre">--rerun-failed</span></code> to limit
the tests to be run, a fixture's setup and cleanup tests will automatically
be added to the execution set if any test requires that fixture.</p></li>
<li><p>The <span class="target" id="index-0-command:ctest_configure"></span><a class="reference internal" href="../command/ctest_configure.html#command:ctest_configure" title="ctest_configure"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ctest_configure()</span></code></a>, <span class="target" id="index-0-command:ctest_build"></span><a class="reference internal" href="../command/ctest_build.html#command:ctest_build" title="ctest_build"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ctest_build()</span></code></a>,
<span class="target" id="index-0-command:ctest_test"></span><a class="reference internal" href="../command/ctest_test.html#command:ctest_test" title="ctest_test"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ctest_test()</span></code></a>, <span class="target" id="index-0-command:ctest_coverage"></span><a class="reference internal" href="../command/ctest_coverage.html#command:ctest_coverage" title="ctest_coverage"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ctest_coverage()</span></code></a>, and <span class="target" id="index-0-command:ctest_upload"></span><a class="reference internal" href="../command/ctest_upload.html#command:ctest_upload" title="ctest_upload"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ctest_upload()</span></code></a>
commands gained a new <code class="docutils literal notranslate"><span class="pre">CAPTURE_CMAKE_ERROR</span></code> option to capture any errors
that occur as the commands run into a variable and avoid affecting the return
code of the <span class="target" id="index-0-manual:ctest(1)"></span><a class="reference internal" href="../manual/ctest.1.html#manual:ctest(1)" title="ctest(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">ctest(1)</span></code></a> process.</p></li>
</ul>
</div>
<div class="section" id="cpack">
<h3><a class="toc-backref" href="#id10">CPack</a><a class="headerlink" href="#cpack" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>CPack gained a <span class="target" id="index-0-cpack_gen:CPack productbuild Generator"></span><a class="reference internal" href="../cpack_gen/productbuild.html#cpack_gen:CPack productbuild Generator" title="CPack productbuild Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">productbuild</span> <span class="pre">Generator</span></code></a> on OS X.</p></li>
<li><p>CPack gained a new <span class="target" id="index-0-variable:CPACK_PACKAGE_CHECKSUM"></span><a class="reference internal" href="../module/CPack.html#variable:CPACK_PACKAGE_CHECKSUM" title="CPACK_PACKAGE_CHECKSUM"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PACKAGE_CHECKSUM</span></code></a> variable to
enable generation of a checksum file for each package file.</p></li>
<li><p>The <span class="target" id="index-0-cpack_gen:CPack DEB Generator"></span><a class="reference internal" href="../cpack_gen/deb.html#cpack_gen:CPack DEB Generator" title="CPack DEB Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">DEB</span> <span class="pre">Generator</span></code></a> learned to support long file names
when archive format is set to GNU tar.
See <span class="target" id="index-0-variable:CPACK_DEBIAN_ARCHIVE_TYPE"></span><a class="reference internal" href="../cpack_gen/deb.html#variable:CPACK_DEBIAN_ARCHIVE_TYPE" title="CPACK_DEBIAN_ARCHIVE_TYPE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_DEBIAN_ARCHIVE_TYPE</span></code></a></p></li>
<li><p>The <span class="target" id="index-0-module:CPackIFW"></span><a class="reference internal" href="../module/CPackIFW.html#module:CPackIFW" title="CPackIFW"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">CPackIFW</span></code></a> module gained a new
<span class="target" id="index-0-command:cpack_ifw_add_package_resources"></span><a class="reference internal" href="../module/CPackIFW.html#command:cpack_ifw_add_package_resources" title="cpack_ifw_add_package_resources"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">cpack_ifw_add_package_resources()</span></code></a> command to include additional
resources in the installer binary.</p></li>
<li><p>The <span class="target" id="index-1-module:CPackIFW"></span><a class="reference internal" href="../module/CPackIFW.html#module:CPackIFW" title="CPackIFW"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">CPackIFW</span></code></a> module <span class="target" id="index-0-command:cpack_ifw_configure_component"></span><a class="reference internal" href="../module/CPackIFW.html#command:cpack_ifw_configure_component" title="cpack_ifw_configure_component"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">cpack_ifw_configure_component()</span></code></a> and
<span class="target" id="index-0-command:cpack_ifw_configure_component_group"></span><a class="reference internal" href="../module/CPackIFW.html#command:cpack_ifw_configure_component_group" title="cpack_ifw_configure_component_group"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">cpack_ifw_configure_component_group()</span></code></a> commands gained a new
<code class="docutils literal notranslate"><span class="pre">USER_INTERFACES</span></code> option to add a list of additional pages to the IFW
installer.</p></li>
<li><p>The <span class="target" id="index-0-cpack_gen:CPack RPM Generator"></span><a class="reference internal" href="../cpack_gen/rpm.html#cpack_gen:CPack RPM Generator" title="CPack RPM Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">RPM</span> <span class="pre">Generator</span></code></a> learned to generate debuginfo
packages on demand. See <span class="target" id="index-0-variable:CPACK_RPM_DEBUGINFO_PACKAGE"></span><a class="reference internal" href="../cpack_gen/rpm.html#variable:CPACK_RPM_DEBUGINFO_PACKAGE" title="CPACK_RPM_DEBUGINFO_PACKAGE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_RPM_DEBUGINFO_PACKAGE</span></code></a>
and its per component version.</p></li>
<li><p>The <span class="target" id="index-1-cpack_gen:CPack RPM Generator"></span><a class="reference internal" href="../cpack_gen/rpm.html#cpack_gen:CPack RPM Generator" title="CPack RPM Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">RPM</span> <span class="pre">Generator</span></code></a> learned to generate source rpm
(SRPM) packages on demand. See <span class="target" id="index-0-variable:CPACK_RPM_PACKAGE_SOURCES"></span><a class="reference internal" href="../cpack_gen/rpm.html#variable:CPACK_RPM_PACKAGE_SOURCES" title="CPACK_RPM_PACKAGE_SOURCES"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_RPM_PACKAGE_SOURCES</span></code></a>,
<span class="target" id="index-0-variable:CPACK_RPM_SOURCE_PKG_BUILD_PARAMS"></span><a class="reference internal" href="../cpack_gen/rpm.html#variable:CPACK_RPM_SOURCE_PKG_BUILD_PARAMS" title="CPACK_RPM_SOURCE_PKG_BUILD_PARAMS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_RPM_SOURCE_PKG_BUILD_PARAMS</span></code></a> and
<span class="target" id="index-0-variable:CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX"></span><a class="reference internal" href="../cpack_gen/rpm.html#variable:CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX" title="CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX</span></code></a>.</p></li>
<li><p>The <span class="target" id="index-0-cpack_gen:CPack NSIS Generator"></span><a class="reference internal" href="../cpack_gen/nsis.html#cpack_gen:CPack NSIS Generator" title="CPack NSIS Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">NSIS</span> <span class="pre">Generator</span></code></a> now supports
<span class="target" id="index-0-variable:CPACK_NSIS_&lt;compName&gt;_INSTALL_DIRECTORY"></span><a class="reference internal" href="../cpack_gen/nsis.html#variable:CPACK_NSIS_&lt;compName&gt;_INSTALL_DIRECTORY" title="CPACK_NSIS_&lt;compName&gt;_INSTALL_DIRECTORY"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_NSIS_&lt;compName&gt;_INSTALL_DIRECTORY</span></code></a>.
This can be used to set component specific installation directories.</p></li>
<li><p>The <span class="target" id="index-0-cpack_gen:CPack WIX Generator"></span><a class="reference internal" href="../cpack_gen/wix.html#cpack_gen:CPack WIX Generator" title="CPack WIX Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">WIX</span> <span class="pre">Generator</span></code></a> now supports
<span class="target" id="index-0-variable:CPACK_WIX_SKIP_PROGRAM_FOLDER"></span><a class="reference internal" href="../cpack_gen/wix.html#variable:CPACK_WIX_SKIP_PROGRAM_FOLDER" title="CPACK_WIX_SKIP_PROGRAM_FOLDER"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_WIX_SKIP_PROGRAM_FOLDER</span></code></a> to allow specification
of a custom absolute installation prefix outside
of the ProgramFiles folders.</p></li>
<li><p>The <span class="target" id="index-1-cpack_gen:CPack WIX Generator"></span><a class="reference internal" href="../cpack_gen/wix.html#cpack_gen:CPack WIX Generator" title="CPack WIX Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">WIX</span> <span class="pre">Generator</span></code></a> now supports
<span class="target" id="index-0-variable:CPACK_COMPONENT_&lt;compName&gt;_DISABLED"></span><a class="reference internal" href="../module/CPackComponent.html#variable:CPACK_COMPONENT_&lt;compName&gt;_DISABLED" title="CPACK_COMPONENT_&lt;compName&gt;_DISABLED"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_COMPONENT_&lt;compName&gt;_DISABLED</span></code></a>.
This can be used to deselect a component from being installed by default.</p></li>
<li><p>The <span class="target" id="index-2-cpack_gen:CPack WIX Generator"></span><a class="reference internal" href="../cpack_gen/wix.html#cpack_gen:CPack WIX Generator" title="CPack WIX Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">WIX</span> <span class="pre">Generator</span></code></a> now supports
<span class="target" id="index-0-variable:CPACK_WIX_PATCH_FILE"></span><a class="reference internal" href="../cpack_gen/wix.html#variable:CPACK_WIX_PATCH_FILE" title="CPACK_WIX_PATCH_FILE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_WIX_PATCH_FILE</span></code></a> fragments for Feature elements.</p></li>
<li><p>The <span class="target" id="index-3-cpack_gen:CPack WIX Generator"></span><a class="reference internal" href="../cpack_gen/wix.html#cpack_gen:CPack WIX Generator" title="CPack WIX Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">WIX</span> <span class="pre">Generator</span></code></a> now supports
<span class="target" id="index-0-variable:CPACK_WIX_ROOT_FEATURE_TITLE"></span><a class="reference internal" href="../cpack_gen/wix.html#variable:CPACK_WIX_ROOT_FEATURE_TITLE" title="CPACK_WIX_ROOT_FEATURE_TITLE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_WIX_ROOT_FEATURE_TITLE</span></code></a> and
<span class="target" id="index-0-variable:CPACK_WIX_ROOT_FEATURE_DESCRIPTION"></span><a class="reference internal" href="../cpack_gen/wix.html#variable:CPACK_WIX_ROOT_FEATURE_DESCRIPTION" title="CPACK_WIX_ROOT_FEATURE_DESCRIPTION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_WIX_ROOT_FEATURE_DESCRIPTION</span></code></a> to allow the specification
of a custom title and description for the root feature element.</p></li>
</ul>
</div>
<div class="section" id="other">
<h3><a class="toc-backref" href="#id11">Other</a><a class="headerlink" href="#other" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p><span class="target" id="index-0-manual:cmake(1)"></span><a class="reference internal" href="../manual/cmake.1.html#manual:cmake(1)" title="cmake(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake(1)</span></code></a> gained a <code class="docutils literal notranslate"><span class="pre">-E</span> <span class="pre">capabilities</span></code> option to provide a
machine-readable (JSON) description of the capabilities of the
cmake tool (available generators, etc.).</p></li>
<li><p>A new <span class="target" id="index-0-manual:cmake-server(7)"></span><a class="reference internal" href="../manual/cmake-server.7.html#manual:cmake-server(7)" title="cmake-server(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-server(7)</span></code></a> mode was added to provide semantic
information about a CMake-generated buildsystem to clients through
a JSON protocol. Currently all protocols are experimental and subject
to change.</p></li>
<li><p>The <span class="target" id="index-1-manual:cmake(1)"></span><a class="reference internal" href="../manual/cmake.1.html#manual:cmake(1)" title="cmake(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake(1)</span></code></a> command learned a <code class="docutils literal notranslate"><span class="pre">--trace-source=&lt;file&gt;</span></code> option.</p></li>
<li><p><span class="target" id="index-0-manual:ccmake(1)"></span><a class="reference internal" href="../manual/ccmake.1.html#manual:ccmake(1)" title="ccmake(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">ccmake(1)</span></code></a> learned to support vim-like navigation bindings.</p></li>
<li><p><span class="target" id="index-0-manual:cmake-gui(1)"></span><a class="reference internal" href="../manual/cmake-gui.1.html#manual:cmake-gui(1)" title="cmake-gui(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-gui(1)</span></code></a> gained a button to open the generated project file
for <a class="reference internal" href="../manual/cmake-generators.7.html#visual-studio-generators"><span class="std std-ref">Visual Studio Generators</span></a> and the <span class="target" id="index-2-generator:Xcode"></span><a class="reference internal" href="../generator/Xcode.html#generator:Xcode" title="Xcode"><code class="xref cmake cmake-generator docutils literal notranslate"><span class="pre">Xcode</span></code></a> generator.</p></li>
</ul>
</div>
</div>
<div class="section" id="deprecated-and-removed-features">
<h2><a class="toc-backref" href="#id12">Deprecated and Removed Features</a><a class="headerlink" href="#deprecated-and-removed-features" title="Permalink to this headline"></a></h2>
<ul>
<li><p>We no longer provide Linux i386 binaries for download from <code class="docutils literal notranslate"><span class="pre">cmake.org</span></code>
for new versions of CMake.</p></li>
<li><p>Vim support files <code class="docutils literal notranslate"><span class="pre">cmake-indent.vim</span></code>, <code class="docutils literal notranslate"><span class="pre">cmake-syntax.vim</span></code>, and
<code class="docutils literal notranslate"><span class="pre">cmake-help.vim</span></code> have been removed in favor of the files now provided
from the <a class="reference external" href="https://github.com/pboettch/vim-cmake-syntax">vim-cmake-syntax</a> project.</p></li>
<li><p>Support for building CMake itself with some compilers was dropped:</p>
<ul class="simple">
<li><p>Visual Studio 7.1 and 2005 -- superseded by VS 2008 and above</p></li>
<li><p>MinGW.org mingw32 -- superseded by MSYS2 mingw32 and mingw64</p></li>
</ul>
<p>CMake still supports generating build systems for other projects using
these compilers.</p>
</li>
</ul>
</div>
<div class="section" id="other-changes">
<h2><a class="toc-backref" href="#id13">Other Changes</a><a class="headerlink" href="#other-changes" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>The Fortran dependency scanner learned to support the syntax of
<a class="reference external" href="http://fortranwiki.org/fortran/show/Submodules">Fortran Submodules</a>.</p></li>
<li><p>Vim support files <code class="docutils literal notranslate"><span class="pre">indent/cmake.vim</span></code> and <code class="docutils literal notranslate"><span class="pre">syntax/cmake.vim</span></code>
from the <a class="reference external" href="https://github.com/pboettch/vim-cmake-syntax">vim-cmake-syntax</a> project are now distributed with CMake.</p></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">CMake 3.7 Release Notes</a><ul>
<li><a class="reference internal" href="#new-features">New Features</a><ul>
<li><a class="reference internal" href="#platforms">Platforms</a></li>
<li><a class="reference internal" href="#generators">Generators</a></li>
<li><a class="reference internal" href="#commands">Commands</a></li>
<li><a class="reference internal" href="#variables">Variables</a></li>
<li><a class="reference internal" href="#properties">Properties</a></li>
<li><a class="reference internal" href="#modules">Modules</a></li>
<li><a class="reference internal" href="#ctest">CTest</a></li>
<li><a class="reference internal" href="#cpack">CPack</a></li>
<li><a class="reference internal" href="#other">Other</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deprecated-and-removed-features">Deprecated and Removed Features</a></li>
<li><a class="reference internal" href="#other-changes">Other Changes</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="3.8.html"
title="previous chapter">CMake 3.8 Release Notes</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="3.6.html"
title="next chapter">CMake 3.6 Release Notes</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/release/3.7.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="3.6.html" title="CMake 3.6 Release Notes"
>next</a> |</li>
<li class="right" >
<a href="3.8.html" title="CMake 3.8 Release Notes"
>previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.23.1 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >CMake Release Notes</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">CMake 3.7 Release Notes</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2000-2022 Kitware, Inc. and Contributors.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.1.2.
</div>
</body>
</html>