aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/qtprofilesetup/qtprofilesetup.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-06-02 12:22:47 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-06-02 12:22:47 +0200
commit746e2a54cb9e78efc8995886f2de1d429b74fdec (patch)
treef6641b2992540d886b5cb4b7879b30e737c2a3aa /src/lib/qtprofilesetup/qtprofilesetup.cpp
parent0d17c9617e1478951ea8e967937adb7d16a8e3b3 (diff)
parentb300372f7e6bb106e8b77adebaa40bfbfebebd3a (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.cpp39
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);