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_OBJECTS — 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_OBJECTS_<CONFIG>" href="IMPORTED_OBJECTS_CONFIG.html" />
    <link rel="prev" title="IMPORTED_NO_SONAME_<CONFIG>" href="IMPORTED_NO_SONAME_CONFIG.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_OBJECTS

IMPORTED_OBJECTS¶

New in version 3.9.

A semicolon-separated list of absolute paths
to the object files on disk for an imported
object library.

Ignored for non-imported targets.

Projects may skip IMPORTED_OBJECTS if the configuration-specific
property IMPORTED_OBJECTS_<CONFIG> is set instead, except in
situations as noted in the section below.

Xcode Generator Considerations¶

New in version 3.20.

For Apple platforms, a project may be built for more than one architecture.
This is controlled by the CMAKE_OSX_ARCHITECTURES variable.
For all but the Xcode generator, CMake invokes compilers once
per source file and passes multiple -arch flags, leading to a single
object file which will be a universal binary.  Such object files work well
when listed in the IMPORTED_OBJECTS of a separate CMake build, even for
the Xcode generator.  But producing such object files with the
Xcode generator is more difficult, since it invokes the compiler
once per architecture for each source file.  Unlike the other generators,
it does not generate universal object file binaries.

A further complication with the Xcode generator is that when
targeting device platforms (iOS, tvOS, visionOS or watchOS), the Xcode
generator has the ability to use either the device or simulator SDK without
needing CMake to be re-run.  The SDK can be selected at build time.
But since some architectures can be supported by both the device and the
simulator SDKs (e.g. arm64 with Xcode 12 or later), not all combinations
can be represented in a single universal binary.  The only solution in this
case is to have multiple object files.

IMPORTED_OBJECTS doesn't support generator expressions, so every file
it lists needs to be valid for every architecture and SDK.  If incorporating
object files that are not universal binaries, the path and/or file name of
each object file has to somehow encapsulate the different architectures and
SDKs.  With the Xcode generator, Xcode variables of the form
$(...) can be used to represent these aspects and Xcode will substitute
the appropriate values at build time.  CMake doesn't interpret these
variables and embeds them unchanged in the Xcode project file.
$(CURRENT_ARCH) can be used to represent the architecture, while
$(EFFECTIVE_PLATFORM_NAME) can be used to differentiate between SDKs.

The following shows one example of how these two variables can be used to
refer to an object file whose location depends on both the SDK and the
architecture:

add_library(someObjs OBJECT IMPORTED)

set_property(TARGET someObjs PROPERTY IMPORTED_OBJECTS
  # Quotes are required because of the ()
  "/path/to/somewhere/objects$(EFFECTIVE_PLATFORM_NAME)/$(CURRENT_ARCH)/func.o"
)

# Example paths:
#   /path/to/somewhere/objects-iphoneos/arm64/func.o
#   /path/to/somewhere/objects-iphonesimulator/x86_64/func.o

In some cases, you may want to have configuration-specific object files
as well.  The $(CONFIGURATION) Xcode variable is often used for this and
can be used in conjunction with the others mentioned above:

add_library(someObjs OBJECT IMPORTED)
set_property(TARGET someObjs PROPERTY IMPORTED_OBJECTS
  "/path/to/somewhere/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/$(CURRENT_ARCH)/func.o"
)

# Example paths:
#   /path/to/somewhere/Release-iphoneos/arm64/func.o
#   /path/to/somewhere/Debug-iphonesimulator/x86_64/func.o

When any Xcode variable is used, CMake is not able to fully evaluate the
path(s) at configure time.  One consequence of this is that the
configuration-specific IMPORTED_OBJECTS_<CONFIG> properties cannot
be used, since CMake cannot determine whether an object file exists at a
particular <CONFIG> location.  The IMPORTED_OBJECTS property must be
used for these situations and the configuration-specific aspects of the path
should be handled by the $(CONFIGURATION) Xcode variable.

Table of Contents

IMPORTED_OBJECTS

Xcode Generator Considerations

Previous topic

IMPORTED_NO_SONAME_<CONFIG>

Next topic

IMPORTED_OBJECTS_<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) »

IMPORTED_OBJECTS

        © 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_OBJECTS_<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="IMPORTED_SONAME" href="IMPORTED_SONAME.html" />
    <link rel="prev" title="IMPORTED_OBJECTS" href="IMPORTED_OBJECTS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_OBJECTS_<CONFIG>

<span id="prop_tgt:IMPORTED_OBJECTS_<CONFIG>">
IMPORTED_OBJECTS_<CONFIG>¶

New in version 3.9.

<CONFIG>-specific version of IMPORTED_OBJECTS property.

Configuration names correspond to those provided by the project from
which the target is imported.

Xcode Generator Considerations¶

Do not use this <CONFIG>-specific property if you need to use Xcode
variables like $(CURRENT_ARCH) or $(EFFECTIVE_PLATFORM_NAME) in
the value.  The <CONFIG>-specific properties will be ignored in such
cases because CMake cannot determine whether a file exists at the
configuration-specific path at configuration time.  For such cases, use
IMPORTED_OBJECTS instead.

Table of Contents

IMPORTED_OBJECTS_<CONFIG>

Xcode Generator Considerations

Previous topic

IMPORTED_OBJECTS

Next topic

IMPORTED_SONAME

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

        © 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>IMPORTED_SONAME — 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_SONAME_<CONFIG>" href="IMPORTED_SONAME_CONFIG.html" />
    <link rel="prev" title="IMPORTED_OBJECTS_<CONFIG>" href="IMPORTED_OBJECTS_CONFIG.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_SONAME

IMPORTED_SONAME¶

The soname of an IMPORTED target of shared library type.

Set this to the soname embedded in an imported shared library.  This
is meaningful only on platforms supporting the feature.  Ignored for
non-imported targets.

Previous topic

IMPORTED_OBJECTS_<CONFIG>

Next topic

IMPORTED_SONAME_<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) »

IMPORTED_SONAME

        © 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_SONAME_<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="IMPORT_PREFIX" href="IMPORT_PREFIX.html" />
    <link rel="prev" title="IMPORTED_SONAME" href="IMPORTED_SONAME.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORTED_SONAME_<CONFIG>

