每次咱們執行qmake時候都會很慢,是由於CONFIG存在重複的屬性致使qmake重複執行。
因爲項目文件在添加時候系統會自動加入debug,release,debug_and_release變量,致使qmake遇到這些變量會再執行一次qmake,有打印函數message
也會重複輸出。這就致使qmake變得很慢。解決方法是:移除CONFIG內多餘的的變量。函數
qmake函數remove_extra_config_parameter主要做用是移除重複的debug,Debug,release,Release,debug_and_release屬性,僅會保留最後出現的屬性。這樣就避免了屢次重複qmake的問題。debug
defineReplace(remove_extra_config_parameter) { configs = $$1 debug_and_release_params = # 匹配預選隊列 keys = debug Debug release Release debug_and_release for (iter, configs) { contains(keys, $$iter) { debug_and_release_params += $$iter } } for (iter, debug_and_release_params) { configs -= $$iter # 移除預選隊列的屬性 } configs += $$last(debug_and_release_params) # 添加(保留)預選隊列的最後屬性 return($$configs) } # 使用 CONFIG = $$remove_extra_config_parameter($$CONFIG)