用qmake生成makefile的时候,背后会先执行一堆用qmake language编写的库文件(配置文件),用于初始化一些环境相关的工作,为后续解析pro文件做准备。
下面是qmake解析一个新建的qt工程的pro文件背后所解析的配置文件的文件路径。通过特殊变量QMAKE_INTERNAL_INCLUDED_FILES来获取。解析的文件按解析完成时间从上到下排列,(排在前面的不一定是最先打开的)。这些配置文件中有定义一部分全局变量,可以在你的pro文件中访问。(qmake解析文件的访问顺序需要通过 -d参数来查看)
.qmake.super ,.qmake.conf ,.qmake.cache ,.qmake.stash是在解析配置文件之前就完成的,qmake对这几个文件设置LoadHidden参数给隐藏起来的。记录这些配置文件的qmake源码逻辑。
//E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp
QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateFile(
const QString &fileName, QMakeHandler::EvalFileType type, LoadFlags flags)
{
QMakeParser::ParseFlags pflags = QMakeParser::ParseUseCache;
if (!(flags & LoadSilent))
pflags |= QMakeParser::ParseReportMissing;
if (ProFile *pro = m_parser->parsedProFile(fileName, pflags)) {
m_locationStack.push(m_current);
VisitReturn ok = visitProFile(pro, type, flags);
m_current = m_locationStack.pop();
pro->deref();
if (ok == ReturnTrue && !(flags & LoadHidden)) {
ProStringList &iif = m_valuemapStack.first()[ProKey("QMAKE_INTERNAL_INCLUDED_FILES")];
ProString ifn(fileName);
if (!iif.contains(ifn))
iif << ifn;
}
return ok;
} else {
return ReturnFalse;
}
}
另外一个特殊的变量,QMAKE_INTERNAL_INCLUDED_FEATURES。
defineTest(printNames){
for(var,ARGS):message($$var)
}
printNames($$QMAKE_INTERNAL_INCLUDED_FEATURES)
#输出:
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
下面是调试qmake时(注意这里不是调试普通的工程文件,建议不要在调试普通工程文件时使用-d参数,但是可以在命令行窗口中用qmake生成makefile时使用-d参数。),用“-d” 参数时,打印出来的日志的一小部分,首先进入spec_pre.prf文件,“-d”参数,让qmake对每一句qmake language写的代码都做打印,可以对比下面日志和spec_pre.prf的内容
D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\features\spec_pre.prf
# This file is loaded by qmake right before loading the qmakespec.
# At this point, the built-in variables have been set up and the project's
# .qmake.super was read (if present).
QMAKE_DIR_SEP = $$DIR_SEPARATOR
QMAKE_DIRLIST_SEP = $$DIRLIST_SEPARATOR
QMAKE_EXT_C = .c
QMAKE_EXT_CPP = .cpp .cc .cxx
QMAKE_EXT_OBJC = .m
QMAKE_EXT_OBJCXX = .mm
QMAKE_EXT_CPP_MOC = .moc
QMAKE_EXT_H = .h .hpp .hh .hxx
QMAKE_EXT_H_MOC = .cpp
QMAKE_EXT_JS = .js
QMAKE_EXT_LEX = .l
QMAKE_EXT_LIBTOOL = .la
QMAKE_EXT_PKGCONFIG = .pc
QMAKE_EXT_PRL = .prl
QMAKE_EXT_UI = .ui
QMAKE_EXT_YACC = .y
QMAKE_CPP_MOD_MOC =
QMAKE_H_MOD_MOC = moc_
QMAKE_MOD_LEX = _lex
QMAKE_MOD_YACC = _yacc
defineTest(ensurePathEnv) {
isEmpty(QMAKE_PATH_ENV) {
QMAKE_PATH_ENV = $$(PATH)
QMAKE_PATH_ENV = $$split(QMAKE_PATH_ENV, $$QMAKE_DIRLIST_SEP)
export(QMAKE_PATH_ENV)
}
}
equals(QMAKE_HOST.os, Windows) {
QMAKE_EXT_OBJ = .obj
QMAKE_EXT_RES = .res
QMAKE_SH =
ensurePathEnv()
for(dir, QMAKE_PATH_ENV) {
exists($$dir/sh.exe) {
QMAKE_SH = $$dir/sh.exe
break()
}
}
} else {
QMAKE_EXT_CPP += .C
QMAKE_EXT_H += .H
QMAKE_EXT_OBJ = .o
QMAKE_SH = sh
}
CONFIG = file_copies qmake_use qt warn_on release link_prl
QT = core gui
这是qmake开始解析的调用堆栈spec_pre.prf,第9行的进入的evaluateFile是输入的pro工程文件。
杂谈:qmake解析一个简单的qt工程的 工程文件t.pro 时 完整配置文件访问记录:
QT +=network widgets
TEMPLATE = app
CONFIG += c++11 console
CONFIG -= app_bundle
SOURCES += \
main.cpp \
base.cpp \
base1.cpp
HEADERS += \
base.h \
base1.h
DISTFILES +=
RESOURCES +=
message(CONFIG = $$COFIG)
配置文件文件访问与函数调用过程:
---------------------runQMake(int argc, char **argv)---------------------------------------------------start
---------------------QMakeProject::QMakeProject()-------------------------------------------start end
---------------------QMakeProject::read(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)----------start parsing for checking the grammar error,and evalute the values
---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
DEBUG 0: evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
---------------------LoadPreFiles:loadSpec()-------start
---------------------loadInternalSpec()-------start
---------------------evaluateFeatureFile(spec_pre.prf)-------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
---------------------evaluateFeatureFile(spec_pre.prf)-------end
---------------------evaluateFile(qmake.conf)-------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/win32-msvc/qmake.conf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-desktop.conf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/angle.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/angle.conf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/windows-vulkan.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/windows-vulkan.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-desktop.conf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/qconfig.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/qconfig.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_accessibility_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_accessibility_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bootstrap_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bootstrap_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designercomponents_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designercomponents_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_edid_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_edid_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_egl_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_egl_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fb_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fb_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_packetprotocol_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_packetprotocol_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldebug_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldebug_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldevtools_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldevtools_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickparticles_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickparticles_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickshapes_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickshapes_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_theme_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_theme_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uiplugin.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uiplugin.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_vulkan_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_vulkan_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_zlib_private.pri
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_zlib_private.pri
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/win32-msvc/qmake.conf
---------------------evaluateFile(qmake.conf)-----------------------------------------end
---------------------evaluateFeatureFile(spec_post.prf)------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
---------------------evaluateFeatureFile(spec_post.prf)--------------------------------end
---------------------loadInternalSpec()-----------------------------------------end
DEBUG 0: evaluateing file E:/test/.qmake.stash
DEBUG 0: done evaluateing file E:/test/.qmake.stash
---------------------loadSpec()--------------------------------------------------end
---------------------evaluateCommand() (process command input early_State )--------------start end
---------------------applyExtraConfigs()-------------------------------------------------start end
---------------------evaluateFeatureFile(default_pre.prf)---------------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------end
---------------------evaluateCommand() (process command input before_State)--------------start end
---------------------applyExtraConfigs()---------------------------------------------------start end
---------------------visitProBlock(t1.pro)------------------------------------------------start
---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files c++11 win32-msvc2015 debug qml_debug c++11 console
---------------------visitProBlock(t1.pro)-----------------------------end
---------------------evaluateCommand() (process command input after_State)--------------start end
---------------------applyExtraConfigs()--------------------------------------------------start end
---------------------evaluateFeatureFile(default_post.prf)-------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
---------------------evaluateFeatureFile(default_post.prf)-------end
---------------------evaluateCommand() (process command input late_State)--------------start end
---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
---------------------evaluateConfigFeatures()--------------------end
DEBUG 0: done evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeProject::read(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)----------end
---------------------MetaMakefileGenerator::createMetaGenerator()----------------------start generate makefiles and vs.proj and so on
---------------------BuildsMetaMakefileGenerator::BuildsMetaMakefileGenerator()--------------------------------start end
---------------------BuildsMetaMakefileGenerator::init()------------------------start
---------------------BuildsMetaMakefileGenerator::processBuild(debug)----------------start generate Makefile.DEBUG
---------------------QMakeProject::read()------------------------------------------start
---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
DEBUG 0: evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
---------------------evaluateCommand() (process command input early_State )------------------------start end
---------------------applyExtraConfigs()-------------------------------------------------------------start end
---------------------evaluateFeatureFile(default_pre.prf)------------------------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------------------end
---------------------evaluateCommand() (process command input before_State)-------------------------start end
---------------------applyExtraConfigs()----------------------------------------------------------------start end
---------------------visitProBlock(t1.pro)-------------------------------------------------------------start
---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files debug DebugBuild Debug build_pass c++11 win32-msvc2015 debug qml_debug debug DebugBuild Debug build_pass c++11 console
---------------------visitProBlock(t1.pro)-----------------------------end
---------------------evaluateCommand() (process command input after_State)--------------------------start end
---------------------applyExtraConfigs()--------------------------------------------------------------start end
---------------------evaluateFeatureFile(default_post.prf)----------------------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
---------------------evaluateFeatureFile(default_post.prf)--------------------------------------------end
---------------------evaluateCommand() (process command input late_State)--------------------------start end
---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
---------------------evaluateConfigFeatures()--------------------end
DEBUG 0: done evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeProject::read()------------------------------------------end
---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------start
---------------------NmakeMakefileGenerator::NmakeMakefileGenerator()-----------------------------start end
---------------------MakefileGenerator::setProjectFile()--------------------------------------start
---------------------NmakeMakefileGenerator::init()-------------------------------------------start
---------------------MakefileGenerator::init()------------------------------------------------start end
---------------------NmakeMakefileGenerator::init()-------------------------------------------end
---------------------Win32MakefileGenerator::findLibraries()----------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Guid.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Guid.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Networkd.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Networkd.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Cored.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Cored.prl
---------------------Win32MakefileGenerator::findLibraries()----------------------------------end
---------------------MakefileGenerator::setProjectFile()--------------------------------------end
---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------end
---------------------BuildsMetaMakefileGenerator::processBuild(debug)----------------end
---------------------BuildsMetaMakefileGenerator::processBuild(release)----------------start
---------------------QMakeProject::read()------------------------------------------start
---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
DEBUG 0: evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
---------------------evaluateCommand() (process command input early_State )-------------- start end
---------------------applyExtraConfigs()-------------------------------------------start end
---------------------evaluateFeatureFile(default_pre.prf)--------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
---------------------evaluateFeatureFile(default_pre.prf)-------------------------------end
---------------------evaluateCommand() (process command input before_State)--------------start end
---------------------applyExtraConfigs()--------------start end
---------------------visitProBlock(t1.pro)-----------------------------start
Project MESSAGE: lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files release ReleaseBuild Release build_pass c++11 win32-msvc2015 debug qml_debug release ReleaseBuild Release build_pass c++11 console
---------------------visitProBlock(t1.pro)-----------------------------end
---------------------evaluateCommand() (process command input after_State)--------------start end
---------------------applyExtraConfigs()----------------------------------------------------start end
---------------------evaluateFeatureFile(default_post.prf)-------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
---------------------evaluateFeatureFile(default_post.prf)-------end
---------------------evaluateCommand() (process command input late_State)-------------- start end
---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
---------------------evaluateConfigFeatures()--------------------end
DEBUG 0: done evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
---------------------QMakeProject::read()------------------------------------------end
---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------start
---------------------NmakeMakefileGenerator::NmakeMakefileGenerator()-----------------------------start end
---------------------MakefileGenerator::setProjectFile()--------------------------------------start
---------------------NmakeMakefileGenerator::init()-------------------------------------------start
---------------------MakefileGenerator::init()------------------------------------------------start end
---------------------NmakeMakefileGenerator::init()-------------------------------------------end
---------------------Win32MakefileGenerator::findLibraries()----------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgets.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgets.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Gui.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Gui.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Network.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Network.prl
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Core.prl
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Core.prl
---------------------Win32MakefileGenerator::findLibraries()----------------------------------end
---------------------MakefileGenerator::setProjectFile()--------------------------------------end
---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------end
---------------------BuildsMetaMakefileGenerator::processBuild(release)----------------end
---------------------BuildsMetaMakefileGenerator::init()------------------------end
---------------------MetaMakefileGenerator::createMetaGenerator()----------------------end
---------------------BuildsMetaMakefileGenerator::write()------将解析的内容写入makefile文件---start end
---------------------runQMake(int argc, char **argv)---------------------------------------------------end
工程pro文件的解析所能从中获取变量名的配置文件,及通过命令行输入参数的作用时效(early、before、after、late)如下,(需要注意的是applyExtraConfigs设置的configs是由配置文件自动产生的,命令行设置的config在evaluatecommand的时候设置的):
---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
DEBUG 0: evaluateing file E:/test/t1.pro
---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
---------------------evaluateCommand() (process command input early_State )------------------------start end
---------------------applyExtraConfigs()-------------------------------------------------------------start end
---------------------evaluateFeatureFile(default_pre.prf)------------------------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------------------end
---------------------evaluateCommand() (process command input before_State)-------------------------start end
---------------------applyExtraConfigs()----------------------------------------------------------------start end
---------------------visitProBlock(t1.pro) 该函数解析t1.pro中的语句。如果有load或者include,则按照调用顺序进入到对应文件中去---start
---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files debug DebugBuild Debug build_pass c++11 win32-msvc2015 debug qml_debug debug DebugBuild Debug build_pass c++11 console
---------------------visitProBlock(t1.pro)-----------------------------end
---------------------evaluateCommand() (process command input after_State)--------------------------start end
---------------------applyExtraConfigs()--------------------------------------------------------------start end
---------------------evaluateFeatureFile(default_post.prf)----------------------------------------------start
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
---------------------evaluateFeatureFile(default_post.prf)--------------------------------------------end
---------------------evaluateCommand() (process command input late_State)--------------------------start end
qmake解析调用的单个qt模块Qt5Widgets的配置文件D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl的堆栈
D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl文件内容
QMAKE_PRO_INPUT = widgets.pro
QMAKE_PRL_TARGET = Qt5Widgetsd.lib
QMAKE_PRL_CONFIG = lex yacc debug depend_includepath testcase_targets import_plugins import_qpa_plugin windows qt_build_extra file_copies qmake_use qt warn_on link_prl flat debug_and_release precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared no_plugin_manifest win32 msvc copy_dir_files sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 compile_examples f16c force_debug_info largefile precompile_header rdrnd shani x86SimdAlways prefix_build force_independent utf8_source create_prl link_prl prepare_docs qt_docs_targets no_private_qt_headers_warning QTDIR_build qt_example_installs exceptions_off testcase_exceptions warning_clean debug DebugBuild Debug build_pass c++11 win32-msvc2015 uic qt_tracepoints generated_privates relative_qt_rpath git_build qmake_cache target_qt c++11 strict_c++ qt_install_headers need_fwd_pri qt_install_module debug_and_release build_all create_cmake skip_target_version_ext debug DebugBuild Debug build_pass have_target dll no_plist exclusive_builds debug_info no_autoqmake thread opengl moc resources
QMAKE_PRL_VERSION = 5.12.0
qmake 将解析内容写入makefile时会调用到moc.prf中的函数,发生在write过程中,参考:qtcreator编译qt程序是如何调用moc的,如何通过pro文件向moc传入参数_丘上人的博客-CSDN博客
qmake language 关键字 true false host_build option return next break ever forever
qmake对一个简单的pro文件(t.pro)的解析日志_丘上人的博客-CSDN博客