解决qmake重复执行的问题

每次咱们执行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)
相关文章
相关标签/搜索