您如何检查您是否处于交互式 qmake 会话中?我想使用 qmake prompt()
How do you check if you are in an interactive qmake session ? I want to use qmake prompt()
我想用这个 mockup.pro 文件制作一个交互式 "qmake -makefile session" :
message("Plugin setup,")
message("choose the plugins you want to be compiled :")
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"){
SUBDIRS+= dummy
}
这在从交互式 shell 启动时很好,但是 AFAIK,qmake 从 QtCreator 输出在 "Compilation output" 窗格中启动,并且不是交互式的,因此提示块。
支持吗?
QMake 3.1、QtCreator 4.11
当我检查时:
IS_INT = $$system(echo $-)
IS_INT 始终为空,也就是辅助 shell 不可交互。
正如@hyde 所建议的那样,在另一个方向上,为了不打扰打包者或建立农场,将允许用户使用标志 CONFIG+=INTERACTIVE_QMAKE.
进行指导
INTERACTIVE_QMAKE{
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"):{
SUBDIRS+= dummy
}
}
!INTERACTIVE_QMAKE{
# The plugins you want compiled by default
SUBDIRS+= dummy
}
CMake 正在为 Qt6 开发,这就可以了。
我想用这个 mockup.pro 文件制作一个交互式 "qmake -makefile session" :
message("Plugin setup,")
message("choose the plugins you want to be compiled :")
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"){
SUBDIRS+= dummy
}
这在从交互式 shell 启动时很好,但是 AFAIK,qmake 从 QtCreator 输出在 "Compilation output" 窗格中启动,并且不是交互式的,因此提示块。
支持吗?
QMake 3.1、QtCreator 4.11
当我检查时:
IS_INT = $$system(echo $-)
IS_INT 始终为空,也就是辅助 shell 不可交互。
正如@hyde 所建议的那样,在另一个方向上,为了不打扰打包者或建立农场,将允许用户使用标志 CONFIG+=INTERACTIVE_QMAKE.
进行指导INTERACTIVE_QMAKE{
answer=$$prompt("Dummy ? (y/N)")
equals(answer,"y"):{
SUBDIRS+= dummy
}
}
!INTERACTIVE_QMAKE{
# The plugins you want compiled by default
SUBDIRS+= dummy
}
CMake 正在为 Qt6 开发,这就可以了。