Back to Cmake

get_source_file_property

Help/command/get_source_file_property.rst

4.3.21.9 KB
Original Source

get_source_file_property

Get a property for a source file.

.. code-block:: cmake

get_source_file_property(<variable> <file> [DIRECTORY <dir> | TARGET_DIRECTORY <target>] <property>)

Gets a property from a source file. The value of the property is stored in the specified <variable>. If the <file> is not a source file, or the source property is not found, <variable> will be set to NOTFOUND. If the source property was defined to be an INHERITED property (see :command:define_property), the search will include the relevant parent scopes, as described for the :command:define_property command.

By default, the source file's property will be read from the current source directory's scope.

.. versionadded:: 3.18 Directory scope can be overridden with one of the following sub-options:

DIRECTORY <dir> The source file property will be read from the <dir> directory's scope. CMake must already know about that source directory, either by having added it through a call to :command:add_subdirectory or <dir> being the top level source directory. Relative paths are treated as relative to the current source directory.

TARGET_DIRECTORY <target> The source file property will be read from the directory scope in which <target> was created (<target> must therefore already exist).

Use :command:set_source_files_properties to set property values. Source file properties usually control how the file is built. One property that is always there is :prop_sf:LOCATION.

.. note::

The :prop_sf:GENERATED source file property may be globally visible. See its documentation for details.

See Also ^^^^^^^^

  • :command:define_property
  • the more general :command:get_property command
  • :command:set_source_files_properties