每次咱们执行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)