code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0147 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0146" href="CMP0146.html" />
    <link rel="prev" title="CMP0148" href="CMP0148.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0147

CMP0147¶

New in version 3.27.

Visual Studio Generators build custom commands in parallel.

Visual Studio 15.8 (2017) and newer support building custom commands in
parallel.  CMake 3.27 and above prefer to enable this behavior by adding
a BuildInParallel setting to custom commands in .vcxproj files.
This policy provides compatibility for projects that have not been updated
to expect this, e.g., because their custom commands were accidentally
relying on serial execution by MSBuild.

The OLD behavior for this policy is to not add BuildInParallel.
The NEW behavior for this policy is to add BuildInParallel for
VS 15.8 and newer.

This policy was introduced in CMake version 3.27.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0148

Next topic

CMP0146

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0147

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0148 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0147" href="CMP0147.html" />
    <link rel="prev" title="CMP0149" href="CMP0149.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0148

CMP0148¶

New in version 3.27.

The FindPythonInterp and FindPythonLibs modules are removed.

These modules have been deprecated since CMake 3.12.
CMake 3.27 and above prefer to not provide the modules.
This policy provides compatibility for projects that have not been
ported away from them.

Projects using the FindPythonInterp and/or FindPythonLibs
modules should be updated to use one of their replacements:

FindPython3

FindPython2

FindPython

The OLD behavior of this policy is for find_package(PythonInterp)
and find_package(PythonLibs) to load the deprecated modules.  The NEW
behavior is for uses of the modules to fail as if they do not exist.

This policy was introduced in CMake version 3.27.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0149

Next topic

CMP0147

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0148

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.

repo_name: lazytadpole/codenamesilverfish

license: mit


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0149 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0148" href="CMP0148.html" />
    <link rel="prev" title="CMP0150" href="CMP0150.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0149

CMP0149¶

New in version 3.27.

Visual Studio Generators select latest Windows SDK by default.

Visual Studio Generators select a Windows SDK version to put in the
WindowsTargetPlatformVersion setting in .vcxproj files.
CMake sets the CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION
variable to the selected SDK version.

Prior to CMake 3.27, the SDK version was always selected by the value of
the CMAKE_SYSTEM_VERSION variable.  Users or toolchain files
could set that variable to one of the exact Windows SDK versions available
on the host system.  Since CMAKE_SYSTEM_VERSION defaults to
CMAKE_HOST_SYSTEM_VERSION, and it is not guaranteed that a
matching Windows SDK version is available, CMake had to fall back to
using the latest Windows SDK version if no exact match was available.
This approach was problematic:

The latest Windows SDK might or might not be selected based on whether
the host version of Windows happens to match an available SDK version.

An old Windows SDK version might be selected that has not been updated
for newer language standards such as C11.

CMake 3.27 and higher prefer to ignore the exact value of
CMAKE_SYSTEM_VERSION and by default select the latest SDK
version available.  An exact SDK version may be specified explicitly
using a version= field in the CMAKE_GENERATOR_PLATFORM
variable.  See Visual Studio Platform Selection.

This policy provides compatibility for projects, toolchain files, and
build scripts that have not been ported away from using
CMAKE_SYSTEM_VERSION to specify an exact SDK version.

Note

This policy must be set before the first project() or
enable_language() command invocation at the top of the
project.  That is when Visual Studio Generators select a
Windows SDK.

The OLD behavior for this policy is to use the exact value of
CMAKE_SYSTEM_VERSION if possible.  The NEW behavior
for this policy is to ignore it.

This policy was introduced in CMake version 3.27.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0150

Next topic

CMP0148

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0149

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0150 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0149" href="CMP0149.html" />
    <link rel="prev" title="CMP0151" href="CMP0151.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0150

CMP0150¶

New in version 3.27.

ExternalProject_Add() and FetchContent_Declare() commands
treat relative GIT_REPOSITORY paths as being relative to the parent
project's remote.

Earlier versions of these commands always treated relative paths in
GIT_REPOSITORY as local paths, but the base directory it was treated
as relative to was both undocumented and unintuitive.  The OLD behavior
for this policy is to interpret relative paths used for GIT_REPOSITORY
as local paths relative to the following:

The parent directory of SOURCE_DIR for ExternalProject_Add().

FETCHCONTENT_BASE_DIR for FetchContent_Declare().

The NEW behavior is to determine the remote from the parent project and
interpret the path relative to that remote.  The value of
CMAKE_CURRENT_SOURCE_DIR when ExternalProject_Add() or
FetchContent_Declare() is called determines the parent project.
The remote is selected according to the following (the first match is used):

If the parent project is checked out on a branch with an upstream remote
defined, use that remote.

If only one remote is defined, use that remote.

If multiple remotes are defined and one of them is named origin, use
origin's remote but also issue a warning.

If an appropriate remote cannot be determined from the above, a fatal error
will be raised.

This policy was introduced in CMake version 3.27.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns when a relative path is encountered, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0151

Next topic

CMP0149

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0150

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0151 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0150" href="CMP0150.html" />
    <link rel="prev" title="CMP0152" href="CMP0152.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0151

CMP0151¶

New in version 3.27.

AUTOMOC include directory is a system include directory by default.