<span id="prop_tgt:IMPORTED_SONAME_<CONFIG>">
IMPORTED_SONAME_<CONFIG>¶

<CONFIG>-specific version of IMPORTED_SONAME property.

Configuration names correspond to those provided by the project from
which the target is imported.

Previous topic

IMPORTED_SONAME

Next topic

IMPORT_PREFIX

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_SONAME_<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>IMPORT_PREFIX — 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="IMPORT_SUFFIX" href="IMPORT_SUFFIX.html" />
    <link rel="prev" title="IMPORTED_SONAME_<CONFIG>" href="IMPORTED_SONAME_CONFIG.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORT_PREFIX

IMPORT_PREFIX¶

What comes before the import library name.

Similar to the target property PREFIX, but used for import libraries
(typically corresponding to a DLL) instead of regular libraries.  A
target property that can be set to override the prefix (such as lib)
on an import library name.

Previous topic

IMPORTED_SONAME_<CONFIG>

Next topic

IMPORT_SUFFIX

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

IMPORT_PREFIX

        © 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>IMPORT_SUFFIX — 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="IMPORT_PREFIX" href="IMPORT_PREFIX.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IMPORT_SUFFIX

IMPORT_SUFFIX¶

What comes after the import library name.

Similar to the target property SUFFIX, but used
for import libraries (typically corresponding to a DLL) instead of
regular libraries.  A target property that can be set to override
the suffix (such as .lib) on an import library name.

Previous topic

IMPORT_PREFIX

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

IMPORT_SUFFIX

        © 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="INSTALL_NAME_DIR" href="INSTALL_NAME_DIR.html" />
    <link rel="prev" title="IMPORT_SUFFIX" href="IMPORT_SUFFIX.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
target_include_directories() command.  In addition to accepting
values from that command, values may be set directly on any
target using the set_property() command.  A target gets its
initial value for this property from the value of the
INCLUDE_DIRECTORIES directory property.  Both directory and
target property values are adjusted by calls to the
include_directories() command.

The value of this property is used by the generators to set the include
paths for the compiler.

Relative paths should not be added to this property directly. Use one of
the commands above instead to handle relative paths.

Contents of INCLUDE_DIRECTORIES may use cmake-generator-expressions(7) 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

IMPORT_SUFFIX

Next topic

INSTALL_NAME_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) »

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

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INSTALL_NAME_DIR

INSTALL_NAME_DIR¶

Directory name for installed targets on Apple platforms.

INSTALL_NAME_DIR is a string specifying the directory portion of the
"install_name" field of shared libraries on Apple platforms for
installed targets.  When not set, the default directory used is determined
by MACOSX_RPATH.  If the BUILD_WITH_INSTALL_NAME_DIR
property is set, this will be used already in the build tree.
Policies CMP0068 and CMP0042 are also relevant.

This property is initialized by the value of the variable
CMAKE_INSTALL_NAME_DIR if it is set when a target is
created.

This property supports generator expressions.
In particular, the $<INSTALL_PREFIX> generator expression can be
used to set the directory relative to the install-time prefix.

On platforms that support runtime paths (RPATH), refer to the
INSTALL_RPATH target property.
Under Windows, the TARGET_RUNTIME_DLLS generator expression is related.

Previous topic

INCLUDE_DIRECTORIES

Next topic

INSTALL_REMOVE_ENVIRONMENT_RPATH

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

INSTALL_NAME_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>INSTALL_REMOVE_ENVIRONMENT_RPATH — 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="INSTALL_RPATH" href="INSTALL_RPATH.html" />
    <link rel="prev" title="INSTALL_NAME_DIR" href="INSTALL_NAME_DIR.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INSTALL_REMOVE_ENVIRONMENT_RPATH

INSTALL_REMOVE_ENVIRONMENT_RPATH¶

New in version 3.16.

Controls whether toolchain-defined rpaths should be removed during installation.

When a target is being installed, CMake may need to rewrite its rpath
information.  This occurs when the install rpath (as specified by the
INSTALL_RPATH target property) has different contents to the rpath
that the target was built with.  Some toolchains insert their own rpath
contents into the binary as part of the build.  By default, CMake will
preserve those extra inserted contents in the install rpath.  For those
scenarios where such toolchain-inserted entries need to be discarded during
install, set the INSTALL_REMOVE_ENVIRONMENT_RPATH target property to true.

This property is initialized by the value of
CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH when the target is created.

Previous topic

INSTALL_NAME_DIR

Next topic

INSTALL_RPATH

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

INSTALL_REMOVE_ENVIRONMENT_RPATH

        © 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>INSTALL_RPATH — 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="INSTALL_RPATH_USE_LINK_PATH" href="INSTALL_RPATH_USE_LINK_PATH.html" />
    <link rel="prev" title="INSTALL_REMOVE_ENVIRONMENT_RPATH" href="INSTALL_REMOVE_ENVIRONMENT_RPATH.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INSTALL_RPATH

INSTALL_RPATH¶

The rpath to use for installed targets.

By default, the install rpath is empty. It can be set using this property,
which is a semicolon-separated list specifying the rpath to use in installed
targets (for platforms that support it).  This property is initialized
by the value of the variable CMAKE_INSTALL_RPATH if it is set
when a target is created.
Beside setting the install rpath manually, using the
INSTALL_RPATH_USE_LINK_PATH target property it can also be
generated automatically by CMake.

Normally CMake uses the build tree for the RPATH when building executables
etc on systems that use RPATH, see the BUILD_RPATH target
property. When the software is installed
the targets are edited (or relinked) by CMake (see
CMAKE_NO_BUILTIN_CHRPATH) to have the install RPATH.
This editing during installation can be avoided via
the BUILD_WITH_INSTALL_RPATH target property.

For handling toolchain-dependent RPATH entries the
INSTALL_REMOVE_ENVIRONMENT_RPATH can be used.
Runtime paths can be disabled completely via the CMAKE_SKIP_RPATH
variable.

Because the rpath may contain ${ORIGIN}, which coincides with CMake syntax,
the contents of INSTALL_RPATH are properly escaped in the
cmake_install.cmake script (see policy CMP0095.)

This property supports
generator expressions.

