簡體   English   中英

您如何檢查您是否處於交互式 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,從 QtCreator 啟動的 qmake 在“編譯輸出”窗格中輸出,並且不是交互式的,因此提示塊。

這是支持的嗎?

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,這將做到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM