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]*\"([^\"]+)\"" )
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.9/prop_tgt/AUTOMOC_DEPEND_FILTERS.html