On Apple platforms, refer to the INSTALL_NAME_DIR target property.
Under Windows, the TARGET_RUNTIME_DLLS generator expression is related.

Previous topic

INSTALL_REMOVE_ENVIRONMENT_RPATH

Next topic

INSTALL_RPATH_USE_LINK_PATH

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

INSTALL_RPATH

        © 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>INSTALL_RPATH_USE_LINK_PATH — 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="INTERFACE_AUTOMOC_MACRO_NAMES" href="INTERFACE_AUTOMOC_MACRO_NAMES.html" />
    <link rel="prev" title="INSTALL_RPATH" href="INSTALL_RPATH.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INSTALL_RPATH_USE_LINK_PATH

INSTALL_RPATH_USE_LINK_PATH¶

Add paths to linker search and installed rpath.

INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to TRUE
will append to the runtime search path (rpath) of installed binaries
any directories outside the project that are in the linker search path or
contain linked library files.  The directories are appended after the
value of the INSTALL_RPATH target property.

This property is initialized by the value of the variable
CMAKE_INSTALL_RPATH_USE_LINK_PATH if it is set when a target is
created.

Previous topic

INSTALL_RPATH

Next topic

INTERFACE_AUTOMOC_MACRO_NAMES

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

INSTALL_RPATH_USE_LINK_PATH

        © 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>INTERFACE_AUTOMOC_MACRO_NAMES — 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="INTERFACE_AUTOUIC_OPTIONS" href="INTERFACE_AUTOUIC_OPTIONS.html" />
    <link rel="prev" title="INSTALL_RPATH_USE_LINK_PATH" href="INSTALL_RPATH_USE_LINK_PATH.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_AUTOMOC_MACRO_NAMES

INTERFACE_AUTOMOC_MACRO_NAMES¶

New in version 3.27.

A semicolon-separated list of macro names for
AUTOMOC to be propagated to consumers.

When a target with AUTOMOC enabled links to a library that sets
INTERFACE_AUTOMOC_MACRO_NAMES, the target inherits the listed macro names
and merges them with those specified in its own AUTOMOC_MACRO_NAMES
property.  The target will then automatically generate MOC files for source
files that contain the inherited macro names too, not just the macro names
specified in its own AUTOMOC_MACRO_NAMES property.

By default INTERFACE_AUTOMOC_MACRO_NAMES is empty.

See the cmake-qt(7) manual for more information on using CMake
with Qt.

Example 1¶

In this example, myapp inherits the macro names STATIC_LIB_1 and
STATIC_LIB_2 from static_lib.  The moc tool will then automatically
be run on any of the myapp sources which contain STATIC_LIB_1 or
STATIC_LIB_2.

set(AUTOMOC ON)
add_executable(myapp main.cpp)
target_link_libraries(myapp PRIVATE static_lib)

add_library(static_lib STATIC static.cpp)
set_property(TARGET static_lib PROPERTY
  INTERFACE_AUTOMOC_MACRO_NAMES "STATIC_LIB_1;STATIC_LIB_2"
)

Example 2¶

In this example, the INTERFACE_AUTOMOC_MACRO_NAMES target property of the
various *_deep_lib libraries will propagate to shared_lib,
static_lib and interface_lib.  Because the linking relationships are
specified as PUBLIC and INTERFACE, those macro names will also further
propagate transitively up to app.

set(AUTOMOC ON)

add_library(shared_deep_lib SHARED deep_lib.cpp)
add_library(static_deep_lib STATIC deep_lib.cpp)
add_library(interface_deep_lib INTERFACE)

set_property(TARGET shared_deep_lib PROPERTY
  INTERFACE_AUTOMOC_MACRO_NAMES "SHARED_LINK_LIB"
)
set_property(TARGET static_deep_lib PROPERTY
  INTERFACE_AUTOMOC_MACRO_NAMES "STATIC_LINK_LIB"
)
set_property(TARGET interface_deep_lib PROPERTY
  INTERFACE_AUTOMOC_MACRO_NAMES "INTERFACE_LINK_LIB"
)

add_library(shared_lib SHARED lib.cpp)
add_library(static_lib STATIC lib.cpp)
add_library(interface_lib INTERFACE)

# PUBLIC and INTERFACE here ensure the macro names propagate to any
# consumers of shared_lib, static_lib or interface_lib too
target_link_libraries(shared_lib PUBLIC shared_deep_lib)
target_link_libraries(static_lib PUBLIC static_deep_lib)
target_link_libraries(interface_lib INTERFACE interface_deep_lib)

# This consumer will receive all three of the above custom macro names as
# transitive usage requirements
add_executable(app main.cpp)
target_link_libraries(app PRIVATE shared_lib static_lib interface_lib)

In the above:

shared_lib sources will be processed by moc if they contain
SHARED_LINK_LIB.

static_lib sources will be processed by moc if they contain
STATIC_LINK_LIB.

app sources will be processed by moc if they contain
SHARED_LINK_LIB, STATIC_LINK_LIB or INTERFACE_LINK_LIB.

Table of Contents

INTERFACE_AUTOMOC_MACRO_NAMES

Example 1

Example 2

Previous topic

INSTALL_RPATH_USE_LINK_PATH

Next topic

INTERFACE_AUTOUIC_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) »

INTERFACE_AUTOMOC_MACRO_NAMES

        © 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>INTERFACE_AUTOUIC_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="INTERFACE_COMPILE_DEFINITIONS" href="INTERFACE_COMPILE_DEFINITIONS.html" />
    <link rel="prev" title="INTERFACE_AUTOMOC_MACRO_NAMES" href="INTERFACE_AUTOMOC_MACRO_NAMES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_AUTOUIC_OPTIONS

INTERFACE_AUTOUIC_OPTIONS¶

List of interface options to pass to uic.

Targets may populate this property to publish the options
required to use when invoking uic.  Consuming targets can add entries to their
own AUTOUIC_OPTIONS property such as
$<TARGET_PROPERTY:foo,INTERFACE_AUTOUIC_OPTIONS> to use the uic options
specified in the interface of foo. This is done automatically by
the target_link_libraries() command.

This property supports generator expressions.  See the
cmake-generator-expressions(7) manual for available expressions.

Previous topic

INTERFACE_AUTOMOC_MACRO_NAMES

Next topic

INTERFACE_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) »

INTERFACE_AUTOUIC_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>INTERFACE_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="INTERFACE_COMPILE_FEATURES" href="INTERFACE_COMPILE_FEATURES.html" />
    <link rel="prev" title="INTERFACE_AUTOUIC_OPTIONS" href="INTERFACE_AUTOUIC_OPTIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_COMPILE_DEFINITIONS

INTERFACE_COMPILE_DEFINITIONS¶

List of public compile definitions requirements for a library.

Targets may populate this property to publish the compile definitions
required to compile against the headers for the target.  The target_compile_definitions()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_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.

Previous topic

INTERFACE_AUTOUIC_OPTIONS

Next topic

INTERFACE_COMPILE_FEATURES

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

INTERFACE_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>INTERFACE_COMPILE_FEATURES — 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="INTERFACE_COMPILE_OPTIONS" href="INTERFACE_COMPILE_OPTIONS.html" />
    <link rel="prev" title="INTERFACE_COMPILE_DEFINITIONS" href="INTERFACE_COMPILE_DEFINITIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_COMPILE_FEATURES

INTERFACE_COMPILE_FEATURES¶

New in version 3.1.

List of public compile features requirements for a library.

Targets may populate this property to publish the compile features
required to compile against the headers for the target.  The target_compile_features()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_COMPILE_FEATURES 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.

See the cmake-compile-features(7) manual for information on compile
features and a list of supported compilers.

Previous topic

INTERFACE_COMPILE_DEFINITIONS

Next topic

INTERFACE_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) »

INTERFACE_COMPILE_FEATURES

        © 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>INTERFACE_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="INTERFACE_CXX_MODULE_SETS" href="INTERFACE_CXX_MODULE_SETS.html" />
    <link rel="prev" title="INTERFACE_COMPILE_FEATURES" href="INTERFACE_COMPILE_FEATURES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_COMPILE_OPTIONS

INTERFACE_COMPILE_OPTIONS¶

List of public compile options requirements for a library.

Targets may populate this property to publish the compile options
required to compile against the headers for the target.  The target_compile_options()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_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

INTERFACE_COMPILE_FEATURES

Next topic

INTERFACE_CXX_MODULE_SETS

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

INTERFACE_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>INTERFACE_CXX_MODULE_SETS — 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="INTERFACE_HEADER_SETS" href="INTERFACE_HEADER_SETS.html" />
    <link rel="prev" title="INTERFACE_COMPILE_OPTIONS" href="INTERFACE_COMPILE_OPTIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_CXX_MODULE_SETS

INTERFACE_CXX_MODULE_SETS¶

New in version 3.28.

Read-only list of the target's PUBLIC C++ module sets (i.e. all file sets
with the type CXX_MODULES). Files listed in these C++ module sets can be
installed with install(TARGETS) and exported with
install(EXPORT) and export().

C++ module sets may be defined using the target_sources() command
FILE_SET option with type CXX_MODULES.

See also CXX_MODULE_SETS.

Previous topic

INTERFACE_COMPILE_OPTIONS

Next topic

INTERFACE_HEADER_SETS

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

INTERFACE_CXX_MODULE_SETS

        © 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>INTERFACE_HEADER_SETS — 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="INTERFACE_HEADER_SETS_TO_VERIFY" href="INTERFACE_HEADER_SETS_TO_VERIFY.html" />
    <link rel="prev" title="INTERFACE_CXX_MODULE_SETS" href="INTERFACE_CXX_MODULE_SETS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_HEADER_SETS

INTERFACE_HEADER_SETS¶

New in version 3.23.

Read-only list of the target's INTERFACE and PUBLIC header sets (i.e.
all file sets with the type HEADERS). Files listed in these header sets
can be installed with install(TARGETS) and exported with
install(EXPORT) and export().

Header sets may be defined using the target_sources() command
FILE_SET option with type HEADERS.

See also HEADER_SETS.

Previous topic

INTERFACE_CXX_MODULE_SETS

Next topic

INTERFACE_HEADER_SETS_TO_VERIFY

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

INTERFACE_HEADER_SETS

        © 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>INTERFACE_HEADER_SETS_TO_VERIFY — 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="INTERFACE_INCLUDE_DIRECTORIES" href="INTERFACE_INCLUDE_DIRECTORIES.html" />
    <link rel="prev" title="INTERFACE_HEADER_SETS" href="INTERFACE_HEADER_SETS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_HEADER_SETS_TO_VERIFY

INTERFACE_HEADER_SETS_TO_VERIFY¶

New in version 3.24.

Used to specify which PUBLIC and INTERFACE header sets of a target
should be verified.

This property contains a semicolon-separated list of header sets which
should be verified if VERIFY_INTERFACE_HEADER_SETS is set to
TRUE. If the list is empty, all PUBLIC and INTERFACE header sets
are verified. (If the project does not want to verify any header sets on the
target, simply set VERIFY_INTERFACE_HEADER_SETS to FALSE.)

Previous topic

INTERFACE_HEADER_SETS

Next topic

INTERFACE_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) »

INTERFACE_HEADER_SETS_TO_VERIFY

        © 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>INTERFACE_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="INTERFACE_LINK_DEPENDS" href="INTERFACE_LINK_DEPENDS.html" />
    <link rel="prev" title="INTERFACE_HEADER_SETS_TO_VERIFY" href="INTERFACE_HEADER_SETS_TO_VERIFY.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_INCLUDE_DIRECTORIES

INTERFACE_INCLUDE_DIRECTORIES¶

List of public include directories requirements for a library.

Targets may populate this property to publish the include directories
required to compile against the headers for the target.  The target_include_directories()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_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.

Include directories usage requirements commonly differ between the build-tree
and the install-tree.  The BUILD_INTERFACE and INSTALL_INTERFACE
generator expressions can be used to describe separate usage requirements
based on the usage location.  Relative paths are allowed within the
INSTALL_INTERFACE expression and are interpreted relative to the
installation prefix.  For example:

target_include_directories(mylib INTERFACE
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/mylib>
  $<INSTALL_INTERFACE:include/mylib>  # <prefix>/include/mylib
)