Headers generated for AUTOMOC are placed in target-specific include
directories.  CMake 3.26 and older added these as normal include directories.
CMake 3.27 and newer prefer to add them as system include directories.
This policy provides compatibility for projects that have not been updated
to expect this.

If the AUTOGEN_USE_SYSTEM_INCLUDE target property is set,
perhaps via the CMAKE_AUTOGEN_USE_SYSTEM_INCLUDE variable,
then its value is used regardless of the setting of this policy.

The OLD behavior for this policy is to add autogen include directory to
the target's include directories.
The NEW behavior for this policy is to add autogen include directory to
the target's system include directories.

This policy was introduced in CMake version 3.27.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0152

Next topic

CMP0150

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0151

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0152 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0151" href="CMP0151.html" />
    <link rel="prev" title="CMP0153" href="CMP0153.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0152

CMP0152¶

New in version 3.28.

file(REAL_PATH) resolves symlinks before collapsing ../ components.

In CMake 3.27 and below, file(REAL_PATH) collapsed any ../
components in a path before resolving symlinks.  This produced incorrect
results when the ../ collapsed away a symlink.

The OLD behavior for this policy is to collapse ../ components before
resolving symlinks.
The NEW behavior for this policy is to resolve all symlinks before
collapsing ../ components.

This policy was introduced in CMake version 3.28.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0153

Next topic

CMP0151

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0152

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0153 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0152" href="CMP0152.html" />
    <link rel="prev" title="CMP0154" href="CMP0154.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0153

CMP0153¶

New in version 3.28.

The exec_program() command should not be called.

This command has long been superseded by the execute_process()
command and has been deprecated since CMake 3.0.

CMake >= 3.28 prefer that this command never be called.
The OLD behavior for this policy is to allow the command to be called.
The NEW behavior for this policy is to issue a FATAL_ERROR when the
command is called.

This policy was introduced in CMake version 3.28.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0154

Next topic

CMP0152

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0153

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0154 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0153" href="CMP0153.html" />
    <link rel="prev" title="CMP0155" href="CMP0155.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0154

CMP0154¶

New in version 3.28.

Generated files are private by default in targets using File Sets.

CMake 3.27 and below assume that any file generated as an output or byproduct
of add_custom_command() or add_custom_target() may be a
public header file meant for inclusion by dependents' source files.  This
requires Ninja Generators to add conservative order-only dependencies
that prevent a target's source files from compiling before custom commands
from the target's dependencies are finished, even if those custom commands
only produce sources private to their own target.

File Sets, introduced by CMake 3.23, provide a way to express the
visibility of generated header files.  CMake 3.28 and above prefer to
assume that, in targets using file sets, generated files are private to
their own target by default.  Generated public headers must be specified
as members of a PUBLIC (or INTERFACE) FILE_SET, typically of
type HEADERS.  With this information, Ninja Generators may omit
the above-mentioned conservative dependencies and produce more efficient
build graphs.

Additionally, if the custom command's output is a member of a file set of type
CXX_MODULES, it will additionally not be required to exist before
compiling other sources in the same target.  Since these files should not be
included at compile time directly, they may not be implicitly required to
exist for other compilation rules.

This policy provides compatibility for projects using file sets in targets
with generated header files that have not been updated.  Such projects
should be updated to express generated public headers in a file set.
For example:

add_custom_command(
  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/foo.h
  ...
)
target_sources(foo
  PUBLIC FILE_SET HEADERS
    BASE_DIRS ${CMAKE_CURRENT_BINARY_DIR}
    FILES     ${CMAKE_CURRENT_BINARY_DIR}/foo.h
)

The OLD behavior for this policy is to assume generated files are
public, even in targets using file sets, and for Ninja Generators
to produce conservative build graphs.  The NEW behavior for this
policy is to assume generated files are private in targets using file sets,
and for Ninja Generators to produce more efficient build graphs.

This policy was introduced in CMake version 3.28.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0155

Next topic

CMP0153

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0154

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0155 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0154" href="CMP0154.html" />
    <link rel="prev" title="CMP0156" href="CMP0156.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0155

CMP0155¶

New in version 3.28.

C++ sources in targets with at least C++20 are scanned for imports
when supported.

CMake 3.27 and below assume that C++ sources do not import modules.
CMake 3.28 and above prefer to assume that C++ sources in targets using C++20
or higher might import modules, and must be scanned before compiling,
unless explicitly disabled.  This policy provides compatibility for projects
that use C++20 or higher, without modules, that have not been updated to turn
off scanning, e.g., via the CMAKE_CXX_SCAN_FOR_MODULES variable.
See the cmake-cxxmodules(7) manual for more details on C++ module
support.

The OLD behavior for this policy is to assume that C++ 20 and newer
sources do not import modules.  The NEW behavior for this policy is to
assume that C++ 20 and newer files may import modules if the compiler
understands how to scan for their dependencies, and need to be scanned.

This policy was introduced in CMake version 3.28.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0156

Next topic

CMP0154

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0155

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0156 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0155" href="CMP0155.html" />
    <link rel="prev" title="CMP0157" href="CMP0157.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0156

CMP0156¶

New in version 3.29.

De-duplicate libraries on link lines based on linker capabilities.

