Выполнить команду оболочки, используя qmake

3

Я хочу выполнить команду оболочки с помощью qmake. Команда:

idlpp -S -l cpp MyModel.idl

Это обрабатывает мой IDL и генерирует некоторые.cpp и.h файлы, которые я включаю в свой проект. Прямо сейчас я выполняю его вручную с терминала, но я хочу, чтобы это было автоматически сделано, когда я запускаю qmake.

Что я должен добавить в мой .pro- файл? Есть ли что-то эквивалентное execute_process(), используемое cmake?

  • 1
    Вы, вероятно, не хотите запускать его из qmake, а из самого файла makefile, чтобы при каждом изменении MyModel.idl вывод был восстановлен.
Теги:
cmake
qt
qmake

2 ответа

2
Лучший ответ

Использовать функцию system() в файле.pro

3

Вы должны использовать QMAKE_EXTRA_COMPILERS (см http://doc.qt.io/qt-5/qmake-advanced-usage.html#adding-compilers)

Он не будет вызывать idlpp при запуске qmake, но при запуске make. Однако это приведет к интеграции вызова idlpp как части процесса make.

# Sample IDL .pro compiler
IDL_FILES = MyModel.idl
idl_compiler.output = idl_${QMAKE_FILE_BASE}.cpp
idl_compiler.commands = idlpp -S -l cpp ${QMAKE_FILE_NAME} # Ideally you would add something like --output=${QMAKE_FILE_OUT}
idl_compiler.input = IDL_FILES
QMAKE_EXTRA_COMPILERS += idl_compiler

Ещё вопросы

Сообщество Overcoder
Наверх
Меню