Creating Relocatable Packages¶

Note that it is not advisable to populate the INSTALL_INTERFACE of
the INTERFACE_INCLUDE_DIRECTORIES of a target with absolute paths to the include
directories of dependencies.  That would hard-code into installed packages
the include directory paths for dependencies
as found on the machine the package was made on.

The INSTALL_INTERFACE of the INTERFACE_INCLUDE_DIRECTORIES is only
suitable for specifying the required include directories for headers
provided with the target itself, not those provided by the transitive
dependencies listed in its INTERFACE_LINK_LIBRARIES target
property.  Those dependencies should themselves be targets that specify
their own header locations in INTERFACE_INCLUDE_DIRECTORIES.

See the Creating Relocatable Packages section of the
cmake-packages(7) manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.

Table of Contents

INTERFACE_INCLUDE_DIRECTORIES

Creating Relocatable Packages

Previous topic

INTERFACE_HEADER_SETS_TO_VERIFY

Next topic

INTERFACE_LINK_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) »

INTERFACE_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>INTERFACE_LINK_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="INTERFACE_LINK_DIRECTORIES" href="INTERFACE_LINK_DIRECTORIES.html" />
    <link rel="prev" title="INTERFACE_INCLUDE_DIRECTORIES" href="INTERFACE_INCLUDE_DIRECTORIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_DEPENDS

INTERFACE_LINK_DEPENDS¶

New in version 3.13.

Additional public interface files on which a target binary depends for linking.

This property is supported only by Ninja and
Makefile Generators.
It is intended to specify dependencies on "linker scripts" for
custom Makefile link rules.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_LINK_DEPENDS 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.

Link dependency files usage requirements commonly differ between the build-tree
and the install-tree.  The BUILD_INTERFACE and INSTALL_INTERFACE
generator expressions can be used to describe separate usage requirements
based on the usage location.  Relative paths are allowed within the
INSTALL_INTERFACE expression and are interpreted relative to the
installation prefix.  For example:

set_property(TARGET mylib PROPERTY INTERFACE_LINK_DEPENDS
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/mylinkscript>
  $<INSTALL_INTERFACE:mylinkscript>  # <prefix>/mylinkscript
)

Previous topic

INTERFACE_INCLUDE_DIRECTORIES

Next topic

INTERFACE_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) »

INTERFACE_LINK_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>INTERFACE_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="INTERFACE_LINK_LIBRARIES" href="INTERFACE_LINK_LIBRARIES.html" />
    <link rel="prev" title="INTERFACE_LINK_DEPENDS" href="INTERFACE_LINK_DEPENDS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_DIRECTORIES

INTERFACE_LINK_DIRECTORIES¶

New in version 3.13.

List of public link directories requirements for a library.

Targets may populate this property to publish the link directories
required to compile against the headers for the target.  The target_link_directories()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_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

INTERFACE_LINK_DEPENDS

Next topic

INTERFACE_LINK_LIBRARIES

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

INTERFACE_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>INTERFACE_LINK_LIBRARIES — 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="INTERFACE_LINK_LIBRARIES_DIRECT" href="INTERFACE_LINK_LIBRARIES_DIRECT.html" />
    <link rel="prev" title="INTERFACE_LINK_DIRECTORIES" href="INTERFACE_LINK_DIRECTORIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_LIBRARIES

INTERFACE_LINK_LIBRARIES¶

List public interface libraries for a library.

This property contains the list of transitive link dependencies.  When
the target is linked into another target using the
target_link_libraries() command, the libraries listed (and
recursively their link interface libraries) will be provided to the
other target also.  This property is overridden by the
LINK_INTERFACE_LIBRARIES or
LINK_INTERFACE_LIBRARIES_<CONFIG> property if policy
CMP0022 is OLD or unset.

The value of this property is used by the generators when constructing
the link rule for a dependent target.  A dependent target's direct
link dependencies, specified by its LINK_LIBRARIES target
property, are linked first, followed by indirect dependencies from the
transitive closure of the direct dependencies'
INTERFACE_LINK_LIBRARIES properties.  See policy CMP0022.

Contents of INTERFACE_LINK_LIBRARIES 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.

Note

A call to target_link_libraries(<target> ...) may update this
property on <target>.  If <target> was not created in the same
directory as the call then target_link_libraries() will wrap each
entry with the form ::@(directory-id);...;::@, where the ::@ is
literal and the (directory-id) is unspecified.
This tells the generators that the named libraries must be looked up in
the scope of the caller rather than in the scope in which the
<target> was created.  Valid directory ids are stripped on export
by the install(EXPORT) and export() commands.

INTERFACE_LINK_LIBRARIES adds transitive link dependencies for a
target's dependents.  In advanced use cases, one may update the
direct link dependencies of a target's dependents by using the
INTERFACE_LINK_LIBRARIES_DIRECT and
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target properties.

Creating Relocatable Packages¶

Note that it is not advisable to populate the
INTERFACE_LINK_LIBRARIES of a target with absolute paths to dependencies.
That would hard-code into installed packages the library file paths
for dependencies as found on the machine the package was made on.

See the Creating Relocatable Packages section of the
cmake-packages(7) manual for discussion of additional care
that must be taken when specifying usage requirements while creating
packages for redistribution.

Table of Contents

INTERFACE_LINK_LIBRARIES

Creating Relocatable Packages

Previous topic

INTERFACE_LINK_DIRECTORIES

Next topic

INTERFACE_LINK_LIBRARIES_DIRECT

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

INTERFACE_LINK_LIBRARIES

        © 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>INTERFACE_LINK_LIBRARIES_DIRECT — 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="INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE" href="INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.html" />
    <link rel="prev" title="INTERFACE_LINK_LIBRARIES" href="INTERFACE_LINK_LIBRARIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_LIBRARIES_DIRECT

INTERFACE_LINK_LIBRARIES_DIRECT¶

New in version 3.24.

List of libraries that consumers of this library should treat
as direct link dependencies.

This target property may be set to include items in a dependent
target's final set of direct link dependencies.  See the
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target property
to exclude items.