Traditional linkers maintain a set of undefined symbols during linking. The
linker processes each file in the order in which it appears on the command
line, until the set of undefined symbols becomes empty. An object file is
linked into the output object when it is encountered, with its undefined
symbols added to the set. Upon encountering an archive file a traditional
linker searches the objects contained therein, and processes those that satisfy
symbols in the unresolved set.

Handling mutually dependent archives may be awkward when using a traditional
linker. Archive files may have to be specified multiple times.

Some linkers (for instance Apple or Windows linkers, as well as LLVM LLD)
records all symbols found in objects and archives as it iterates over command
line arguments. When one of these linkers encounters an undefined symbol that
can be resolved by an object file contained in a previously processed archive
file, it immediately extracts and links it into the output object.

CMake 3.28 and below may generate link lines that repeat static libraries as
a traditional linker would need, even when using a linker does not need it.
They may also de-duplicate shared libraries by keeping their last occurrence,
which on Windows platforms can change DLL load order.

CMake 3.29 and above prefer to apply different strategies based on linker
capabilities.  So, when targeting Apple and Windows platforms, all
libraries are de-duplicated.  Moreover, on Windows platforms, libraries
are de-duplicated by keeping their fist occurrence, thus respecting the
project-specified order.  This policy provides compatibility with projects
that have not been updated to expect the latter behavior.

The OLD behavior for this policy is to always repeat static libraries
as if using a traditional linker, and always de-duplicate shared libraries
by keeping the last occurrence of each.  The NEW behavior for this policy
is to apply different strategies based on linker capabilities.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0157

Next topic

CMP0155

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0156

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0157 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0156" href="CMP0156.html" />
    <link rel="prev" title="CMP0158" href="CMP0158.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0157

CMP0157¶

New in version 3.29.

Swift compilation mode is selected by an abstraction.

The Swift compiler can compile modules in different modes. The desired build
mode depends whether the developer is iterating and wants to incrementally make
changes, or if they are building a release for distribution and want more
optimizations applied to the resulting binary.

CMake versions 3.26 through 3.28 build Swift binaries with whole-module
optimizations enabled when configured in a non-debug build type.
For CMake versions earlier than 3.26, the developer needs to specify
the necessary flag manually for the Ninja Generators, and cannot
not specify whole-module optimizations to the Xcode generator.

CMake versions 3.29 and above prefer to set the compilation mode using
the Swift_COMPILATION_MODE target property, which can be
initialized by the CMAKE_Swift_COMPILATION_MODE variable.

This policy provides compatibility for projects that have not been updated.
The policy setting takes effect as of the first project() or
enable_language() command that enables the Swift language.

Note

Once the policy has taken effect at the top of a project, that choice
must be used throughout the tree. In projects that have nested projects
in subdirectories, be sure to convert everything together.

The OLD behavior for this policy builds all Swift targets in
wholemodule mode for non-debug configurations.  Ninja Generators
prepend the -wmo flag to the default set of Swift flags.
The Xcode generator sets the SWIFT_COMPILATION_MODE
attribute to wholemodule in the generated Xcode project file.

The NEW behavior for this policy is to apply the compilation mode specified
in the Swift_COMPILATION_MODE target property, initialized as each
target is created by the CMAKE_Swift_COMPILATION_MODE variable.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0158

Next topic

CMP0156

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0157

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0158 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0157" href="CMP0157.html" />
    <link rel="prev" title="CMP0159" href="CMP0159.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0158

CMP0158¶

New in version 3.29.

add_test() honors CMAKE_CROSSCOMPILING_EMULATOR only
when cross-compiling.

In CMake 3.28 and below, add_test() unconditionally used the
CROSSCOMPILING_EMULATOR target property (initialized by the
CMAKE_CROSSCOMPILING_EMULATOR variable) to run test commands
naming executable targets.  CMake 3.29 and above prefer to use the emulator
only when the CMAKE_CROSSCOMPILING variable is enabled.  The
CMAKE_TEST_LAUNCHER variable may be used instead when not
cross-compiling.  This policy provides compatibility for projects that
have not been updated.

The OLD behavior for this policy is for add_test() to use
the CROSSCOMPILING_EMULATOR target property unconditionally.
The NEW behavior for this policy is for add_test() to use
the CROSSCOMPILING_EMULATOR target property only when
cross-compiling.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0159

Next topic

CMP0157

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0158

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0159 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0158" href="CMP0158.html" />
    <link rel="prev" title="CMP0160" href="CMP0160.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0159

CMP0159¶

New in version 3.29.

file(STRINGS) with REGEX updates CMAKE_MATCH_<n>.

In CMake 3.28 and below the file(STRINGS) command's REGEX
option does not affect CMAKE_MATCH_<n> variables.  CMake 3.29
and above prefer to update the CMAKE_MATCH_<n> variables using
captures from the last match in the file, similar to the
string(REGEX MATCHALL) command.  This policy provides
compatibility for projects that have not been updated to expect the behavior.

The OLD behavior for this policy is for file(STRINGS) with
REGEX to not store capture groups in CMAKE_MATCH_<n>
variables.  The NEW behavior is to store the capture groups.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake does not warn, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0160

Next topic

