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