qt creator源码全方面分析(3-4)
src.pro
前面我们介绍了qtcreator.pro和qtcreator.pri。我们在qtcreator.pro的
SUBDIRS = src share
可知,第一个子项目为src文件夹。下面我们分析核心源码目录src的项目文件src.pro。
加载qtcreator.pri
第一行为
include(../qtcreator.pri)
不做解释,具体见往期文章qt creator源码全方面分析(3-2)。
指定TEMPLATE
接下来是
TEMPLATE = subdirs
CONFIG += ordered
不做解释,具体见往期文章qt creator源码全方面分析(3-1)。
指定SUBDIRS
接下来是
QBS_DIRS = \
qbscorelib \
qbsqtprofilesetup \
qbsapps \
qbslibexec \
qbsplugins \
qbsstatic
qbscorelib.subdir = shared/qbs/src/lib/corelib
qbsqtprofilesetup.subdir = shared/qbs/src/lib/qtprofilesetup
qbsqtprofilesetup.depends = qbscorelib
qbsapps.subdir = shared/qbs/src/app
qbsapps.depends = qbsqtprofilesetup
qbslibexec.subdir = shared/qbs/src/libexec
qbslibexec.depends = qbscorelib
qbsplugins.subdir = shared/qbs/src/plugins
qbsstatic.file = shared/qbs/static.pro
exists(shared/qbs/qbs.pro) {
isEmpty(QBS_INSTALL_DIR):QBS_INSTALL_DIR = $$(QBS_INSTALL_DIR)
isEmpty(QBS_INSTALL_DIR):SUBDIRS += $$QBS_DIRS
}
TR_EXCLUDE = shared/qbs
首先设置了QBS_DIRS文件夹内容列表,然后指定子目录和依赖项。
接下来是
SUBDIRS += \
libs \
app \
plugins \
tools \
share/qtcreator/data.pro \
share/3rdparty/data.pro
这里我们可以直到子项目的编译顺序,依次为libs库,app可执行程序,plugins插件库,tools工具集,share非代码共享文件集。
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