CMP0158

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0159

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0160 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0159" href="CMP0159.html" />
    <link rel="prev" title="CMP0161" href="CMP0161.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0160

CMP0160¶

New in version 3.29.

More read-only target properties now error when trying to set them.

The set_target_properties() and set_property() commands
are intended to error out on all read-only properties. However, CMake 3.28 and
below only did this for the following properties:

HEADER_SETS

INTERFACE_HEADER_SETS

IMPORTED_GLOBAL

MANUALLY_ADDED_DEPENDENCIES

NAME

TYPE

This policy enforces the read-only nature of the following target properties:

ALIAS_GLOBAL

BINARY_DIR

CXX_MODULE_SETS

IMPORTED

INTERFACE_CXX_MODULE_SETS

LOCATION

LOCATION_<CONFIG>

SOURCE_DIR

The OLD behavior for this policy is to only error out for the properties
MANUALLY_ADDED_DEPENDENCIES, NAME, and TYPE.
The NEW behavior for this policy is to error out on all target properties
that are documented as read-only.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

CMP0161

Next topic

CMP0159

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0160

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMP0161 — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CMP0160" href="CMP0160.html" />
    <link rel="prev" title="cmake-policies(7)" href="../manual/cmake-policies.7.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0161

CMP0161¶

New in version 3.29.

The CPACK_PRODUCTBUILD_DOMAINS variable defaults to true.

Before CMake 3.29, the CPACK_PRODUCTBUILD_DOMAINS variable is
unset by default.  When using the CPack productbuild Generator,
this disables the use of the domains attribute in the productbuild
Distribution XML, and falls back to the auth attribute instead.
These attributes control where a productbuild package is allowed to be
installed.  But the auth attribute has been deprecated by Apple,
so projects should migrate to using domains instead.

CMake 3.29 and above prefer to use a default value of true for
CPACK_PRODUCTBUILD_DOMAINS, which means domains will be used
by default unless the project explicitly sets
CPACK_PRODUCTBUILD_DOMAINS to false.
This policy provides compatibility with projects that enabled the
CPack productbuild Generator, but did not explicitly set
CPACK_PRODUCTBUILD_DOMAINS.

The OLD behavior for this policy is to leave
CPACK_PRODUCTBUILD_DOMAINS unset if it hasn't been set.
The NEW behavior for this policy is to use a default value of true for
CPACK_PRODUCTBUILD_DOMAINS.

This policy was introduced in CMake version 3.29.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.

Note that a warning will only be emitted if the
CPACK_BINARY_PRODUCTBUILD variable is
set to true and the project is being built for an Apple platform.

Note

The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.

Previous topic

cmake-policies(7)

Next topic

CMP0160

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-policies(7) »

CMP0161

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>ADVANCED — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="HELPSTRING" href="HELPSTRING.html" />
    <link rel="prev" title="XCODE_LAST_KNOWN_FILE_TYPE" href="../prop_sf/XCODE_LAST_KNOWN_FILE_TYPE.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADVANCED

ADVANCED¶

True if entry should be hidden by default in GUIs.

This is a boolean value indicating whether the entry is considered
interesting only for advanced configuration.  The mark_as_advanced()
command modifies this property.

Previous topic

XCODE_LAST_KNOWN_FILE_TYPE

Next topic

HELPSTRING

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADVANCED

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>HELPSTRING — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="MODIFIED" href="MODIFIED.html" />
    <link rel="prev" title="ADVANCED" href="ADVANCED.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

HELPSTRING

HELPSTRING¶

Help associated with entry in GUIs.

This string summarizes the purpose of an entry to help users set it
through a CMake GUI.

Previous topic

ADVANCED

Next topic

MODIFIED

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

HELPSTRING

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>MODIFIED — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="STRINGS" href="STRINGS.html" />
    <link rel="prev" title="HELPSTRING" href="HELPSTRING.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

MODIFIED

MODIFIED¶

Internal management property.  Do not set or get.

This is an internal cache entry property managed by CMake to track
interactive user modification of entries.  Ignore it.

Previous topic

HELPSTRING

Next topic

STRINGS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

MODIFIED

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>STRINGS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="TYPE" href="TYPE.html" />
    <link rel="prev" title="MODIFIED" href="MODIFIED.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

STRINGS

STRINGS¶

Enumerate possible STRING entry values for GUI selection.

For cache entries with type STRING, this enumerates a set of values.
CMake GUIs may use this to provide a selection widget instead of a
generic string entry field.  This is for convenience only.  CMake does
not enforce that the value matches one of those listed.

Previous topic

MODIFIED

Next topic

TYPE

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

STRINGS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>TYPE — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="VALUE" href="VALUE.html" />
    <link rel="prev" title="STRINGS" href="STRINGS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

TYPE

TYPE¶

Widget type for entry in GUIs.

Cache entry values are always strings, but CMake GUIs present widgets
to help users set values.  The GUIs use this property as a hint to
determine the widget type.  Valid TYPE values are:

BOOL          = Boolean ON/OFF value.
PATH          = Path to a directory.
FILEPATH      = Path to a file.
STRING        = Generic string value.
INTERNAL      = Do not present in GUI at all.
STATIC        = Value managed by CMake, do not change.
UNINITIALIZED = Type not yet specified.

