diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-06-02 12:22:47 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-06-02 12:22:47 +0200 |
commit | 746e2a54cb9e78efc8995886f2de1d429b74fdec (patch) | |
tree | f6641b2992540d886b5cb4b7879b30e737c2a3aa /src/lib/qtprofilesetup/qtprofilesetup.cpp | |
parent | 0d17c9617e1478951ea8e967937adb7d16a8e3b3 (diff) | |
parent | b300372f7e6bb106e8b77adebaa40bfbfebebd3a (diff) |
Merge remote-tracking branch 'origin/1.2'
Conflicts:
qbs_version.pri
share/qbs/modules/cpp/GenericGCC.qbs
version.js
Change-Id: I77e3d22cdc6f95bfa83c64a7fcfde735c6393d10
Diffstat (limited to 'src/lib/qtprofilesetup/qtprofilesetup.cpp')
-rw-r--r-- | src/lib/qtprofilesetup/qtprofilesetup.cpp | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp index ddaec6c8e..c99406358 100644 --- a/src/lib/qtprofilesetup/qtprofilesetup.cpp +++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp @@ -50,7 +50,8 @@ struct QtModuleInfo QtModuleInfo(const QString &name, const QString &qbsName, const QStringList &deps = QStringList()) : name(name), qbsName(qbsName), dependencies(deps), - hasLibrary(!qbsName.endsWith(QLatin1String("-private"))) + hasLibrary(!qbsName.endsWith(QLatin1String("-private"))), + isStaticLibrary(false) { const QString coreModule = QLatin1String("core"); if (qbsName != coreModule && !dependencies.contains(coreModule)) @@ -59,13 +60,25 @@ struct QtModuleInfo QtModuleInfo() : hasLibrary(true) {} + QString modulePrefix; // default is empty and means "Qt". QString name; // As in the path to the headers and ".name" in the pri files. QString qbsName; // Lower-case version without "qt" prefix. QStringList dependencies; // qbs names. QStringList includePaths; bool hasLibrary; + bool isStaticLibrary; }; +static QString qtModuleName(const QtModuleInfo &module) +{ + if (module.name.startsWith(QLatin1String("Qt"))) + return module.name.mid(2); // Strip off "Qt". + else if (module.name.startsWith(QLatin1String("QAx"))) + return module.name.mid(1); // Strip off "Q". + else + return module.name; +} + static void copyTemplateFile(const QString &fileName, const QString &targetDirectory, const QString &profileName) { @@ -197,12 +210,20 @@ static void createModules(Profile &profile, Settings *settings, << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib")) << QtModuleInfo(QLatin1String("QtTest"), QLatin1String("testlib-private"), QStringList() << QLatin1String("testlib")) - << QtModuleInfo(QLatin1String("QAxContainer"), QLatin1String("axcontainer")) - << QtModuleInfo(QLatin1String("QAxServer"), QLatin1String("axserver")) << 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; + modules << axcontainer; + + QtModuleInfo axserver = axcontainer; + axserver.name = QLatin1String("QAxServer"); + axserver.qbsName = QLatin1String("axserver"); + modules << axserver; + QtModuleInfo designerComponentsPrivate(QLatin1String("QtDesignerComponents"), QLatin1String("designercomponents-private"), QStringList() << QLatin1String("gui-private") << QLatin1String("designer-private")); @@ -311,7 +332,7 @@ static void createModules(Profile &profile, Settings *settings, .arg(profile.name(), moduleFile.fileName(), moduleFile.errorString())); } QByteArray content = moduleFile.readAll(); - content.replace("### name", '"' + module.name.mid(2).toUtf8() + '"'); // Strip off "Qt". + content.replace("### name", '"' + qtModuleName(module).toUtf8() + '"'); content.replace("### has library", module.hasLibrary ? "true" : "false"); replaceListPlaceholder(content, "### dependencies", module.dependencies); replaceListPlaceholder(content, "### includes", module.includePaths); @@ -337,6 +358,16 @@ static void createModules(Profile &profile, Settings *settings, s << indent << "property string qmlImportsPath: " << quotedPath(qtEnvironment.qmlImportPath); } + if (!module.modulePrefix.isEmpty()) { + if (!propertiesString.isEmpty()) + propertiesString += "\n "; + propertiesString += "qtModulePrefix: \"" + module.modulePrefix.toUtf8() + '"'; + } + if (module.isStaticLibrary) { + if (!propertiesString.isEmpty()) + propertiesString += "\n "; + propertiesString += "isStaticLibrary: true"; + } content.replace("### special properties", propertiesString); moduleFile.resize(0); moduleFile.write(content); |