|
@@ -0,0 +1,45 @@
|
|
|
+AUTOMOC_DEPEND_FILTERS
|
|
|
+----------------------
|
|
|
+
|
|
|
+Filter definitions used by :prop_tgt:`AUTOMOC` to extract file names from
|
|
|
+source code as additional dependencies for the ``moc`` file.
|
|
|
+
|
|
|
+This property is only used if the :prop_tgt:`AUTOMOC` property is ``ON``
|
|
|
+for this target.
|
|
|
+
|
|
|
+Filters are defined as ``KEYWORD;REGULAR_EXPRESSION`` pairs. First the file
|
|
|
+content is searched for ``KEYWORD``. If it is found at least once, then file
|
|
|
+names are extracted by successively searching for ``REGULAR_EXPRESSION`` and
|
|
|
+taking the first match group.
|
|
|
+
|
|
|
+Consider a filter extracts the file name ``DEP`` from the content of a file
|
|
|
+``FOO``. If ``DEP`` changes, then the ``moc`` file for ``FOO`` gets rebuilt.
|
|
|
+The file ``DEP`` is searched for first in the vicinity
|
|
|
+of ``FOO`` and afterwards in the target's :prop_tgt:`INCLUDE_DIRECTORIES`.
|
|
|
+
|
|
|
+By default :prop_tgt:`AUTOMOC_DEPEND_FILTERS` is initialized from
|
|
|
+:variable:`CMAKE_AUTOMOC_DEPEND_FILTERS`, which is empty by default.
|
|
|
+
|
|
|
+See the :manual:`cmake-qt(7)` manual for more information on using CMake
|
|
|
+with Qt.
|
|
|
+
|
|
|
+
|
|
|
+Example
|
|
|
+-------
|
|
|
+
|
|
|
+Consider a file ``FOO.hpp`` holds a custom macro ``OBJ_JSON_FILE`` and we
|
|
|
+want the ``moc`` file to depend on the macro`s file name argument::
|
|
|
+
|
|
|
+ class My_Class : public QObject
|
|
|
+ {
|
|
|
+ Q_OBJECT
|
|
|
+ OBJ_JSON_FILE ( "DEP.json" )
|
|
|
+ ...
|
|
|
+ };
|
|
|
+
|
|
|
+Then we might use :variable:`CMAKE_AUTOMOC_DEPEND_FILTERS` to
|
|
|
+define a filter like this::
|
|
|
+
|
|
|
+ set(CMAKE_AUTOMOC_DEPEND_FILTERS
|
|
|
+ "OBJ_JSON_FILE" "[\n][ \t]*OBJ_JSON_FILE[ \t]*\\([ \t]*\"([^\"]+)\""
|
|
|
+ )
|