Generally the TYPE of a cache entry should be set by the command which
creates it ( set(), option(), find_library(), etc.).

Previous topic

STRINGS

Next topic

VALUE

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

TYPE

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>VALUE — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CPACK_DESKTOP_SHORTCUTS" href="../prop_inst/CPACK_DESKTOP_SHORTCUTS.html" />
    <link rel="prev" title="TYPE" href="TYPE.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

VALUE

VALUE¶

Value of a cache entry.

This property maps to the actual value of a cache entry.  Setting this
property always sets the value without checking, so use with care.

Previous topic

TYPE

Next topic

CPACK_DESKTOP_SHORTCUTS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

VALUE

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>ADDITIONAL_CLEAN_FILES — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="BINARY_DIR" href="BINARY_DIR.html" />
    <link rel="prev" title="XCODE_EMIT_EFFECTIVE_PLATFORM_NAME" href="../prop_gbl/XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADDITIONAL_CLEAN_FILES

ADDITIONAL_CLEAN_FILES¶

New in version 3.15.

A ;-list of files or directories that will be
removed as a part of the global clean target.  It is useful for
specifying generated files or directories that are used by multiple targets
or by CMake itself, or that are generated in ways which cannot be captured as
outputs or byproducts of custom commands.

If an additional clean file is specific to a single target only, then the
ADDITIONAL_CLEAN_FILES target property would usually be a better
choice than this directory property.

Relative paths are allowed and are interpreted relative to the
current binary directory.

Contents of ADDITIONAL_CLEAN_FILES may use
generator expressions.

This property only works for the Ninja and the Makefile
generators.  It is ignored by other generators.

Previous topic

XCODE_EMIT_EFFECTIVE_PLATFORM_NAME

Next topic

BINARY_DIR

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADDITIONAL_CLEAN_FILES

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>ADDITIONAL_MAKE_CLEAN_FILES — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="COMPILE_DEFINITIONS_<CONFIG>" href="COMPILE_DEFINITIONS_CONFIG.html" />
    <link rel="prev" title="CPACK_WIX_ACL" href="../prop_inst/CPACK_WIX_ACL.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADDITIONAL_MAKE_CLEAN_FILES

ADDITIONAL_MAKE_CLEAN_FILES¶

Deprecated since version 3.15: Use ADDITIONAL_CLEAN_FILES instead.

Additional files to remove during the clean stage.

A ;-list of files that will be removed as a
part of the make clean target.

Arguments to ADDITIONAL_MAKE_CLEAN_FILES may use
generator expressions.

This property only works for the Makefile generators.
It is ignored on other generators.

Previous topic

CPACK_WIX_ACL

Next topic

COMPILE_DEFINITIONS_<CONFIG>

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ADDITIONAL_MAKE_CLEAN_FILES

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>BINARY_DIR — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="BUILDSYSTEM_TARGETS" href="BUILDSYSTEM_TARGETS.html" />
    <link rel="prev" title="ADDITIONAL_CLEAN_FILES" href="ADDITIONAL_CLEAN_FILES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

BINARY_DIR

BINARY_DIR¶

New in version 3.7.

This read-only directory property reports absolute path to the binary
directory corresponding to the source on which it is read.

Previous topic

ADDITIONAL_CLEAN_FILES

Next topic

BUILDSYSTEM_TARGETS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

BINARY_DIR

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>BUILDSYSTEM_TARGETS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CACHE_VARIABLES" href="CACHE_VARIABLES.html" />
    <link rel="prev" title="BINARY_DIR" href="BINARY_DIR.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

BUILDSYSTEM_TARGETS

BUILDSYSTEM_TARGETS¶

New in version 3.7.

This read-only directory property contains a
semicolon-separated list of buildsystem targets added in the
directory by calls to the add_library(), add_executable(),
and add_custom_target() commands.  The list does not include any
Imported Targets or Alias Targets, but does include
Interface Libraries.  Each entry in the list is the logical name
of a target, suitable to pass to the get_property() command
TARGET option.

See also the IMPORTED_TARGETS directory property.

Previous topic

BINARY_DIR

Next topic

CACHE_VARIABLES

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

BUILDSYSTEM_TARGETS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CACHE_VARIABLES — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="CLEAN_NO_CUSTOM" href="CLEAN_NO_CUSTOM.html" />
    <link rel="prev" title="BUILDSYSTEM_TARGETS" href="BUILDSYSTEM_TARGETS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CACHE_VARIABLES

CACHE_VARIABLES¶

List of cache variables available in the current directory.

This read-only property specifies the list of CMake cache variables
currently defined.  It is intended for debugging purposes.

Previous topic

BUILDSYSTEM_TARGETS

Next topic

CLEAN_NO_CUSTOM

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CACHE_VARIABLES

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CLEAN_NO_CUSTOM — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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_CONFIGURE_DEPENDS" href="CMAKE_CONFIGURE_DEPENDS.html" />
    <link rel="prev" title="CACHE_VARIABLES" href="CACHE_VARIABLES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CLEAN_NO_CUSTOM

CLEAN_NO_CUSTOM¶

Set to true to tell Makefile Generators not to remove the outputs of
custom commands for this directory during the make clean operation.
This is ignored on other generators because it is not possible to implement.

