|
|
@ -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]*\"([^\"]+)\"" |
|
|
|
) |