The initial set of a dependent target's direct link dependencies is
specified by its LINK_LIBRARIES target property.  Indirect
link dependencies are specified by the transitive closure of the direct
link dependencies' INTERFACE_LINK_LIBRARIES properties.
Any link dependency may specify additional direct link dependencies
using the INTERFACE_LINK_LIBRARIES_DIRECT target property.
The set of direct link dependencies is then filtered to exclude items named
by any dependency's INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
target property.

The value of INTERFACE_LINK_LIBRARIES_DIRECT may use
generator expressions.

Note

The INTERFACE_LINK_LIBRARIES_DIRECT target property is intended for
advanced use cases such as injection of static plugins into a consuming
executable.  It should not be used as a substitute for organizing
normal calls to target_link_libraries().

Direct Link Dependencies as Usage Requirements¶

The INTERFACE_LINK_LIBRARIES_DIRECT and
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target properties
are usage requirements.
Their effects propagate to dependent targets transitively, and can
therefore affect the direct link dependencies of every target in a
chain of dependent libraries.  Whenever some library target X links
to another library target Y whose direct or transitive usage
requirements contain INTERFACE_LINK_LIBRARIES_DIRECT or
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE, the properties may affect
X's list of direct link dependencies:

If X is a shared library or executable, its dependencies are linked.
They also affect the usage requirements with which X's sources are
compiled.

If X is a static library or object library, it does not actually
link, so its dependencies at most affect the usage requirements with
which X's sources are compiled.

The properties may also affect the list of direct link dependencies
on X's dependents:

If X links Y publicly:

target_link_libraries(X PUBLIC Y)

then Y is placed in X's INTERFACE_LINK_LIBRARIES,
so Y's usage requirements, including INTERFACE_LINK_LIBRARIES_DIRECT,
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE, and the usage requirements
declared by the direct link dependencies they add, are propagated to
X's dependents.

If X is a static library or object library, and links Y privately:

target_link_libraries(X PRIVATE Y)

then $<LINK_ONLY:Y> is placed in X's
INTERFACE_LINK_LIBRARIES.  Y's linking requirements,
including INTERFACE_LINK_LIBRARIES_DIRECT,
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE, and the transitive link
dependencies declared by the direct link dependencies they add, are
propagated to X's dependents.  However, Y's non-linking
usage requirements are blocked by the LINK_ONLY generator
expression, and are not propagated to X's dependents.

If X is a shared library or executable, and links Y privately:

target_link_libraries(X PRIVATE Y)

then Y is not placed in X's INTERFACE_LINK_LIBRARIES,
so Y's usage requirements, even INTERFACE_LINK_LIBRARIES_DIRECT
and INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE, are not propagated to
X's dependents.

In all cases, the content of X's INTERFACE_LINK_LIBRARIES
is not affected by Y's INTERFACE_LINK_LIBRARIES_DIRECT or
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.

One may limit the effects of INTERFACE_LINK_LIBRARIES_DIRECT and
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE to a subset of dependent
targets by using the TARGET_PROPERTY generator expression.
For example, to limit the effects to executable targets, use an
entry of the form:

"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:...>"

Similarly, to limit the effects to specific targets, use an entry
of the form:

"$<$<BOOL:$<TARGET_PROPERTY:USE_IT>>:...>"

This entry will only affect targets that set their USE_IT
target property to a true value.

Direct Link Dependency Ordering¶

The list of direct link dependencies for a target is computed from an
initial ordered list in its LINK_LIBRARIES target property.
For each item, additional direct link dependencies are discovered from
its direct and transitive INTERFACE_LINK_LIBRARIES_DIRECT usage
requirements.  Each discovered item is injected before the item that
specified it.  However, a discovered item is added at most once,
and only if it did not appear anywhere in the initial list.
This gives LINK_LIBRARIES control over ordering of
those direct link dependencies that it explicitly specifies.

Once all direct link dependencies have been collected, items named by
all of their INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
usage requirements are removed from the final list.  This does not
affect the order of the items that remain.

Example: Static Plugins¶

Consider a static library Foo that provides a static plugin
FooPlugin to consuming application executables, where the
implementation of the plugin depends on Foo and other things.
In this case, the application should link to FooPlugin directly,
before Foo.  However, the application author only knows about Foo.
We can express this as follows:

# Core library used by other components.
add_library(Core STATIC core.cpp)

# Foo is a static library for use by applications.
# Implementation of Foo depends on Core.
add_library(Foo STATIC foo.cpp foo_plugin_helper.cpp)
target_link_libraries(Foo PRIVATE Core)

# Extra parts of Foo for use by its static plugins.
# Implementation of Foo's extra parts depends on both Core and Foo.
add_library(FooExtras STATIC foo_extras.cpp)
target_link_libraries(FooExtras PRIVATE Core Foo)

# The Foo library has an associated static plugin
# that should be linked into the final executable.
# Implementation of the plugin depends on Core, Foo, and FooExtras.
add_library(FooPlugin STATIC foo_plugin.cpp)
target_link_libraries(FooPlugin PRIVATE Core Foo FooExtras)

# An app that links Foo should link Foo's plugin directly.
set_property(TARGET Foo PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT FooPlugin)

# An app does not need to link Foo directly because the plugin links it.
set_property(TARGET Foo PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE Foo)

An application app only needs to specify that it links to Foo:

add_executable(app main.cpp)
target_link_libraries(app PRIVATE Foo)

The INTERFACE_LINK_LIBRARIES_DIRECT target property on Foo tells
CMake to pretend that app also links directly to FooPlugin.
The INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target property on Foo
tells CMake to pretend that app did not link directly to Foo.
Instead, Foo will be linked as a dependency of FooPlugin.  The
final link line for app will link the libraries in the following
order:

