| |
| <!DOCTYPE html> |
| |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>CMake 3.23 Release Notes — 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.22 Release Notes" href="3.22.html" /> |
| <link rel="prev" title="CMake Release Notes" href="index.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.22.html" title="CMake 3.22 Release Notes" |
| accesskey="N">next</a> |</li> |
| <li class="right" > |
| <a href="index.html" title="CMake 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> » |
| </li> |
| <li> |
| <a href="../index.html">3.23.1 Documentation</a> » |
| </li> |
| |
| <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">CMake Release Notes</a> »</li> |
| <li class="nav-item nav-item-this"><a href="">CMake 3.23 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-23-release-notes"> |
| <h1><a class="toc-backref" href="#id2">CMake 3.23 Release Notes</a><a class="headerlink" href="#cmake-3-23-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-23-release-notes" id="id2">CMake 3.23 Release Notes</a></p> |
| <ul> |
| <li><p><a class="reference internal" href="#new-features" id="id3">New Features</a></p> |
| <ul> |
| <li><p><a class="reference internal" href="#presets" id="id4">Presets</a></p></li> |
| <li><p><a class="reference internal" href="#generators" id="id5">Generators</a></p></li> |
| <li><p><a class="reference internal" href="#command-line" id="id6">Command-Line</a></p></li> |
| <li><p><a class="reference internal" href="#compilers" id="id7">Compilers</a></p></li> |
| <li><p><a class="reference internal" href="#file-based-api" id="id8">File-Based API</a></p></li> |
| <li><p><a class="reference internal" href="#commands" id="id9">Commands</a></p></li> |
| <li><p><a class="reference internal" href="#variables" id="id10">Variables</a></p></li> |
| <li><p><a class="reference internal" href="#properties" id="id11">Properties</a></p></li> |
| <li><p><a class="reference internal" href="#modules" id="id12">Modules</a></p></li> |
| <li><p><a class="reference internal" href="#ctest" id="id13">CTest</a></p></li> |
| <li><p><a class="reference internal" href="#cpack" id="id14">CPack</a></p></li> |
| </ul> |
| </li> |
| <li><p><a class="reference internal" href="#deprecated-and-removed-features" id="id15">Deprecated and Removed Features</a></p></li> |
| <li><p><a class="reference internal" href="#other-changes" id="id16">Other Changes</a></p></li> |
| <li><p><a class="reference internal" href="#updates" id="id17">Updates</a></p> |
| <ul> |
| <li><p><a class="reference internal" href="#id1" id="id18">3.23.1</a></p></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <p>Changes made since CMake 3.22 include the following.</p> |
| <div class="section" id="new-features"> |
| <h2><a class="toc-backref" href="#id3">New Features</a><a class="headerlink" href="#new-features" title="Permalink to this headline">¶</a></h2> |
| <div class="section" id="presets"> |
| <h3><a class="toc-backref" href="#id4">Presets</a><a class="headerlink" href="#presets" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p><span class="target" id="index-0-manual:cmake-presets(7)"></span><a class="reference internal" href="../manual/cmake-presets.7.html#manual:cmake-presets(7)" title="cmake-presets(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-presets(7)</span></code></a> files now support schema version <code class="docutils literal notranslate"><span class="pre">4</span></code>.</p></li> |
| <li><p><span class="target" id="index-1-manual:cmake-presets(7)"></span><a class="reference internal" href="../manual/cmake-presets.7.html#manual:cmake-presets(7)" title="cmake-presets(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-presets(7)</span></code></a> files now have an optional <code class="docutils literal notranslate"><span class="pre">include</span></code> field, |
| which allows the files to include other files.</p></li> |
| <li><p><span class="target" id="index-2-manual:cmake-presets(7)"></span><a class="reference internal" href="../manual/cmake-presets.7.html#manual:cmake-presets(7)" title="cmake-presets(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-presets(7)</span></code></a> files now support a <code class="docutils literal notranslate"><span class="pre">${fileDir}</span></code> macro, which |
| contains the directory containing the preset file.</p></li> |
| <li><p><span class="target" id="index-3-manual:cmake-presets(7)"></span><a class="reference internal" href="../manual/cmake-presets.7.html#manual:cmake-presets(7)" title="cmake-presets(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-presets(7)</span></code></a> gained support for specifying the |
| <code class="docutils literal notranslate"><span class="pre">resolvePackageReferences</span></code> command line option in a build preset to control |
| restoration behavior of package references from external package managers. |
| Currently this is only supported by the Visual Studio generator to support |
| restoring packages from NuGet. Other generators ignore this option.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="generators"> |
| <h3><a class="toc-backref" href="#id5">Generators</a><a class="headerlink" href="#generators" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <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 2019 and above learned to |
| support .NET SDK-style project files (<code class="docutils literal notranslate"><span class="pre">.csproj</span></code>) for C# projects. |
| See the <span class="target" id="index-0-prop_tgt:DOTNET_SDK"></span><a class="reference internal" href="../prop_tgt/DOTNET_SDK.html#prop_tgt:DOTNET_SDK" title="DOTNET_SDK"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">DOTNET_SDK</span></code></a> target property and corresponding |
| <span class="target" id="index-0-variable:CMAKE_DOTNET_SDK"></span><a class="reference internal" href="../variable/CMAKE_DOTNET_SDK.html#variable:CMAKE_DOTNET_SDK" title="CMAKE_DOTNET_SDK"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_DOTNET_SDK</span></code></a> variable. <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> |
| is not yet supported in .NET SDK-style projects.</p></li> |
| <li><p>The <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 2017 and above learned to |
| use portable instances of Visual Studio not known to the VS installer. |
| See the <span class="target" id="index-0-variable:CMAKE_GENERATOR_INSTANCE"></span><a class="reference internal" href="../variable/CMAKE_GENERATOR_INSTANCE.html#variable:CMAKE_GENERATOR_INSTANCE" title="CMAKE_GENERATOR_INSTANCE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_GENERATOR_INSTANCE</span></code></a> variable.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="command-line"> |
| <h3><a class="toc-backref" href="#id6">Command-Line</a><a class="headerlink" href="#command-line" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <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> <code class="docutils literal notranslate"><span class="pre">--build</span></code> command, when used with |
| <a class="reference internal" href="../manual/cmake-generators.7.html#visual-studio-generators"><span class="std std-ref">Visual Studio Generators</span></a> on projects that set the |
| <span class="target" id="index-0-prop_tgt:VS_PACKAGE_REFERENCES"></span><a class="reference internal" href="../prop_tgt/VS_PACKAGE_REFERENCES.html#prop_tgt:VS_PACKAGE_REFERENCES" title="VS_PACKAGE_REFERENCES"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">VS_PACKAGE_REFERENCES</span></code></a> target property, now automatically |
| restores package references from NuGet. The cache variable |
| <span class="target" id="index-0-variable:CMAKE_VS_NUGET_PACKAGE_RESTORE"></span><a class="reference internal" href="../variable/CMAKE_VS_NUGET_PACKAGE_RESTORE.html#variable:CMAKE_VS_NUGET_PACKAGE_RESTORE" title="CMAKE_VS_NUGET_PACKAGE_RESTORE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_VS_NUGET_PACKAGE_RESTORE</span></code></a> may be set to toggle this behavior |
| in a build tree. Use the <code class="docutils literal notranslate"><span class="pre">--resolve-package-references=<on|off|only></span></code> |
| command-line option to control the behavior on one invocation.</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 line tool gained a <code class="docutils literal notranslate"><span class="pre">--debug-find-pkg=</span></code> |
| option to enable debug messages under specific <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> |
| calls.</p></li> |
| <li><p>The <span class="target" id="index-2-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 line tool gained a <code class="docutils literal notranslate"><span class="pre">--debug-find-var=</span></code> |
| option to enable debug messages for <code class="docutils literal notranslate"><span class="pre">find_*</span></code> calls that use specific |
| result variables.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="compilers"> |
| <h3><a class="toc-backref" href="#id7">Compilers</a><a class="headerlink" href="#compilers" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The IBM Open XL C/C++ compiler, based on LLVM, is now supported with |
| compiler id <code class="docutils literal notranslate"><span class="pre">IBMClang</span></code>.</p></li> |
| <li><p>The MCST LCC compiler is now supported with compiler id <code class="docutils literal notranslate"><span class="pre">LCC</span></code>. |
| See policy <span class="target" id="index-0-policy:CMP0129"></span><a class="reference internal" href="../policy/CMP0129.html#policy:CMP0129" title="CMP0129"><code class="xref cmake cmake-policy docutils literal notranslate"><span class="pre">CMP0129</span></code></a>.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="file-based-api"> |
| <h3><a class="toc-backref" href="#id8">File-Based API</a><a class="headerlink" href="#file-based-api" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-0-manual:cmake-file-api(7)"></span><a class="reference internal" href="../manual/cmake-file-api.7.html#manual:cmake-file-api(7)" title="cmake-file-api(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-file-api(7)</span></code></a> "codemodel" version 2 <code class="docutils literal notranslate"><span class="pre">version</span></code> field |
| has been updated to <code class="docutils literal notranslate"><span class="pre">2.4</span></code>.</p></li> |
| <li><p>The <span class="target" id="index-1-manual:cmake-file-api(7)"></span><a class="reference internal" href="../manual/cmake-file-api.7.html#manual:cmake-file-api(7)" title="cmake-file-api(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-file-api(7)</span></code></a> "codemodel" version 2 <code class="docutils literal notranslate"><span class="pre">directory</span></code> |
| object <code class="docutils literal notranslate"><span class="pre">installers</span></code> field gained a new <code class="docutils literal notranslate"><span class="pre">fileSet</span></code> installer type.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="commands"> |
| <h3><a class="toc-backref" href="#id9">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:define_property"></span><a class="reference internal" href="../command/define_property.html#command:define_property" title="define_property"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">define_property()</span></code></a> command gained a new |
| <code class="docutils literal notranslate"><span class="pre">INITIALIZE_FROM_VARIABLE</span></code> option to cause a target property to be |
| initialized from a variable when a target is created.</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(TARGETS)</span></code></a> command gained a new <code class="docutils literal notranslate"><span class="pre">FILE_SET</span></code> argument, |
| which can be used to install header file sets associated with a target.</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-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(TIMESTAMP)</span></code></a> commands now |
| support the <code class="docutils literal notranslate"><span class="pre">%f</span></code> specifier for microseconds.</p></li> |
| <li><p>The <span class="target" id="index-0-command:target_sources"></span><a class="reference internal" href="../command/target_sources.html#command:target_sources" title="target_sources"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">target_sources()</span></code></a> command gained a new <code class="docutils literal notranslate"><span class="pre">FILE_SET</span></code> mode, which |
| can be used to add headers as header-only source files of a target.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="variables"> |
| <h3><a class="toc-backref" href="#id10">Variables</a><a class="headerlink" href="#variables" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-0-variable:CMAKE_CUDA_ARCHITECTURES"></span><a class="reference internal" href="../variable/CMAKE_CUDA_ARCHITECTURES.html#variable:CMAKE_CUDA_ARCHITECTURES" title="CMAKE_CUDA_ARCHITECTURES"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_CUDA_ARCHITECTURES</span></code></a> variable and associated |
| <span class="target" id="index-0-prop_tgt:CUDA_ARCHITECTURES"></span><a class="reference internal" href="../prop_tgt/CUDA_ARCHITECTURES.html#prop_tgt:CUDA_ARCHITECTURES" title="CUDA_ARCHITECTURES"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">CUDA_ARCHITECTURES</span></code></a> target property now support the |
| <code class="docutils literal notranslate"><span class="pre">all</span></code>, and <code class="docutils literal notranslate"><span class="pre">all-major</span></code> values for CUDA toolkit 7.0+.</p></li> |
| <li><p>The <span class="target" id="index-0-variable:CMAKE_IGNORE_PREFIX_PATH"></span><a class="reference internal" href="../variable/CMAKE_IGNORE_PREFIX_PATH.html#variable:CMAKE_IGNORE_PREFIX_PATH" title="CMAKE_IGNORE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_IGNORE_PREFIX_PATH</span></code></a> and |
| <span class="target" id="index-0-variable:CMAKE_SYSTEM_IGNORE_PREFIX_PATH"></span><a class="reference internal" href="../variable/CMAKE_SYSTEM_IGNORE_PREFIX_PATH.html#variable:CMAKE_SYSTEM_IGNORE_PREFIX_PATH" title="CMAKE_SYSTEM_IGNORE_PREFIX_PATH"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_SYSTEM_IGNORE_PREFIX_PATH</span></code></a> variables were added |
| to tell 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>, <span class="target" id="index-0-command:find_program"></span><a class="reference internal" href="../command/find_program.html#command:find_program" title="find_program"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_program()</span></code></a>, |
| <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>, <span class="target" id="index-0-command:find_path"></span><a class="reference internal" href="../command/find_path.html#command:find_path" title="find_path"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_path()</span></code></a>, and <span class="target" id="index-0-command:find_file"></span><a class="reference internal" href="../command/find_file.html#command:find_file" title="find_file"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">find_file()</span></code></a> |
| commands to ignore specified prefixes.</p></li> |
| <li><p>The <span class="target" id="index-0-variable:CMAKE_LINK_LIBRARIES_ONLY_TARGETS"></span><a class="reference internal" href="../variable/CMAKE_LINK_LIBRARIES_ONLY_TARGETS.html#variable:CMAKE_LINK_LIBRARIES_ONLY_TARGETS" title="CMAKE_LINK_LIBRARIES_ONLY_TARGETS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_LINK_LIBRARIES_ONLY_TARGETS</span></code></a> variable and |
| corresponding <span class="target" id="index-0-prop_tgt:LINK_LIBRARIES_ONLY_TARGETS"></span><a class="reference internal" href="../prop_tgt/LINK_LIBRARIES_ONLY_TARGETS.html#prop_tgt:LINK_LIBRARIES_ONLY_TARGETS" title="LINK_LIBRARIES_ONLY_TARGETS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">LINK_LIBRARIES_ONLY_TARGETS</span></code></a> target |
| property were added to optionally require that all link items |
| that can be target names are actually names of existing targets.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="properties"> |
| <h3><a class="toc-backref" href="#id11">Properties</a><a class="headerlink" href="#properties" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-0-prop_tgt:HEADER_SETS"></span><a class="reference internal" href="../prop_tgt/HEADER_SETS.html#prop_tgt:HEADER_SETS" title="HEADER_SETS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_SETS</span></code></a> and <span class="target" id="index-0-prop_tgt:INTERFACE_HEADER_SETS"></span><a class="reference internal" href="../prop_tgt/INTERFACE_HEADER_SETS.html#prop_tgt:INTERFACE_HEADER_SETS" title="INTERFACE_HEADER_SETS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">INTERFACE_HEADER_SETS</span></code></a> read-only |
| target properties were added to list header sets associated with a target.</p></li> |
| <li><p>The <span class="target" id="index-0-prop_tgt:HEADER_SET"></span><a class="reference internal" href="../prop_tgt/HEADER_SET.html#prop_tgt:HEADER_SET" title="HEADER_SET"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_SET</span></code></a> and <span class="target" id="index-0-prop_tgt:HEADER_SET_<NAME>"></span><a class="reference internal" href="../prop_tgt/HEADER_SET_NAME.html#prop_tgt:HEADER_SET_<NAME>" title="HEADER_SET_<NAME>"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_SET_<NAME></span></code></a> target |
| properties were added to list files in the default header set |
| and named header sets, respectively.</p></li> |
| <li><p>The <span class="target" id="index-0-prop_tgt:HEADER_DIRS"></span><a class="reference internal" href="../prop_tgt/HEADER_DIRS.html#prop_tgt:HEADER_DIRS" title="HEADER_DIRS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_DIRS</span></code></a> and <span class="target" id="index-0-prop_tgt:HEADER_DIRS_<NAME>"></span><a class="reference internal" href="../prop_tgt/HEADER_DIRS_NAME.html#prop_tgt:HEADER_DIRS_<NAME>" title="HEADER_DIRS_<NAME>"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_DIRS_<NAME></span></code></a> target |
| properties were added to specify the base directories of the default |
| header set and named header sets, respectively.</p></li> |
| <li><p>The <span class="target" id="index-0-prop_tgt:IMPORTED_NO_SYSTEM"></span><a class="reference internal" href="../prop_tgt/IMPORTED_NO_SYSTEM.html#prop_tgt:IMPORTED_NO_SYSTEM" title="IMPORTED_NO_SYSTEM"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">IMPORTED_NO_SYSTEM</span></code></a> target property was added to |
| specify that an <a class="reference internal" href="../manual/cmake-buildsystem.7.html#imported-targets"><span class="std std-ref">Imported Target</span></a> should |
| not be treated as a system library (i.e. its include directories |
| are not automatically <code class="docutils literal notranslate"><span class="pre">SYSTEM</span></code>).</p></li> |
| <li><p>The <span class="target" id="index-0-prop_tgt:XCODE_EMBED_<type>"></span><a class="reference internal" href="../prop_tgt/XCODE_EMBED_type.html#prop_tgt:XCODE_EMBED_<type>" title="XCODE_EMBED_<type>"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">XCODE_EMBED_PLUGINS</span></code></a> target property |
| was added to tell 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 what targets to put in |
| the <code class="docutils literal notranslate"><span class="pre">Embed</span> <span class="pre">PlugIns</span></code> build phase.</p></li> |
| <li><p>The <span class="target" id="index-0-prop_tgt:XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE"></span><a class="reference internal" href="../prop_tgt/XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE.html#prop_tgt:XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE" title="XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE</span></code></a> target property |
| and supporting <span class="target" id="index-0-variable:CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE"></span><a class="reference internal" href="../variable/CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE.html#variable:CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE" title="CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE</span></code></a> |
| variable were 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 enable |
| specifying the Xcode scheme option property <code class="docutils literal notranslate"><span class="pre">GPU</span> <span class="pre">Frame</span> <span class="pre">Capture</span></code>.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="modules"> |
| <h3><a class="toc-backref" href="#id12">Modules</a><a class="headerlink" href="#modules" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-0-module:CheckPIESupported"></span><a class="reference internal" href="../module/CheckPIESupported.html#module:CheckPIESupported" title="CheckPIESupported"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">CheckPIESupported</span></code></a> module now supports the <code class="docutils literal notranslate"><span class="pre">OBJC</span></code>, |
| <code class="docutils literal notranslate"><span class="pre">OBJCXX</span></code>, <code class="docutils literal notranslate"><span class="pre">CUDA</span></code>, and <code class="docutils literal notranslate"><span class="pre">HIP</span></code> languages. It also now honors |
| <span class="target" id="index-0-variable:CMAKE_SYSROOT"></span><a class="reference internal" href="../variable/CMAKE_SYSROOT.html#variable:CMAKE_SYSROOT" title="CMAKE_SYSROOT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_SYSROOT</span></code></a> and <span class="target" id="index-0-variable:CMAKE_OSX_SYSROOT"></span><a class="reference internal" href="../variable/CMAKE_OSX_SYSROOT.html#variable:CMAKE_OSX_SYSROOT" title="CMAKE_OSX_SYSROOT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_OSX_SYSROOT</span></code></a>.</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's <span class="target" id="index-0-command:externalproject_add"></span><a class="reference internal" href="../module/ExternalProject.html#command:externalproject_add" title="externalproject_add"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">ExternalProject_Add()</span></code></a> |
| command gained support for a <code class="docutils literal notranslate"><span class="pre">USES_TERMINAL_PATCH</span></code> option to give |
| the patch step exclusive terminal access.</p></li> |
| <li><p>The <span class="target" id="index-0-module:FindCUDAToolkit"></span><a class="reference internal" href="../module/FindCUDAToolkit.html#module:FindCUDAToolkit" title="FindCUDAToolkit"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindCUDAToolkit</span></code></a> module now provides a target for |
| <code class="docutils literal notranslate"><span class="pre">libcufft_static_nocallback</span></code>, if found.</p></li> |
| <li><p>The <span class="target" id="index-0-module:FindGLUT"></span><a class="reference internal" href="../module/FindGLUT.html#module:FindGLUT" title="FindGLUT"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindGLUT</span></code></a> module now provides the <code class="docutils literal notranslate"><span class="pre">GLUT_INCLUDE_DIRS</span></code> |
| result variable to conform with naming conventions documented in the |
| <span class="target" id="index-0-manual:cmake-developer(7)"></span><a class="reference internal" href="../manual/cmake-developer.7.html#manual:cmake-developer(7)" title="cmake-developer(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cmake-developer(7)</span></code></a> manual. This supersedes the legacy |
| <code class="docutils literal notranslate"><span class="pre">GLUT_INCLUDE_DIR</span></code> variable.</p></li> |
| <li><p>The <span class="target" id="index-0-module:FindGTest"></span><a class="reference internal" href="../module/FindGTest.html#module:FindGTest" title="FindGTest"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">FindGTest</span></code></a> module now provides a target for GMock, if found.</p></li> |
| <li><p>The <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 now provides a <code class="docutils literal notranslate"><span class="pre">Vulkan_VERSION</span></code> result |
| variable reporting the version number.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="ctest"> |
| <h3><a class="toc-backref" href="#id13">CTest</a><a class="headerlink" href="#ctest" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p><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> gained a new <span class="target" id="index-0-variable:CTEST_SUBMIT_INACTIVITY_TIMEOUT"></span><a class="reference internal" href="../variable/CTEST_SUBMIT_INACTIVITY_TIMEOUT.html#variable:CTEST_SUBMIT_INACTIVITY_TIMEOUT" title="CTEST_SUBMIT_INACTIVITY_TIMEOUT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CTEST_SUBMIT_INACTIVITY_TIMEOUT</span></code></a> |
| variable, which can be used to specify a timeout for submission inactivity.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="cpack"> |
| <h3><a class="toc-backref" href="#id14">CPack</a><a class="headerlink" href="#cpack" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <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> gained the new |
| <span class="target" id="index-0-variable:CPACK_PRODUCTBUILD_DOMAINS"></span><a class="reference internal" href="../cpack_gen/productbuild.html#variable:CPACK_PRODUCTBUILD_DOMAINS" title="CPACK_PRODUCTBUILD_DOMAINS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PRODUCTBUILD_DOMAINS</span></code></a>, |
| <span class="target" id="index-0-variable:CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE"></span><a class="reference internal" href="../cpack_gen/productbuild.html#variable:CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE" title="CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE</span></code></a>, |
| <span class="target" id="index-0-variable:CPACK_PRODUCTBUILD_DOMAINS_USER"></span><a class="reference internal" href="../cpack_gen/productbuild.html#variable:CPACK_PRODUCTBUILD_DOMAINS_USER" title="CPACK_PRODUCTBUILD_DOMAINS_USER"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PRODUCTBUILD_DOMAINS_USER</span></code></a>, and |
| <span class="target" id="index-0-variable:CPACK_PRODUCTBUILD_DOMAINS_ROOT"></span><a class="reference internal" href="../cpack_gen/productbuild.html#variable:CPACK_PRODUCTBUILD_DOMAINS_ROOT" title="CPACK_PRODUCTBUILD_DOMAINS_ROOT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PRODUCTBUILD_DOMAINS_ROOT</span></code></a> variables for |
| adding the domains element to the Distribution XML. With these variables, |
| it is now possible to install products to the user's home directory |
| without requiring administrative privileges.</p></li> |
| <li><p>The <span class="target" id="index-1-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> gained a new variable, |
| <span class="target" id="index-0-variable:CPACK_PRODUCTBUILD_IDENTIFIER"></span><a class="reference internal" href="../cpack_gen/productbuild.html#variable:CPACK_PRODUCTBUILD_IDENTIFIER" title="CPACK_PRODUCTBUILD_IDENTIFIER"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_PRODUCTBUILD_IDENTIFIER</span></code></a>, used to customize the unique |
| product identifier associated with the product.</p></li> |
| <li><p>The <span class="target" id="index-0-cpack_gen:CPack IFW Generator"></span><a class="reference internal" href="../cpack_gen/ifw.html#cpack_gen:CPack IFW Generator" title="CPack IFW Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">IFW</span> <span class="pre">Generator</span></code></a> gained the new |
| <span class="target" id="index-0-variable:CPACK_IFW_ARCHIVE_FORMAT"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_ARCHIVE_FORMAT" title="CPACK_IFW_ARCHIVE_FORMAT"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_ARCHIVE_FORMAT</span></code></a> and |
| <span class="target" id="index-0-variable:CPACK_IFW_ARCHIVE_COMPRESSION"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_ARCHIVE_COMPRESSION" title="CPACK_IFW_ARCHIVE_COMPRESSION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_ARCHIVE_COMPRESSION</span></code></a> variables for setting the |
| format used when packaging new component data archives, and choosing |
| the compression level used. |
| These features are available for QtIFW 4.2 and newer.</p></li> |
| <li><p>The <span class="target" id="index-1-cpack_gen:CPack IFW Generator"></span><a class="reference internal" href="../cpack_gen/ifw.html#cpack_gen:CPack IFW Generator" title="CPack IFW Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">IFW</span> <span class="pre">Generator</span></code></a> gained new |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE" title="CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE</span></code></a> variable to |
| prevent the user from passing any consumer command to the installer, like |
| <code class="docutils literal notranslate"><span class="pre">install</span></code>, <code class="docutils literal notranslate"><span class="pre">update</span></code>, and <code class="docutils literal notranslate"><span class="pre">remove</span></code>. |
| This feature is available for QtIFW 4.0 and newer.</p></li> |
| <li><p>The <span class="target" id="index-2-cpack_gen:CPack IFW Generator"></span><a class="reference internal" href="../cpack_gen/ifw.html#cpack_gen:CPack IFW Generator" title="CPack IFW Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">IFW</span> <span class="pre">Generator</span></code></a> gained the new |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_PRODUCT_IMAGES"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_PRODUCT_IMAGES" title="CPACK_IFW_PACKAGE_PRODUCT_IMAGES"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_PRODUCT_IMAGES</span></code></a> variable for adding a |
| list of images to be shown on the <code class="docutils literal notranslate"><span class="pre">PerformInstallationPage</span></code>. |
| This feature is available for QtIFW 4.0 and newer.</p></li> |
| <li><p>The <span class="target" id="index-3-cpack_gen:CPack IFW Generator"></span><a class="reference internal" href="../cpack_gen/ifw.html#cpack_gen:CPack IFW Generator" title="CPack IFW Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">IFW</span> <span class="pre">Generator</span></code></a> gained the new |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_RUN_PROGRAM"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_RUN_PROGRAM" title="CPACK_IFW_PACKAGE_RUN_PROGRAM"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_RUN_PROGRAM</span></code></a>, |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS" title="CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS</span></code></a>, and |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION" title="CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION</span></code></a> variables for |
| executing a command after the installer is done if the user accepts |
| the action. This feature is available for QtIFW 4.0 and newer.</p></li> |
| <li><p>The <span class="target" id="index-4-cpack_gen:CPack IFW Generator"></span><a class="reference internal" href="../cpack_gen/ifw.html#cpack_gen:CPack IFW Generator" title="CPack IFW Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">IFW</span> <span class="pre">Generator</span></code></a> gained the new |
| <span class="target" id="index-0-variable:CPACK_IFW_PACKAGE_SIGNING_IDENTITY"></span><a class="reference internal" href="../cpack_gen/ifw.html#variable:CPACK_IFW_PACKAGE_SIGNING_IDENTITY" title="CPACK_IFW_PACKAGE_SIGNING_IDENTITY"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_IFW_PACKAGE_SIGNING_IDENTITY</span></code></a> variable for specifying a |
| code signing identity to be used for signing the generated app bundle. |
| This feature is available on macOS only, and for QtIFW 3.0 and newer.</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> gained a new variable, |
| <span class="target" id="index-0-variable:CPACK_WIX_SKIP_WIX_UI_EXTENSION"></span><a class="reference internal" href="../cpack_gen/wix.html#variable:CPACK_WIX_SKIP_WIX_UI_EXTENSION" title="CPACK_WIX_SKIP_WIX_UI_EXTENSION"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_WIX_SKIP_WIX_UI_EXTENSION</span></code></a>, to skip the inclusion |
| of WixUIExtensions.</p></li> |
| </ul> |
| </div> |
| </div> |
| <div class="section" id="deprecated-and-removed-features"> |
| <h2><a class="toc-backref" href="#id15">Deprecated and Removed Features</a><a class="headerlink" href="#deprecated-and-removed-features" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><p><span class="target" id="index-3-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> now warns when multiple source paths are specified, |
| as in <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">-S</span> <span class="pre">src1</span> <span class="pre">src2</span></code>. This has never been officially documented |
| or supported, but older versions accidentally accepted multiple source |
| paths and used the last path specified. Update scripts to avoid |
| passing multiple source path arguments.</p></li> |
| <li><p>The <span class="target" id="index-0-manual:cpack(1)"></span><a class="reference internal" href="../manual/cpack.1.html#manual:cpack(1)" title="cpack(1)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">cpack(1)</span></code></a> undocumented <code class="docutils literal notranslate"><span class="pre">OSXX11</span></code> generator has been removed.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="other-changes"> |
| <h2><a class="toc-backref" href="#id16">Other Changes</a><a class="headerlink" href="#other-changes" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-0-cpack_gen:CPack DragNDrop Generator"></span><a class="reference internal" href="../cpack_gen/dmg.html#cpack_gen:CPack DragNDrop Generator" title="CPack DragNDrop Generator"><code class="xref cmake cmake-cpack_gen docutils literal notranslate"><span class="pre">CPack</span> <span class="pre">DragNDrop</span> <span class="pre">Generator</span></code></a> no longer attaches |
| <span class="target" id="index-0-variable:CPACK_RESOURCE_FILE_LICENSE"></span><a class="reference internal" href="../module/CPack.html#variable:CPACK_RESOURCE_FILE_LICENSE" title="CPACK_RESOURCE_FILE_LICENSE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_RESOURCE_FILE_LICENSE</span></code></a> as the license agreement in |
| the generated <code class="docutils literal notranslate"><span class="pre">.dmg</span></code> unless explicitly activated by a |
| <span class="target" id="index-0-variable:CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE"></span><a class="reference internal" href="../cpack_gen/dmg.html#variable:CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE" title="CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE</span></code></a> option. |
| In CMake projects, the <span class="target" id="index-0-module:CPack"></span><a class="reference internal" href="../module/CPack.html#module:CPack" title="CPack"><code class="xref cmake cmake-module docutils literal notranslate"><span class="pre">CPack</span></code></a> module enables the option |
| by default for compatibility.</p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">CUDA</span></code> targets may now enable both <span class="target" id="index-0-prop_tgt:CUDA_SEPARABLE_COMPILATION"></span><a class="reference internal" href="../prop_tgt/CUDA_SEPARABLE_COMPILATION.html#prop_tgt:CUDA_SEPARABLE_COMPILATION" title="CUDA_SEPARABLE_COMPILATION"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">CUDA_SEPARABLE_COMPILATION</span></code></a> |
| and <span class="target" id="index-0-prop_tgt:CUDA_PTX_COMPILATION"></span><a class="reference internal" href="../prop_tgt/CUDA_PTX_COMPILATION.html#prop_tgt:CUDA_PTX_COMPILATION" title="CUDA_PTX_COMPILATION"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">CUDA_PTX_COMPILATION</span></code></a>.</p></li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">CUDA</span></code> compiler detection now:</p> |
| <ul> |
| <li><p>issues an error in all cases when it's unable to compute the default |
| architecture(s) if required (see <span class="target" id="index-0-policy:CMP0104"></span><a class="reference internal" href="../policy/CMP0104.html#policy:CMP0104" title="CMP0104"><code class="xref cmake cmake-policy docutils literal notranslate"><span class="pre">CMP0104</span></code></a>),</p></li> |
| <li><p>handles <code class="docutils literal notranslate"><span class="pre">OFF</span></code> for <span class="target" id="index-1-variable:CMAKE_CUDA_ARCHITECTURES"></span><a class="reference internal" href="../variable/CMAKE_CUDA_ARCHITECTURES.html#variable:CMAKE_CUDA_ARCHITECTURES" title="CMAKE_CUDA_ARCHITECTURES"><code class="xref cmake cmake-variable docutils literal notranslate"><span class="pre">CMAKE_CUDA_ARCHITECTURES</span></code></a> on Clang,</p></li> |
| <li><p>supports the theoretical case of multiple default architectures, and</p></li> |
| <li><p>tries to detect invalid architectures and issue an error.</p></li> |
| </ul> |
| </li> |
| <li><p><code class="docutils literal notranslate"><span class="pre">CUDA</span></code> with Clang now implements policy <span class="target" id="index-0-policy:CMP0105"></span><a class="reference internal" href="../policy/CMP0105.html#policy:CMP0105" title="CMP0105"><code class="xref cmake cmake-policy docutils literal notranslate"><span class="pre">CMP0105</span></code></a> and |
| the <code class="docutils literal notranslate"><span class="pre">$<DEVICE_LINK:...></span></code> and <code class="docutils literal notranslate"><span class="pre">$<HOST_LINK:...></span></code> |
| <span class="target" id="index-0-manual:cmake-generator-expressions(7)"></span><a class="reference internal" href="../manual/cmake-generator-expressions.7.html#manual:cmake-generator-expressions(7)" title="cmake-generator-expressions(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">generator</span> <span class="pre">expressions</span></code></a>.</p></li> |
| <li><p>The <span class="target" id="index-1-command:define_property"></span><a class="reference internal" href="../command/define_property.html#command:define_property" title="define_property"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">define_property()</span></code></a> command's <code class="docutils literal notranslate"><span class="pre">BRIEF_DOCS</span></code> and <code class="docutils literal notranslate"><span class="pre">FULL_DOCS</span></code> |
| arguments are now optional.</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> may now be enabled on Windows when building |
| CMake from source. This is experimental, and so is not included |
| in official distributions.</p></li> |
| </ul> |
| </div> |
| <div class="section" id="updates"> |
| <h2><a class="toc-backref" href="#id17">Updates</a><a class="headerlink" href="#updates" title="Permalink to this headline">¶</a></h2> |
| <p>Changes made since CMake 3.23.0 include the following.</p> |
| <div class="section" id="id1"> |
| <h3><a class="toc-backref" href="#id18">3.23.1</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3> |
| <ul class="simple"> |
| <li><p>The <span class="target" id="index-1-command:target_sources"></span><a class="reference internal" href="../command/target_sources.html#command:target_sources" title="target_sources"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">target_sources()</span></code></a> <code class="docutils literal notranslate"><span class="pre">FILE_SET</span></code> feature added in CMake 3.23.0 |
| does not yet place header files properly in Apple <span class="target" id="index-0-prop_tgt:FRAMEWORK"></span><a class="reference internal" href="../prop_tgt/FRAMEWORK.html#prop_tgt:FRAMEWORK" title="FRAMEWORK"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">FRAMEWORK</span></code></a> |
| targets. Pending further work in a future version of CMake, it is now |
| an error to add a <code class="docutils literal notranslate"><span class="pre">FILE_SET</span></code> of type <code class="docutils literal notranslate"><span class="pre">HEADERS</span></code> to such targets on |
| Apple platforms.</p></li> |
| <li><p>The <span class="target" id="index-1-prop_tgt:HEADER_SETS"></span><a class="reference internal" href="../prop_tgt/HEADER_SETS.html#prop_tgt:HEADER_SETS" title="HEADER_SETS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">HEADER_SETS</span></code></a> and <span class="target" id="index-1-prop_tgt:INTERFACE_HEADER_SETS"></span><a class="reference internal" href="../prop_tgt/INTERFACE_HEADER_SETS.html#prop_tgt:INTERFACE_HEADER_SETS" title="INTERFACE_HEADER_SETS"><code class="xref cmake cmake-prop_tgt docutils literal notranslate"><span class="pre">INTERFACE_HEADER_SETS</span></code></a> target |
| properties added in CMake 3.23.0 are now read-only records of the header |
| sets created by the <span class="target" id="index-2-command:target_sources"></span><a class="reference internal" href="../command/target_sources.html#command:target_sources" title="target_sources"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">target_sources()</span></code></a> command.</p></li> |
| </ul> |
| </div> |
| </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.23 Release Notes</a><ul> |
| <li><a class="reference internal" href="#new-features">New Features</a><ul> |
| <li><a class="reference internal" href="#presets">Presets</a></li> |
| <li><a class="reference internal" href="#generators">Generators</a></li> |
| <li><a class="reference internal" href="#command-line">Command-Line</a></li> |
| <li><a class="reference internal" href="#compilers">Compilers</a></li> |
| <li><a class="reference internal" href="#file-based-api">File-Based API</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> |
| </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> |
| <li><a class="reference internal" href="#updates">Updates</a><ul> |
| <li><a class="reference internal" href="#id1">3.23.1</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h4>Previous topic</h4> |
| <p class="topless"><a href="index.html" |
| title="previous chapter">CMake Release Notes</a></p> |
| <h4>Next topic</h4> |
| <p class="topless"><a href="3.22.html" |
| title="next chapter">CMake 3.22 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.23.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.22.html" title="CMake 3.22 Release Notes" |
| >next</a> |</li> |
| <li class="right" > |
| <a href="index.html" title="CMake 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> » |
| </li> |
| <li> |
| <a href="../index.html">3.23.1 Documentation</a> » |
| </li> |
| |
| <li class="nav-item nav-item-1"><a href="index.html" >CMake Release Notes</a> »</li> |
| <li class="nav-item nav-item-this"><a href="">CMake 3.23 Release Notes</a></li> |
| </ul> |
| </div> |
| |
| <div class="footer" role="contentinfo"> |
| © Copyright 2000-2022 Kitware, Inc. and Contributors. |
| Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.1.2. |
| </div> |
| </body> |
| </html> |