AUTOMOC_DEPEND_FILTERS¶
Filter definitions used by AUTOMOC to extract file names from
source code as additional dependencies for the moc file.
This property is only used if the 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 INCLUDE_DIRECTORIES.
By default AUTOMOC_DEPEND_FILTERS is initialized from
CMAKE_AUTOMOC_DEPEND_FILTERS, which is empty by default.
See the 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 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]*\"([^\"]+)\""
)