使用 qmake 执行 shell 命令
Execute shell command using qmake
我想使用 qmake 执行 shell 命令。命令是:
idlpp -S -l cpp MyModel.idl
这会处理我的 IDL 并生成一些我包含在我的项目中的 .cpp 和 .h 文件。现在我正在从终端手动执行它,但我希望它在我 运行 qmake 时自动完成。
我应该在 .pro 文件中添加什么? execute_process() 是否有等同于 cmake 使用的东西?
在 .pro 文件中使用 system() 函数
你应该使用 QMAKE_EXTRA_COMPILERS (see http://doc.qt.io/qt-5/qmake-advanced-usage.html#adding-compilers)
运行qmake
时不会调用idlpp
,运行make
时不会调用idlpp
。但是,这样做会将 idlpp
调用集成为制作过程的一部分。
# 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
我想使用 qmake 执行 shell 命令。命令是:
idlpp -S -l cpp MyModel.idl
这会处理我的 IDL 并生成一些我包含在我的项目中的 .cpp 和 .h 文件。现在我正在从终端手动执行它,但我希望它在我 运行 qmake 时自动完成。
我应该在 .pro 文件中添加什么? execute_process() 是否有等同于 cmake 使用的东西?
在 .pro 文件中使用 system() 函数
你应该使用 QMAKE_EXTRA_COMPILERS (see http://doc.qt.io/qt-5/qmake-advanced-usage.html#adding-compilers)
运行qmake
时不会调用idlpp
,运行make
时不会调用idlpp
。但是,这样做会将 idlpp
调用集成为制作过程的一部分。
# 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