diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-07-02 18:10:41 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-07-03 10:57:34 +0200 |
commit | d3d95d2bad0f1b78f4f10d710f5f0a9720511ae8 (patch) | |
tree | 818c73a3406dc1763e9e75e6d8bcfd476edd8a61 /src | |
parent | c653f6ab0d04a39298f9b4365528372dee5b302a (diff) |
libqtprofilesetup: Move module list generation into dedicated functions.
Makes it easier to see what is actually going on in the createModules()
function.
Change-Id: I9a81140df4796084e9c2ff74c192b271ee5139eb
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/qtprofilesetup/qtprofilesetup.cpp | 415 |
1 files changed, 213 insertions, 202 deletions
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp index f9e08bf6f..a146879f5 100644 --- a/src/lib/qtprofilesetup/qtprofilesetup.cpp +++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp @@ -218,220 +218,231 @@ static QStringList qt4ModuleIncludePaths(const QtEnvironment &qtEnvironment, return paths; } -static void createModules(Profile &profile, Settings *settings, - const QtEnvironment &qtEnvironment) +static QList<QtModuleInfo> qt4Modules(const QtEnvironment &qtEnvironment) +{ + // as per http://qt-project.org/doc/qt-4.8/modules.html + private stuff. + QList<QtModuleInfo> modules = QList<QtModuleInfo>() + << QtModuleInfo(QLatin1String("QtCore"), QLatin1String("core")) + << QtModuleInfo(QLatin1String("QtCore"), QLatin1String("core-private"), + QStringList() << QLatin1String("core")) + << QtModuleInfo(QLatin1String("QtGui"), QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtGui"), QLatin1String("gui-private"), + QStringList() << QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtMultimedia"), QLatin1String("multimedia"), + QStringList() << QLatin1String("gui") << QLatin1String("network")) + << QtModuleInfo(QLatin1String("QtMultimedia"), QLatin1String("multimedia-private"), + QStringList() << QLatin1String("multimedia")) + << QtModuleInfo(QLatin1String("QtNetwork"), QLatin1String("network")) + << QtModuleInfo(QLatin1String("QtNetwork"), QLatin1String("network-private"), + QStringList() << QLatin1String("network")) + << QtModuleInfo(QLatin1String("QtOpenGL"), QLatin1String("opengl"), + QStringList() << QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtOpenGL"), QLatin1String("opengl-private"), + QStringList() << QLatin1String("opengl")) + << QtModuleInfo(QLatin1String("QtOpenVG"), QLatin1String("openvg"), + QStringList() << QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtScript"), QLatin1String("script")) + << QtModuleInfo(QLatin1String("QtScript"), QLatin1String("script-private"), + QStringList() << QLatin1String("script")) + << QtModuleInfo(QLatin1String("QtScriptTools"), QLatin1String("scripttols"), + QStringList() << QLatin1String("script") << QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtScriptTools"), QLatin1String("scripttols-private"), + QStringList() << QLatin1String("scripttols")) + << QtModuleInfo(QLatin1String("QtSql"), QLatin1String("sql")) + << QtModuleInfo(QLatin1String("QtSql"), QLatin1String("sql-private"), + QStringList() << QLatin1String("sql")) + << QtModuleInfo(QLatin1String("QtSvg"), QLatin1String("svg"), + QStringList() << QLatin1String("gui")) + << QtModuleInfo(QLatin1String("QtSvg"), QLatin1String("svg-private"), + QStringList() << QLatin1String("svg")) + << QtModuleInfo(QLatin1String("QtWebKit"), QLatin1String("webkit"), + QStringList() << QLatin1String("gui") << QLatin1String("network")) + << QtModuleInfo(QLatin1String("QtWebKit"), QLatin1String("webkit-private"), + QStringList() << QLatin1String("webkit")) + << QtModuleInfo(QLatin1String("QtXml"), QLatin1String("xml")) + << QtModuleInfo(QLatin1String("QtXml"), QLatin1String("xml-private"), + QStringList() << QLatin1String("xml")) + << QtModuleInfo(QLatin1String("QtXmlPatterns"), QLatin1String("xmlpatterns"), + QStringList() << "network") + << QtModuleInfo(QLatin1String("QtXmlPatterns"), + QLatin1String("xmlpatterns-private"), + QStringList() << QLatin1String("xmlpatterns")) + << QtModuleInfo(QLatin1String("QtDeclarative"), QLatin1String("declarative"), + QStringList() << QLatin1String("gui") << QLatin1String("script")) + << QtModuleInfo(QLatin1String("QtDeclarative"), + QLatin1String("declarative-private"), + QStringList() << QLatin1String("declarative")) + << QtModuleInfo(QLatin1String("QtDesigner"), QLatin1String("designer"), + QStringList() << QLatin1String("gui") << QLatin1String("xml")) + << QtModuleInfo(QLatin1String("QtDesigner"), QLatin1String("designer-private"), + QStringList() << QLatin1String("designer")) + << QtModuleInfo(QLatin1String("QtUiTools"), QLatin1String("uitools")) + << QtModuleInfo(QLatin1String("QtUiTools"), QLatin1String("uitools-private"), + QStringList() << QLatin1String("uitools")) + << QtModuleInfo(QLatin1String("QtHelp"), QLatin1String("help"), + QStringList() << QLatin1String("network") << QLatin1String("sql")) + << QtModuleInfo(QLatin1String("QtHelp"), QLatin1String("help-private"), + QStringList() << QLatin1String("help")) + << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib")) + << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib-private"), + QStringList() << QLatin1String("testlib")) + << QtModuleInfo(QLatin1String("QtDBus"), QLatin1String("dbus")) + << QtModuleInfo(QLatin1String("QtDBus"), QLatin1String("dbus-private"), + QStringList() << QLatin1String("dbus")); + + QtModuleInfo axcontainer(QLatin1String("QAxContainer"), QLatin1String("axcontainer")); + axcontainer.modulePrefix = QLatin1String("Q"); + axcontainer.isStaticLibrary = true; + axcontainer.includePaths << qtEnvironment.includePath + QLatin1String("/ActiveQt"); + modules << axcontainer; + + QtModuleInfo axserver = axcontainer; + axserver.name = QLatin1String("QAxServer"); + axserver.qbsName = QLatin1String("axserver"); + axserver.compilerDefines = QStringList() << QLatin1String("QAXSERVER"); + modules << axserver; + + QtModuleInfo designerComponentsPrivate(QLatin1String("QtDesignerComponents"), + QLatin1String("designercomponents-private"), + QStringList() << QLatin1String("gui-private") << QLatin1String("designer-private")); + designerComponentsPrivate.hasLibrary = true; + modules << designerComponentsPrivate; + + QtModuleInfo phonon(QLatin1String("Phonon"), QLatin1String("phonon")); + phonon.includePaths = qt4ModuleIncludePaths(qtEnvironment, phonon); + modules << phonon; + + // Set up include paths that haven't been set up before this point. + for (QList<QtModuleInfo>::iterator it = modules.begin(); it != modules.end(); ++it) { + QtModuleInfo &module = *it; + if (!module.includePaths.isEmpty()) + continue; + module.includePaths = qt4ModuleIncludePaths(qtEnvironment, module); + } + + // Set up compiler defines haven't been set up before this point. + for (QList<QtModuleInfo>::iterator it = modules.begin(); it != modules.end(); ++it) { + QtModuleInfo &module = *it; + if (!module.compilerDefines.isEmpty()) + continue; + module.compilerDefines + << QLatin1String("QT_") + module.name.toUpper() + QLatin1String("_LIB"); + } + + // These are for the convenience of project file authors. It allows them + // to add a dependency to e.g. "Qt.widgets" without a version check. + QtModuleInfo virtualModule; + virtualModule.hasLibrary = false; + virtualModule.qbsName = QLatin1String("widgets"); + virtualModule.dependencies = QStringList() << QLatin1String("core") << QLatin1String("gui"); + modules << virtualModule; + virtualModule.qbsName = QLatin1String("quick"); + virtualModule.dependencies = QStringList() << QLatin1String("declarative"); + modules << virtualModule; + virtualModule.qbsName = QLatin1String("concurrent"); + virtualModule.dependencies = QStringList() << QLatin1String("core"); + modules << virtualModule; + virtualModule.qbsName = QLatin1String("printsupport"); + virtualModule.dependencies = QStringList() << QLatin1String("core") << QLatin1String("gui"); + modules << virtualModule; + + addTestModule(modules); + addDesignerComponentsModule(modules); + + return modules; +} + +static QList<QtModuleInfo> qt5Modules(const Profile &profile, const QtEnvironment &qtEnvironment) { QList<QtModuleInfo> modules; - if (qtEnvironment.qtMajorVersion < 5) { - modules // as per http://qt-project.org/doc/qt-4.8/modules.html + private stuff. - << QtModuleInfo(QLatin1String("QtCore"), QLatin1String("core")) - << QtModuleInfo(QLatin1String("QtCore"), QLatin1String("core-private"), - QStringList() << QLatin1String("core")) - << QtModuleInfo(QLatin1String("QtGui"), QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtGui"), QLatin1String("gui-private"), - QStringList() << QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtMultimedia"), QLatin1String("multimedia"), - QStringList() << QLatin1String("gui") << QLatin1String("network")) - << QtModuleInfo(QLatin1String("QtMultimedia"), QLatin1String("multimedia-private"), - QStringList() << QLatin1String("multimedia")) - << QtModuleInfo(QLatin1String("QtNetwork"), QLatin1String("network")) - << QtModuleInfo(QLatin1String("QtNetwork"), QLatin1String("network-private"), - QStringList() << QLatin1String("network")) - << QtModuleInfo(QLatin1String("QtOpenGL"), QLatin1String("opengl"), - QStringList() << QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtOpenGL"), QLatin1String("opengl-private"), - QStringList() << QLatin1String("opengl")) - << QtModuleInfo(QLatin1String("QtOpenVG"), QLatin1String("openvg"), - QStringList() << QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtScript"), QLatin1String("script")) - << QtModuleInfo(QLatin1String("QtScript"), QLatin1String("script-private"), - QStringList() << QLatin1String("script")) - << QtModuleInfo(QLatin1String("QtScriptTools"), QLatin1String("scripttols"), - QStringList() << QLatin1String("script") << QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtScriptTools"), QLatin1String("scripttols-private"), - QStringList() << QLatin1String("scripttols")) - << QtModuleInfo(QLatin1String("QtSql"), QLatin1String("sql")) - << QtModuleInfo(QLatin1String("QtSql"), QLatin1String("sql-private"), - QStringList() << QLatin1String("sql")) - << QtModuleInfo(QLatin1String("QtSvg"), QLatin1String("svg"), - QStringList() << QLatin1String("gui")) - << QtModuleInfo(QLatin1String("QtSvg"), QLatin1String("svg-private"), - QStringList() << QLatin1String("svg")) - << QtModuleInfo(QLatin1String("QtWebKit"), QLatin1String("webkit"), - QStringList() << QLatin1String("gui") << QLatin1String("network")) - << QtModuleInfo(QLatin1String("QtWebKit"), QLatin1String("webkit-private"), - QStringList() << QLatin1String("webkit")) - << QtModuleInfo(QLatin1String("QtXml"), QLatin1String("xml")) - << QtModuleInfo(QLatin1String("QtXml"), QLatin1String("xml-private"), - QStringList() << QLatin1String("xml")) - << QtModuleInfo(QLatin1String("QtXmlPatterns"), QLatin1String("xmlpatterns"), - QStringList() << "network") - << QtModuleInfo(QLatin1String("QtXmlPatterns"), - QLatin1String("xmlpatterns-private"), - QStringList() << QLatin1String("xmlpatterns")) - << QtModuleInfo(QLatin1String("QtDeclarative"), QLatin1String("declarative"), - QStringList() << QLatin1String("gui") << QLatin1String("script")) - << QtModuleInfo(QLatin1String("QtDeclarative"), - QLatin1String("declarative-private"), - QStringList() << QLatin1String("declarative")) - << QtModuleInfo(QLatin1String("QtDesigner"), QLatin1String("designer"), - QStringList() << QLatin1String("gui") << QLatin1String("xml")) - << QtModuleInfo(QLatin1String("QtDesigner"), QLatin1String("designer-private"), - QStringList() << QLatin1String("designer")) - << QtModuleInfo(QLatin1String("QtUiTools"), QLatin1String("uitools")) - << QtModuleInfo(QLatin1String("QtUiTools"), QLatin1String("uitools-private"), - QStringList() << QLatin1String("uitools")) - << QtModuleInfo(QLatin1String("QtHelp"), QLatin1String("help"), - QStringList() << QLatin1String("network") << QLatin1String("sql")) - << QtModuleInfo(QLatin1String("QtHelp"), QLatin1String("help-private"), - QStringList() << QLatin1String("help")) - << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib")) - << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib-private"), - QStringList() << QLatin1String("testlib")) - << QtModuleInfo(QLatin1String("QtDBus"), QLatin1String("dbus")) - << QtModuleInfo(QLatin1String("QtDBus"), QLatin1String("dbus-private"), - QStringList() << QLatin1String("dbus")); - - QtModuleInfo axcontainer(QLatin1String("QAxContainer"), QLatin1String("axcontainer")); - axcontainer.modulePrefix = QLatin1String("Q"); - axcontainer.isStaticLibrary = true; - axcontainer.includePaths << qtEnvironment.includePath + QLatin1String("/ActiveQt"); - modules << axcontainer; - - QtModuleInfo axserver = axcontainer; - axserver.name = QLatin1String("QAxServer"); - axserver.qbsName = QLatin1String("axserver"); - axserver.compilerDefines = QStringList() << QLatin1String("QAXSERVER"); - modules << axserver; - - QtModuleInfo designerComponentsPrivate(QLatin1String("QtDesignerComponents"), - QLatin1String("designercomponents-private"), - QStringList() << QLatin1String("gui-private") << QLatin1String("designer-private")); - designerComponentsPrivate.hasLibrary = true; - modules << designerComponentsPrivate; - - QtModuleInfo phonon(QLatin1String("Phonon"), QLatin1String("phonon")); - phonon.includePaths = qt4ModuleIncludePaths(qtEnvironment, phonon); - modules << phonon; - - // Set up include paths that haven't been set up before this point. - for (QList<QtModuleInfo>::iterator it = modules.begin(); it != modules.end(); ++it) { - QtModuleInfo &module = *it; - if (!module.includePaths.isEmpty()) - continue; - module.includePaths = qt4ModuleIncludePaths(qtEnvironment, module); + QDirIterator dit(qtEnvironment.mkspecBasePath + QLatin1String("/modules")); + while (dit.hasNext()) { + const QString moduleFileNamePrefix = QLatin1String("qt_lib_"); + const QString moduleFileNameSuffix = QLatin1String(".pri"); + dit.next(); + if (!dit.fileName().startsWith(moduleFileNamePrefix) + || !dit.fileName().endsWith(moduleFileNameSuffix)) { + continue; } - - // Set up compiler defines haven't been set up before this point. - for (QList<QtModuleInfo>::iterator it = modules.begin(); it != modules.end(); ++it) { - QtModuleInfo &module = *it; - if (!module.compilerDefines.isEmpty()) - continue; - module.compilerDefines - << QLatin1String("QT_") + module.name.toUpper() + QLatin1String("_LIB"); + QtModuleInfo moduleInfo; + moduleInfo.qbsName = dit.fileName().mid(moduleFileNamePrefix.count(), + dit.fileName().count() - moduleFileNamePrefix.count() + - moduleFileNameSuffix.count()); + moduleInfo.qbsName.replace(QLatin1String("_private"), QLatin1String("-private")); + QFile priFile(dit.filePath()); + if (!priFile.open(QIODevice::ReadOnly)) { + throw ErrorInfo(Internal::Tr::tr("Setting up Qt profile '%1' failed: Cannot open " + "file '%2' (%3).").arg(profile.name(), priFile.fileName(), priFile.errorString())); } - - // These are for the convenience of project file authors. It allows them - // to add a dependency to e.g. "Qt.widgets" without a version check. - QtModuleInfo virtualModule; - virtualModule.hasLibrary = false; - virtualModule.qbsName = QLatin1String("widgets"); - virtualModule.dependencies = QStringList() << QLatin1String("core") << QLatin1String("gui"); - modules << virtualModule; - virtualModule.qbsName = QLatin1String("quick"); - virtualModule.dependencies = QStringList() << QLatin1String("declarative"); - modules << virtualModule; - virtualModule.qbsName = QLatin1String("concurrent"); - virtualModule.dependencies = QStringList() << QLatin1String("core"); - modules << virtualModule; - virtualModule.qbsName = QLatin1String("printsupport"); - virtualModule.dependencies = QStringList() << QLatin1String("core") << QLatin1String("gui"); - modules << virtualModule; - - addTestModule(modules); - addDesignerComponentsModule(modules); - } else { - QDirIterator dit(qtEnvironment.mkspecBasePath + QLatin1String("/modules")); - while (dit.hasNext()) { - const QString moduleFileNamePrefix = QLatin1String("qt_lib_"); - const QString moduleFileNameSuffix = QLatin1String(".pri"); - dit.next(); - if (!dit.fileName().startsWith(moduleFileNamePrefix) - || !dit.fileName().endsWith(moduleFileNameSuffix)) { + const QByteArray priFileContents = priFile.readAll(); + foreach (const QByteArray &line, priFileContents.split('\n')) { + const QByteArray simplifiedLine = line.simplified(); + const QList<QByteArray> parts = simplifiedLine.split('='); + if (parts.count() != 2 || parts.at(1).isEmpty()) continue; - } - QtModuleInfo moduleInfo; - moduleInfo.qbsName = dit.fileName().mid(moduleFileNamePrefix.count(), - dit.fileName().count() - moduleFileNamePrefix.count() - - moduleFileNameSuffix.count()); - moduleInfo.qbsName.replace(QLatin1String("_private"), QLatin1String("-private")); - QFile priFile(dit.filePath()); - if (!priFile.open(QIODevice::ReadOnly)) { - throw ErrorInfo(Internal::Tr::tr("Setting up Qt profile '%1' failed: Cannot open " - "file '%2' (%3).").arg(profile.name(), priFile.fileName(), priFile.errorString())); - } - const QByteArray priFileContents = priFile.readAll(); - foreach (const QByteArray &line, priFileContents.split('\n')) { - const QByteArray simplifiedLine = line.simplified(); - const QList<QByteArray> parts = simplifiedLine.split('='); - if (parts.count() != 2 || parts.at(1).isEmpty()) - continue; - const QByteArray key = parts.first().simplified(); - const QByteArray value = parts.last().simplified(); - if (key.endsWith(".name")) { - moduleInfo.name = QString::fromLocal8Bit(value); - } else if (key.endsWith(".depends")) { - moduleInfo.dependencies = QString::fromLocal8Bit(value).split(QLatin1Char(' ')); - for (int i = 0; i < moduleInfo.dependencies.count(); ++i) { - moduleInfo.dependencies[i].replace(QLatin1String("_private"), - QLatin1String("-private")); - } - } else if (key.endsWith(".module_config")) { - foreach (const QByteArray &elem, value.split(' ')) { - if (elem == "no_link") - moduleInfo.hasLibrary = false; - else if (elem == "staticlib") - moduleInfo.isStaticLibrary = true; - else if (elem == "internal_module") - moduleInfo.isPrivate = true; - } - } else if (key.endsWith(".includes")) { - moduleInfo.includePaths = QString::fromLocal8Bit(value).split(QLatin1Char(' ')); - for (int i = 0; i < moduleInfo.includePaths.count(); ++i) { - moduleInfo.includePaths[i].replace( - QLatin1String("$$QT_MODULE_INCLUDE_BASE"), - qtEnvironment.includePath); - } - } else if (key.endsWith(".DEFINES")) { - moduleInfo.compilerDefines = QString::fromLocal8Bit(value) - .split(QLatin1Char(' '), QString::SkipEmptyParts); - } else if (key.endsWith(".VERSION")) { - moduleInfo.version = QString::fromLocal8Bit(value); + const QByteArray key = parts.first().simplified(); + const QByteArray value = parts.last().simplified(); + if (key.endsWith(".name")) { + moduleInfo.name = QString::fromLocal8Bit(value); + } else if (key.endsWith(".depends")) { + moduleInfo.dependencies = QString::fromLocal8Bit(value).split(QLatin1Char(' ')); + for (int i = 0; i < moduleInfo.dependencies.count(); ++i) { + moduleInfo.dependencies[i].replace(QLatin1String("_private"), + QLatin1String("-private")); } - } - - // Fix include paths for OS X frameworks. The qt_lib_XXX.pri files contain wrong values. - if (qtEnvironment.frameworkBuild && !moduleInfo.isStaticLibrary) { - moduleInfo.includePaths.clear(); - QString baseIncDir = frameworkHeadersPath(qtEnvironment, moduleInfo); - if (moduleInfo.isPrivate) { - baseIncDir += QLatin1Char('/') + moduleInfo.version; - moduleInfo.includePaths - << baseIncDir - << baseIncDir + QLatin1Char('/') + moduleInfo.name; - } else { - moduleInfo.includePaths << baseIncDir; + } else if (key.endsWith(".module_config")) { + foreach (const QByteArray &elem, value.split(' ')) { + if (elem == "no_link") + moduleInfo.hasLibrary = false; + else if (elem == "staticlib") + moduleInfo.isStaticLibrary = true; + else if (elem == "internal_module") + moduleInfo.isPrivate = true; } + } else if (key.endsWith(".includes")) { + moduleInfo.includePaths = QString::fromLocal8Bit(value).split(QLatin1Char(' ')); + for (int i = 0; i < moduleInfo.includePaths.count(); ++i) { + moduleInfo.includePaths[i].replace( + QLatin1String("$$QT_MODULE_INCLUDE_BASE"), + qtEnvironment.includePath); + } + } else if (key.endsWith(".DEFINES")) { + moduleInfo.compilerDefines = QString::fromLocal8Bit(value) + .split(QLatin1Char(' '), QString::SkipEmptyParts); + } else if (key.endsWith(".VERSION")) { + moduleInfo.version = QString::fromLocal8Bit(value); } + } - modules << moduleInfo; - if (moduleInfo.qbsName == QLatin1String("testlib")) - addTestModule(modules); - if (moduleInfo.qbsName == QLatin1String("designercomponents-private")) - addDesignerComponentsModule(modules); + // Fix include paths for OS X frameworks. The qt_lib_XXX.pri files contain wrong values. + if (qtEnvironment.frameworkBuild && !moduleInfo.isStaticLibrary) { + moduleInfo.includePaths.clear(); + QString baseIncDir = frameworkHeadersPath(qtEnvironment, moduleInfo); + if (moduleInfo.isPrivate) { + baseIncDir += QLatin1Char('/') + moduleInfo.version; + moduleInfo.includePaths + << baseIncDir + << baseIncDir + QLatin1Char('/') + moduleInfo.name; + } else { + moduleInfo.includePaths << baseIncDir; + } } + + modules << moduleInfo; + if (moduleInfo.qbsName == QLatin1String("testlib")) + addTestModule(modules); + if (moduleInfo.qbsName == QLatin1String("designercomponents-private")) + addDesignerComponentsModule(modules); } + return modules; +} +static void createModules(Profile &profile, Settings *settings, + const QtEnvironment &qtEnvironment) +{ + const QList<QtModuleInfo> modules = qtEnvironment.qtMajorVersion < 5 + ? qt4Modules(qtEnvironment) + : qt5Modules(profile, qtEnvironment); const QString profileBaseDir = QString::fromLocal8Bit("%1/qbs/profiles/%2") .arg(QFileInfo(settings->fileName()).dir().absolutePath(), profile.name()); const QString qbsQtModuleBaseDir = profileBaseDir + QLatin1String("/modules/Qt"); |