aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-07-02 18:10:41 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-07-03 10:57:34 +0200
commitd3d95d2bad0f1b78f4f10d710f5f0a9720511ae8 (patch)
tree818c73a3406dc1763e9e75e6d8bcfd476edd8a61 /src
parentc653f6ab0d04a39298f9b4365528372dee5b302a (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.cpp415
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");