FooPlugin as a direct link dependency of app
(via Foo's usage requirements).

FooExtras as a dependency of FooPlugin.

Foo as a dependency of FooPlugin and FooExtras.

Core as a dependency of FooPlugin, FooExtras, and Foo.

Note that without the INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target
property, Foo would be linked twice: once as a direct dependency
of app, and once as a dependency of FooPlugin.

Example: Opt-In Static Plugins¶

In the above Example: Static Plugins, the app executable specifies
that it links directly to Foo.  In a real application, there might
be an intermediate library:

add_library(app_impl STATIC app_impl.cpp)
target_link_libraries(app_impl PRIVATE Foo)

add_executable(app main.cpp)
target_link_libraries(app PRIVATE app_impl)

In this case we do not want Foo's INTERFACE_LINK_LIBRARIES_DIRECT
and INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target properties to affect
the direct dependencies of app_impl.  To avoid this, we can revise
the property values to make their effects opt-in:

# An app that links Foo should link Foo's plugin directly.
set_property(TARGET Foo PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT
  "$<$<BOOL:$<TARGET_PROPERTY:FOO_STATIC_PLUGINS>>:FooPlugin>"
)

# An app does not need to link Foo directly because the plugin links it.
set_property(TARGET Foo PROPERTY INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
  "$<$<BOOL:$<TARGET_PROPERTY:FOO_STATIC_PLUGINS>>:Foo>"
)

Now, the app executable can opt-in to get Foo's plugin(s):

set_property(TARGET app PROPERTY FOO_STATIC_PLUGINS 1)

The final link line for app will now link the libraries in the following
order:

FooPlugin as a direct link dependency of app
(via Foo's usage requirements).

app_impl as a direct link dependency of app.

FooExtras as a dependency of FooPlugin.

Foo as a dependency of app_impl, FooPlugin, and FooExtras.

Core as a dependency of FooPlugin, FooExtras, and Foo.

Table of Contents

INTERFACE_LINK_LIBRARIES_DIRECT

Direct Link Dependencies as Usage Requirements

Direct Link Dependency Ordering

Example: Static Plugins

Example: Opt-In Static Plugins

Previous topic

INTERFACE_LINK_LIBRARIES

Next topic

INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE

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

INTERFACE_LINK_LIBRARIES_DIRECT

        © 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>INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE — 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="INTERFACE_LINK_OPTIONS" href="INTERFACE_LINK_OPTIONS.html" />
    <link rel="prev" title="INTERFACE_LINK_LIBRARIES_DIRECT" href="INTERFACE_LINK_LIBRARIES_DIRECT.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE

INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE¶

New in version 3.24.

List of libraries that consumers of this library should not treat
as direct link dependencies.

This target property may be set to exclude items from a dependent
target's final set of direct link dependencies.  This property is
processed after the INTERFACE_LINK_LIBRARIES_DIRECT
target property of all other dependencies of the dependent target, so
exclusion from direct link dependence takes priority over inclusion.

The initial set of a dependent target's direct link dependencies is
specified by its LINK_LIBRARIES target property.  Indirect
link dependencies are specified by the transitive closure of the direct
link dependencies' INTERFACE_LINK_LIBRARIES properties.
Any link dependency may specify additional direct link dependencies
using the INTERFACE_LINK_LIBRARIES_DIRECT target property.
The set of direct link dependencies is then filtered to exclude items named
by any dependency's INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target
property.

Excluding an item from a dependent target's direct link dependencies
does not mean the dependent target won't link the item.  The item
may still be linked as an indirect link dependency via the
INTERFACE_LINK_LIBRARIES property on other dependencies.

The value of INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE may use
generator expressions.

Note

The INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE target property is intended for
advanced use cases such as injection of static plugins into a consuming
executable.  It should not be used as a substitute for organizing
normal calls to target_link_libraries().

See the INTERFACE_LINK_LIBRARIES_DIRECT target property
documentation for more details and examples.

Previous topic

INTERFACE_LINK_LIBRARIES_DIRECT

Next topic

INTERFACE_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) »

INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE

        © 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>INTERFACE_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="INTERFACE_POSITION_INDEPENDENT_CODE" href="INTERFACE_POSITION_INDEPENDENT_CODE.html" />
    <link rel="prev" title="INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE" href="INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_LINK_OPTIONS

INTERFACE_LINK_OPTIONS¶

New in version 3.13.

List of public link options requirements for a library.

Targets may populate this property to publish the link options
required to compile against the headers for the target.  The target_link_options()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
build properties of the consumer.

Contents of INTERFACE_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

INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE

Next topic

INTERFACE_POSITION_INDEPENDENT_CODE

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

INTERFACE_LINK_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>INTERFACE_POSITION_INDEPENDENT_CODE — 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="INTERFACE_PRECOMPILE_HEADERS" href="INTERFACE_PRECOMPILE_HEADERS.html" />
    <link rel="prev" title="INTERFACE_LINK_OPTIONS" href="INTERFACE_LINK_OPTIONS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_POSITION_INDEPENDENT_CODE

INTERFACE_POSITION_INDEPENDENT_CODE¶

Whether consumers need to create a position-independent target

The INTERFACE_POSITION_INDEPENDENT_CODE property informs consumers of
this target whether they must set their
POSITION_INDEPENDENT_CODE property to ON.  If this
property is set to ON, then the POSITION_INDEPENDENT_CODE
property on  all consumers will be set to ON. Similarly, if this
property is set to OFF, then the POSITION_INDEPENDENT_CODE
property on all consumers will be set to OFF.  If this property is
undefined, then consumers will determine their
POSITION_INDEPENDENT_CODE property by other means.  Consumers
must ensure that the targets that they link to have a consistent
requirement for their INTERFACE_POSITION_INDEPENDENT_CODE property.

Contents of INTERFACE_POSITION_INDEPENDENT_CODE 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

INTERFACE_LINK_OPTIONS

Next topic

INTERFACE_PRECOMPILE_HEADERS

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

INTERFACE_POSITION_INDEPENDENT_CODE

        © 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>INTERFACE_PRECOMPILE_HEADERS — 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="INTERFACE_SOURCES" href="INTERFACE_SOURCES.html" />
    <link rel="prev" title="INTERFACE_POSITION_INDEPENDENT_CODE" href="INTERFACE_POSITION_INDEPENDENT_CODE.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_PRECOMPILE_HEADERS

INTERFACE_PRECOMPILE_HEADERS¶

New in version 3.16.

List of interface header files to precompile into consuming targets.

Targets may populate this property to publish the header files
for consuming targets to precompile.  The target_precompile_headers()
command populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.
See the discussion in target_precompile_headers() for guidance on
appropriate use of this property for installed or exported targets.

Contents of INTERFACE_PRECOMPILE_HEADERS 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

INTERFACE_POSITION_INDEPENDENT_CODE

Next topic

INTERFACE_SOURCES

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

INTERFACE_PRECOMPILE_HEADERS

        © 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>INTERFACE_SOURCES — 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="INTERFACE_SYSTEM_INCLUDE_DIRECTORIES" href="INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.html" />
    <link rel="prev" title="INTERFACE_PRECOMPILE_HEADERS" href="INTERFACE_PRECOMPILE_HEADERS.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_SOURCES

INTERFACE_SOURCES¶

New in version 3.1.

List of interface sources to compile into consuming targets.

Targets may populate this property to publish the sources
for consuming targets to compile.  The target_sources() command
populates this property with values given to the PUBLIC and
INTERFACE keywords.  Projects may also get and set the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to determine the
sources of the consumer.

Contents of INTERFACE_SOURCES 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

INTERFACE_PRECOMPILE_HEADERS

Next topic

INTERFACE_SYSTEM_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) »