Previous topic

CACHE_VARIABLES

Next topic

CMAKE_CONFIGURE_DEPENDS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CLEAN_NO_CUSTOM

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CMAKE_CONFIGURE_DEPENDS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="COMPILE_DEFINITIONS" href="COMPILE_DEFINITIONS.html" />
    <link rel="prev" title="CLEAN_NO_CUSTOM" href="CLEAN_NO_CUSTOM.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CMAKE_CONFIGURE_DEPENDS

CMAKE_CONFIGURE_DEPENDS¶

Tell CMake about additional input files to the configuration process.
If any named file is modified the build system will re-run CMake to
re-configure the file and generate the build system again.

Specify files as a semicolon-separated list of paths.  Relative paths
are interpreted as relative to the current source directory.

Previous topic

CLEAN_NO_CUSTOM

Next topic

COMPILE_DEFINITIONS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

CMAKE_CONFIGURE_DEPENDS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>COMPILE_DEFINITIONS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="COMPILE_OPTIONS" href="COMPILE_OPTIONS.html" />
    <link rel="prev" title="CMAKE_CONFIGURE_DEPENDS" href="CMAKE_CONFIGURE_DEPENDS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_DEFINITIONS

COMPILE_DEFINITIONS¶

Preprocessor definitions for compiling a directory's sources.

This property specifies the list of options given so far to the
add_compile_definitions() (or add_definitions()) command.

The COMPILE_DEFINITIONS property may be set to a semicolon-separated
list of preprocessor definitions using the syntax VAR or VAR=value.
Function-style definitions are not supported.  CMake will
automatically escape the value correctly for the native build system
(note that CMake language syntax may require escapes to specify some
values).

This property will be initialized in each directory by its value in the
directory's parent.

CMake will automatically drop some definitions that are not supported
by the native build tool.

New in version 3.26: Any leading -D on an item will be removed.

Disclaimer: Most native build tools have poor support for escaping
certain values.  CMake has work-arounds for many cases but some values
may just not be possible to pass correctly.  If a value does not seem
to be escaped correctly, do not attempt to work-around the problem by
adding escape sequences to the value.  Your work-around may break in a
future version of CMake that has improved escape support.  Instead
consider defining the macro in a (configured) header file.  Then
report the limitation.  Known limitations include:

#          - broken almost everywhere
;          - broken in VS IDE 7.0 and Borland Makefiles
,          - broken in VS IDE
%          - broken in some cases in NMake
& |        - broken in some cases on MinGW
^ < > \"   - broken in most Make tools on Windows

CMake does not reject these values outright because they do work in
some cases.  Use with caution.

Contents of COMPILE_DEFINITIONS may use "generator expressions" with
the syntax $<...>.  See the cmake-generator-expressions(7)
manual for available expressions.  See the cmake-buildsystem(7)
manual for more on defining buildsystem properties.

The corresponding COMPILE_DEFINITIONS_<CONFIG> property may
be set to specify per-configuration definitions.  Generator expressions
should be preferred instead of setting the alternative property.

Previous topic

CMAKE_CONFIGURE_DEPENDS

Next topic

COMPILE_OPTIONS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_DEFINITIONS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>COMPILE_DEFINITIONS_<CONFIG> — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="INTERPROCEDURAL_OPTIMIZATION" href="INTERPROCEDURAL_OPTIMIZATION.html" />
    <link rel="prev" title="ADDITIONAL_MAKE_CLEAN_FILES" href="ADDITIONAL_MAKE_CLEAN_FILES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_DEFINITIONS_<CONFIG>

<span id="prop_dir:COMPILE_DEFINITIONS_<CONFIG>">
COMPILE_DEFINITIONS_<CONFIG>¶

Ignored.  See CMake Policy CMP0043.

Per-configuration preprocessor definitions in a directory.

This is the configuration-specific version of COMPILE_DEFINITIONS
where <CONFIG> is an upper-case name (ex. COMPILE_DEFINITIONS_DEBUG).

This property will be initialized in each directory by its value in
the directory's parent.

Contents of COMPILE_DEFINITIONS_<CONFIG> may use "generator expressions"
with the syntax $<...>.  See the cmake-generator-expressions(7)
manual for available expressions.  See the cmake-buildsystem(7)
manual for more on defining buildsystem properties.

Generator expressions should be preferred instead of setting this property.

Previous topic

ADDITIONAL_MAKE_CLEAN_FILES

Next topic

INTERPROCEDURAL_OPTIMIZATION

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_DEFINITIONS_<CONFIG>

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>COMPILE_OPTIONS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="DEFINITIONS" href="DEFINITIONS.html" />
    <link rel="prev" title="COMPILE_DEFINITIONS" href="COMPILE_DEFINITIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_OPTIONS

COMPILE_OPTIONS¶

List of options to pass to the compiler.

This property holds a semicolon-separated list of options
given so far to the add_compile_options() command.

This property is used to initialize the COMPILE_OPTIONS target
property when a target is created, which is used by the generators to set
the options for the compiler.

Contents of COMPILE_OPTIONS may use "generator expressions" with the
syntax $<...>.  See the cmake-generator-expressions(7) manual
for available expressions.  See the cmake-buildsystem(7) manual
for more on defining buildsystem properties.

