aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/qtprofilesetup
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/qtprofilesetup')
-rw-r--r--src/lib/qtprofilesetup/qtprofilesetup.cpp3
-rw-r--r--src/lib/qtprofilesetup/templates/QtModule.qbs14
-rw-r--r--src/lib/qtprofilesetup/templates/core.qbs35
3 files changed, 36 insertions, 16 deletions
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp
index 65e100f57..3b924616f 100644
--- a/src/lib/qtprofilesetup/qtprofilesetup.cpp
+++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp
@@ -296,7 +296,8 @@ void doSetupQtProfile(const QString &profileName, Settings *settings,
profile.setValue(settingsTemplate.arg("docPath"), qtEnvironment.documentationPath);
profile.setValue(settingsTemplate.arg("version"), qtEnvironment.qtVersion);
profile.setValue(settingsTemplate.arg("libInfix"), qtEnvironment.qtLibInfix);
- profile.setValue(settingsTemplate.arg("buildVariant"), qtEnvironment.buildVariant);
+ profile.setValue(settingsTemplate.arg("buildVariant"), qtEnvironment.buildVariant); // TODO: Remove in 1.5
+ profile.setValue(settingsTemplate.arg("availableBuildVariants"), qtEnvironment.buildVariant);
profile.setValue(settingsTemplate.arg(QLatin1String("staticBuild")), staticBuild);
// Set the minimum operating system versions appropriate for this Qt version
diff --git a/src/lib/qtprofilesetup/templates/QtModule.qbs b/src/lib/qtprofilesetup/templates/QtModule.qbs
index 6c088555d..159568bca 100644
--- a/src/lib/qtprofilesetup/templates/QtModule.qbs
+++ b/src/lib/qtprofilesetup/templates/QtModule.qbs
@@ -12,11 +12,11 @@ Module {
property string qtLibInfix: Qt.core.libInfix
property string libNameForLinkerDebug
property string libNameForLinkerRelease
- property string libNameForLinker: qbs.buildVariant === "debug"
+ property string libNameForLinker: Qt.core.qtBuildVariant === "debug"
? libNameForLinkerDebug : libNameForLinkerRelease
property string libFilePathDebug
property string libFilePathRelease
- property string libFilePath: qbs.buildVariant === "debug"
+ property string libFilePath: Qt.core.qtBuildVariant === "debug"
? libFilePathDebug : libFilePathRelease
property string qtVersion: Qt.core.version
property bool hasLibrary: true
@@ -29,19 +29,19 @@ Module {
property stringList dynamicLibsRelease
property stringList linkerFlagsDebug
property stringList linkerFlagsRelease
- property stringList staticLibs: qbs.buildVariant === "debug"
+ property stringList staticLibs: Qt.core.qtBuildVariant === "debug"
? staticLibsDebug : staticLibsRelease
- property stringList dynamicLibs: qbs.buildVariant === "debug"
+ property stringList dynamicLibs: Qt.core.qtBuildVariant === "debug"
? dynamicLibsDebug : dynamicLibsRelease
property stringList frameworksDebug
property stringList frameworksRelease
property stringList frameworkPathsDebug
property stringList frameworkPathsRelease
- property stringList mFrameworks: qbs.buildVariant === "debug"
+ property stringList mFrameworks: Qt.core.qtBuildVariant === "debug"
? frameworksDebug : frameworksRelease
- property stringList mFrameworkPaths: qbs.buildVariant === "debug"
+ property stringList mFrameworkPaths: Qt.core.qtBuildVariant === "debug"
? frameworkPathsDebug: frameworkPathsRelease
- cpp.linkerFlags: qbs.buildVariant === "debug"
+ cpp.linkerFlags: Qt.core.qtBuildVariant === "debug"
? linkerFlagsDebug : linkerFlagsRelease
Properties {
diff --git a/src/lib/qtprofilesetup/templates/core.qbs b/src/lib/qtprofilesetup/templates/core.qbs
index aefd9c48d..9dd51bd53 100644
--- a/src/lib/qtprofilesetup/templates/core.qbs
+++ b/src/lib/qtprofilesetup/templates/core.qbs
@@ -30,34 +30,42 @@ Module {
property int versionPatch: versionParts[2]
property bool frameworkBuild
property bool staticBuild
- property stringList buildVariant
+
+ property stringList availableBuildVariants
+ property stringList buildVariant // TODO: Remove in 1.5
+ property string qtBuildVariant: {
+ if (availableBuildVariants.contains(qbs.buildVariant))
+ return qbs.buildVariant;
+ return availableBuildVariants.length > 0 ? availableBuildVariants[0] : "";
+ }
+
property stringList staticLibsDebug: @staticLibsDebug@
property stringList staticLibsRelease: @staticLibsRelease@
property stringList dynamicLibsDebug: @dynamicLibsDebug@
property stringList dynamicLibsRelease: @dynamicLibsRelease@
- property stringList staticLibs: qbs.buildVariant === "debug"
+ property stringList staticLibs: qtBuildVariant === "debug"
? staticLibsDebug : staticLibsRelease
- property stringList dynamicLibs: qbs.buildVariant === "debug"
+ property stringList dynamicLibs: qtBuildVariant === "debug"
? dynamicLibsDebug : dynamicLibsRelease
property stringList linkerFlagsDebug: @linkerFlagsDebug@
property stringList linkerFlagsRelease: @linkerFlagsRelease@
- property stringList coreLinkerFlags: qbs.buildVariant === "debug"
+ property stringList coreLinkerFlags: qtBuildVariant === "debug"
? linkerFlagsDebug : linkerFlagsRelease
property stringList frameworksDebug: @frameworksDebug@
property stringList frameworksRelease: @frameworksRelease@
- property stringList coreFrameworks: qbs.buildVariant === "debug"
+ property stringList coreFrameworks: qtBuildVariant === "debug"
? frameworksDebug : frameworksRelease
property stringList frameworkPathsDebug: @frameworkPathsDebug@
property stringList frameworkPathsRelease: @frameworkPathsRelease@
- property stringList coreFrameworkPaths: qbs.buildVariant === "debug"
+ property stringList coreFrameworkPaths: qtBuildVariant === "debug"
? frameworkPathsDebug : frameworkPathsRelease
property string libNameForLinkerDebug: @libNameForLinkerDebug@
property string libNameForLinkerRelease: @libNameForLinkerRelease@
- property string libNameForLinker: qbs.buildVariant === "debug"
+ property string libNameForLinker: qtBuildVariant === "debug"
? libNameForLinkerDebug : libNameForLinkerRelease
property string libFilePathDebug: @libFilePathDebug@
property string libFilePathRelease: @libFilePathRelease@
- property string libFilePath: qbs.buildVariant === "debug"
+ property string libFilePath: qtBuildVariant === "debug"
? libFilePathDebug : libFilePathRelease
coreLibPaths: @libraryPaths@
@@ -168,6 +176,17 @@ Module {
validator.addRangeValidator("versionPatch", versionPatch, 0);
validator.validate();
+
+ if (availableBuildVariants.length === 0)
+ throw "The Qt installation supports no build variants.";
+ if (!availableBuildVariants.contains(qtBuildVariant)) {
+ throw "Qt.core.qtBuildVariant '" + qtBuildVariant +
+ "' is not supported by this Qt installation.";
+ }
+ if (qbs.toolchain.contains("msvc") && qtBuildVariant !== qbs.buildVariant) {
+ throw "Qt.core.qtBuildVariant is '" + qtBuildVariant + "', but qbs.buildVariant is '"
+ + qbs.buildVariant + "', which is not allowed when using MSVC.";
+ }
}
setupRunEnvironment: {