AUTOMOC_MACRO_NAMES
Список макросов, разделённых точкой с запятой, используемых списком AUTOMOC для определения, нужно ли обрабатывать файл C++ moc.
Это свойство используется только в том случае, если свойство AUTOMOC для данного целевого объекта равно ON.
При выполнении AUTOMOC, CMake ищет строки, перечисленные в AUTOMOC_MACRO_NAMES, в файлах исходного кода и заголовков C++. Если любая из этих строк найдена
- в качестве первой не содержащей пробелов строки на новой строке или
- в качестве первой не содержащей пробелов строки после
{на новой строке,
то файл будет обработан moc.
По умолчанию AUTOMOC_MACRO_NAMES инициализируется из CMAKE_AUTOMOC_MACRO_NAMES.
См. руководство cmake-qt(7) для получения дополнительной информации об использовании CMake с Qt.
Пример
В данном случае макрос Q_OBJECT скрыт внутри другого макроса, называемого CUSTOM_MACRO. Чтобы CMake знал, что файлы исходного кода, содержащие CUSTOM_MACRO нужно moc обработать, мы вызываем:
set_property(TARGET tgt APPEND PROPERTY AUTOMOC_MACRO_NAMES "CUSTOM_MACRO")
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/prop_tgt/AUTOMOC_MACRO_NAMES.html