diff options
Diffstat (limited to 'src/lib/qtprofilesetup/templates/core.qbs')
-rw-r--r-- | src/lib/qtprofilesetup/templates/core.qbs | 35 |
1 files changed, 27 insertions, 8 deletions
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: { |