diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/qtprofilesetup/qtprofilesetup.cpp | 3 | ||||
-rw-r--r-- | src/lib/qtprofilesetup/templates/QtModule.qbs | 14 | ||||
-rw-r--r-- | src/lib/qtprofilesetup/templates/core.qbs | 35 |
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: { |