Previous topic

COMPILE_DEFINITIONS

Next topic

DEFINITIONS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

COMPILE_OPTIONS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>DEFINITIONS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="EXCLUDE_FROM_ALL" href="EXCLUDE_FROM_ALL.html" />
    <link rel="prev" title="COMPILE_OPTIONS" href="COMPILE_OPTIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

DEFINITIONS

DEFINITIONS¶

For CMake 2.4 compatibility only.  Use COMPILE_DEFINITIONS
instead.

This read-only property specifies the list of flags given so far to
the add_definitions() command.  It is intended for debugging
purposes.  Use the COMPILE_DEFINITIONS directory property
instead.

This built-in read-only property does not exist if policy
CMP0059 is set to NEW.

Previous topic

COMPILE_OPTIONS

Next topic

EXCLUDE_FROM_ALL

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

DEFINITIONS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>EXCLUDE_FROM_ALL — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="IMPLICIT_DEPENDS_INCLUDE_TRANSFORM" href="IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.html" />
    <link rel="prev" title="DEFINITIONS" href="DEFINITIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

EXCLUDE_FROM_ALL

EXCLUDE_FROM_ALL¶

Set this directory property to a true value on a subdirectory to exclude
its targets from the "all" target of its ancestors.  If excluded, running
e.g. make in the parent directory will not build targets the
subdirectory by default.  This does not affect the "all" target of the
subdirectory itself.  Running e.g. make inside the subdirectory will
still build its targets.

If the EXCLUDE_FROM_ALL target property is set on a target
then its value determines whether the target is included in the "all"
target of this directory and its ancestors.

Previous topic

DEFINITIONS

Next topic

IMPLICIT_DEPENDS_INCLUDE_TRANSFORM

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

EXCLUDE_FROM_ALL

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>IMPLICIT_DEPENDS_INCLUDE_TRANSFORM — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="IMPORTED_TARGETS" href="IMPORTED_TARGETS.html" />
    <link rel="prev" title="EXCLUDE_FROM_ALL" href="EXCLUDE_FROM_ALL.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPLICIT_DEPENDS_INCLUDE_TRANSFORM

IMPLICIT_DEPENDS_INCLUDE_TRANSFORM¶

Specify #include line transforms for dependencies in a directory.

This property specifies rules to transform macro-like #include lines
during implicit dependency scanning of C and C++ source files.  The
list of rules must be semicolon-separated with each entry of the form
A_MACRO(%)=value-with-% (the % must be literal).  During dependency
scanning occurrences of A_MACRO(...) on #include lines will be
replaced by the value given with the macro argument substituted for
%.  For example, the entry

MYDIR(%)=<mydir/%>

will convert lines of the form

#include MYDIR(myheader.h)

to

#include <mydir/myheader.h>

allowing the dependency to be followed.

This property applies to sources in all targets within a directory.
The property value is initialized in each directory by its value in
the directory's parent.

Previous topic

EXCLUDE_FROM_ALL

Next topic

IMPORTED_TARGETS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPLICIT_DEPENDS_INCLUDE_TRANSFORM

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>IMPORTED_TARGETS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="INCLUDE_DIRECTORIES" href="INCLUDE_DIRECTORIES.html" />
    <link rel="prev" title="IMPLICIT_DEPENDS_INCLUDE_TRANSFORM" href="IMPLICIT_DEPENDS_INCLUDE_TRANSFORM.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_TARGETS

IMPORTED_TARGETS¶

New in version 3.21.

This read-only directory property contains a
semicolon-separated list of
Imported Targets added in the directory by calls to the
add_library() and add_executable() commands.
Each entry in the list is the logical name of a target, suitable
to pass to the get_property() command TARGET option
when called in the same directory.

See also the BUILDSYSTEM_TARGETS directory property.

Previous topic

IMPLICIT_DEPENDS_INCLUDE_TRANSFORM

Next topic

INCLUDE_DIRECTORIES

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_TARGETS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>INCLUDE_DIRECTORIES — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="INCLUDE_REGULAR_EXPRESSION" href="INCLUDE_REGULAR_EXPRESSION.html" />
    <link rel="prev" title="IMPORTED_TARGETS" href="IMPORTED_TARGETS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INCLUDE_DIRECTORIES

INCLUDE_DIRECTORIES¶

List of preprocessor include file search directories.

This property specifies the list of directories given so far to the
include_directories() command.

This property is used to populate the INCLUDE_DIRECTORIES
target property, which is used by the generators to set the include
directories for the compiler.

In addition to accepting values from that command, values may be set
directly on any directory using the set_property() command, and can be
set on the current directory using the set_directory_properties()
command.  A directory gets its initial value from its parent directory if it has
one.  The initial value of the INCLUDE_DIRECTORIES target property
comes from the value of this property.  Both directory and target property
values are adjusted by calls to the include_directories() command.
Calls to set_property() or set_directory_properties(),
however, will update the directory property value without updating target
property values.  Therefore direct property updates must be made before
calls to add_executable() or add_library() for targets
they are meant to affect.

The target property values are used by the generators to set the
include paths for the compiler.

