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非代码共享文件集。


原创造福大家,共享改变世界

献出一片爱心,温暖作者心灵


posted @ 2020-03-15 15:19  codeForFamily  阅读(563)  评论(0编辑  收藏  举报