Every time we execute qmake time will be very slow, because the CONFIG qmake duplicate attribute cause repeated.
Because the project file will be automatically added to debug, release, debug_and_release variables added time, lead to qmake encounter these variables will perform another qmake, print function message
will repeat output. This results in qmake become very slow. The solution: Remove the extra variables in the CONFIG .
qmake function remove_extra_config_parameter main role is to remove duplicate debug, Debug, release, Release, debug_and_release property, only retains the properties of the last occurrence . This avoids repeated qmake problems.
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)