INTERFACE_SOURCES

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

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERFACE_SYSTEM_INCLUDE_DIRECTORIES

INTERFACE_SYSTEM_INCLUDE_DIRECTORIES¶

List of public system include directories for a library.

Targets may populate this property to publish the include directories
which contain system headers, and therefore should not result in
compiler warnings.  Additionally, system include directories are searched
after normal include directories regardless of the order specified.

When the target_include_directories() command is given the
SYSTEM keyword, it populates this property with values provided after the
PUBLIC and INTERFACE keywords.

Projects may also get and set the property directly, but must be aware that
adding directories to this property does not make those directories used
during compilation.  Adding directories to this property marks directories
as system directories which otherwise would be used in a non-system manner.
This can appear similar to duplication, so prefer the high-level
target_include_directories() command with the SYSTEM keyword
and avoid setting the property directly.

When target dependencies are specified using target_link_libraries(),
CMake will read this property from all target dependencies to mark the
same include directories as containing system headers.

Contents of INTERFACE_SYSTEM_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

INTERFACE_SOURCES

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

INTERFACE_SYSTEM_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>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="INTERFACE_SYSTEM_INCLUDE_DIRECTORIES" href="INTERFACE_SYSTEM_INCLUDE_DIRECTORIES.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

INTERPROCEDURAL_OPTIMIZATION

INTERPROCEDURAL_OPTIMIZATION¶

Enable interprocedural optimization for a target.

If set to true, enables interprocedural optimizations if they are
known to be supported by the compiler. Depending
on value of policy CMP0069, the error will be reported or ignored,
if interprocedural optimization is enabled but not supported.

This property is initialized by the
CMAKE_INTERPROCEDURAL_OPTIMIZATION variable if it is set when a
target is created.

There is also the per-configuration INTERPROCEDURAL_OPTIMIZATION_<CONFIG>
target property, which overrides INTERPROCEDURAL_OPTIMIZATION
if it is set.

Previous topic

INTERFACE_SYSTEM_INCLUDE_DIRECTORIES

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="ISPC_HEADER_DIRECTORY" href="ISPC_HEADER_DIRECTORY.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_tgt:INTERPROCEDURAL_OPTIMIZATION_<CONFIG>">
INTERPROCEDURAL_OPTIMIZATION_<CONFIG>¶

Per-configuration interprocedural optimization for a target.

This is a per-configuration version of INTERPROCEDURAL_OPTIMIZATION.
If set, this property overrides the generic property for the named
configuration.

This property is initialized by the
CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG> variable if it is set
when a target is created.

Previous topic

INTERPROCEDURAL_OPTIMIZATION

Next topic

ISPC_HEADER_DIRECTORY

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>IOS_INSTALL_COMBINED — 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="POST_INSTALL_SCRIPT" href="POST_INSTALL_SCRIPT.html" />
    <link rel="prev" title="IMPORTED_NO_SYSTEM" href="IMPORTED_NO_SYSTEM.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

IOS_INSTALL_COMBINED

IOS_INSTALL_COMBINED¶

New in version 3.5.

Deprecated since version 3.28: IOS_INSTALL_COMBINED was designed to make universal binaries
containing iOS/arm* device code paired with iOS Simulator/x86_64 code
(or similar for other Apple embedded platforms). Universal binaries can only
differentiate code based on CPU type, so this only made sense before the
days of arm64 macOS machines (i.e. iOS Simulator/arm64). Apple now
recommends xcframeworks, which contain multiple binaries for different
platforms, for this use case.

Build a combined (device and simulator) target when installing.

When this property is set to false, which is the default, then it will
either be built with the device SDK or the simulator SDK depending on the SDK
set. But if this property is set to true then the target will at install time
also be built for the other SDK and combined into one library.

Note

If a selected architecture is available for both device SDK and simulator
SDK it will be built for the SDK selected by CMAKE_OSX_SYSROOT
and removed from the other SDK.

This feature requires at least Xcode version 6.

Previous topic

IMPORTED_NO_SYSTEM

Next topic

POST_INSTALL_SCRIPT

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

IOS_INSTALL_COMBINED

        © 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>ISPC_HEADER_DIRECTORY — 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="ISPC_HEADER_SUFFIX" href="ISPC_HEADER_SUFFIX.html" />
    <link rel="prev" title="INTERPROCEDURAL_OPTIMIZATION_<CONFIG>" href="INTERPROCEDURAL_OPTIMIZATION_CONFIG.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cmake-properties(7) »

ISPC_HEADER_DIRECTORY

ISPC_HEADER_DIRECTORY¶

New in version 3.19.

Specify relative output directory for ISPC headers provided by the target.

If the target contains ISPC source files, this specifies the directory in which
the generated headers will be placed. Relative paths are treated with respect to
the value of CMAKE_CURRENT_BINARY_DIR. When this property is not set, the
headers will be placed a generator defined build directory. If the variable
CMAKE_ISPC_HEADER_DIRECTORY is set when a target is created
its value is used to initialize this property.

Previous topic

INTERPROCEDURAL_OPTIMIZATION_<CONFIG>

Next topic

ISPC_HEADER_SUFFIX

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

ISPC_HEADER_DIRECTORY

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