Contents of INCLUDE_DIRECTORIES may use "generator expressions" with
the syntax $<...>.  See the cmake-generator-expressions(7)
manual for available expressions.  See the cmake-buildsystem(7)
manual for more on defining buildsystem properties.

Previous topic

IMPORTED_TARGETS

Next topic

INCLUDE_REGULAR_EXPRESSION

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INCLUDE_DIRECTORIES

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>INCLUDE_REGULAR_EXPRESSION — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="LABELS" href="LABELS.html" />
    <link rel="prev" title="INCLUDE_DIRECTORIES" href="INCLUDE_DIRECTORIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INCLUDE_REGULAR_EXPRESSION

INCLUDE_REGULAR_EXPRESSION¶

Include file scanning regular expression.

This property specifies the regular expression used during
dependency scanning to match include files that should be followed.
See the include_regular_expression() command for a high-level
interface to set this property.

Previous topic

INCLUDE_DIRECTORIES

Next topic

LABELS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INCLUDE_REGULAR_EXPRESSION

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>INTERPROCEDURAL_OPTIMIZATION — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="INTERPROCEDURAL_OPTIMIZATION_<CONFIG>" href="INTERPROCEDURAL_OPTIMIZATION_CONFIG.html" />
    <link rel="prev" title="COMPILE_DEFINITIONS_<CONFIG>" href="COMPILE_DEFINITIONS_CONFIG.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERPROCEDURAL_OPTIMIZATION

INTERPROCEDURAL_OPTIMIZATION¶

This directory property does not exist anymore.

See the target property INTERPROCEDURAL_OPTIMIZATION instead.

Previous topic

COMPILE_DEFINITIONS_<CONFIG>

Next topic

INTERPROCEDURAL_OPTIMIZATION_<CONFIG>

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERPROCEDURAL_OPTIMIZATION

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>INTERPROCEDURAL_OPTIMIZATION_<CONFIG> — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="TEST_INCLUDE_FILE" href="TEST_INCLUDE_FILE.html" />
    <link rel="prev" title="INTERPROCEDURAL_OPTIMIZATION" href="INTERPROCEDURAL_OPTIMIZATION.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERPROCEDURAL_OPTIMIZATION_<CONFIG>

<span id="prop_dir:INTERPROCEDURAL_OPTIMIZATION_<CONFIG>">
INTERPROCEDURAL_OPTIMIZATION_<CONFIG>¶

This directory property does not exist anymore.

See the target property INTERPROCEDURAL_OPTIMIZATION_<CONFIG> instead.

Previous topic

INTERPROCEDURAL_OPTIMIZATION

Next topic

TEST_INCLUDE_FILE

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERPROCEDURAL_OPTIMIZATION_<CONFIG>

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>LABELS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="LINK_DIRECTORIES" href="LINK_DIRECTORIES.html" />
    <link rel="prev" title="INCLUDE_REGULAR_EXPRESSION" href="INCLUDE_REGULAR_EXPRESSION.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LABELS

LABELS¶

New in version 3.10.

Specify a list of text labels associated with a directory and all of its
subdirectories. This is equivalent to setting the LABELS target
property and the LABELS test property on all targets and tests in
the current directory and subdirectories. Note: Launchers must enabled to
propagate labels to targets.

The CMAKE_DIRECTORY_LABELS variable can be used to initialize this
property.

The list is reported in dashboard submissions.

Previous topic

INCLUDE_REGULAR_EXPRESSION

Next topic

LINK_DIRECTORIES

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LABELS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>LINK_DIRECTORIES — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="LINK_OPTIONS" href="LINK_OPTIONS.html" />
    <link rel="prev" title="LABELS" href="LABELS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LINK_DIRECTORIES

LINK_DIRECTORIES¶

List of linker search directories.

This property holds a semicolon-separated list of directories
and is typically populated using the link_directories() command.
It gets its initial value from its parent directory, if it has one.

The directory property is used to initialize the LINK_DIRECTORIES
target property when a target is created.  That target property is used
by the generators to set the library search directories for the linker.

Contents of LINK_DIRECTORIES may use "generator expressions" with
the syntax $<...>.  See the cmake-generator-expressions(7)
manual for available expressions.  See the cmake-buildsystem(7)
manual for more on defining buildsystem properties.

Previous topic

LABELS

Next topic

LINK_OPTIONS

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LINK_DIRECTORIES

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>LINK_OPTIONS — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="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="LISTFILE_STACK" href="LISTFILE_STACK.html" />
    <link rel="prev" title="LINK_DIRECTORIES" href="LINK_DIRECTORIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LINK_OPTIONS

LINK_OPTIONS¶

New in version 3.13.

List of options to use for the link step of shared library, module
and executable targets as well as the device link step.

This property holds a semicolon-separated list of options
given so far to the add_link_options() command.

This property is used to initialize the LINK_OPTIONS target
property when a target is created, which is used by the generators to set
the options for the compiler.

Contents of LINK_OPTIONS may use "generator expressions" with the
syntax $<...>.  See the cmake-generator-expressions(7) manual
for available expressions.  See the cmake-buildsystem(7) manual
for more on defining buildsystem properties.

Previous topic

LINK_DIRECTORIES

Next topic

LISTFILE_STACK

This Page

Show Source

Quick search

    <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>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

LINK_OPTIONS

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.