2016-05-05 10 views
0

Я хотел бы передать аргументы компилятору moc из проекта qmake, но только для определенных файлов.Передача аргументов из qmake в moc для каждого заголовка

Например, в некоторых .pro файле:

HEADER += foo.h \ 
      bar.h \ 
      baz.h 

Я хотел бы передать -ffoo_extra.h в foo.h, -fbar_extra.h к bar.h, и ничего не baz.h

This answer предлагает использовать переменная QMAKE_MOC, но это влияет на все заголовки вместе. Что-то вроде этого, но нацеленное на отдельные файлы заголовков, было бы идеальным.

ответ

0

Аргумент -f добавляет к сгенерированному выводу. Вы можете добиться этого, используя макрос Q_MOC_RUN. Это even documented - вместе с вариантами командной строки, не менее :)

// foo.h 
#ifdef Q_MOC_RUN 
#include "foo_extra.h" 
#endif 
... 

// bar.h 
#ifdef Q_MOC_RUN 
#include "bar_extra.h" 
#endif 
... 
+0

Похоже, что это единственный практический путь. – Scott

+0

Наделся на что-то менее инвазивное (переработка внешнего проекта для работы с qmake вместо cmake в этом случае, не очень хотелось редактировать файлы) и более общие (например, передача опций отдельным файлам в других областях, а не только moc) Отметить его как ответный – Scott

 Смежные вопросы

  • Нет связанных вопросов^_^