aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-05-03 17:00:51 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-05-09 12:33:10 +0000
commitafe5f9701d69e7cdb59a80bd8282d469a74b90ec (patch)
tree6d3a1a7ccdd510c588b8bf340ce33faeca9ed7a6
parent15751999bbfa66015f48bbdde2fea2d4e8fed61a (diff)
qbs build: Add convenience properties for building statically
So that we can easily test this functionality in the absence of a statically built Qt. Change-Id: I9c8f296222bc3155cb95219d4ababfd34e1e7e7b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--qbs-resources/imports/QbsLibrary.qbs5
-rw-r--r--qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs1
-rw-r--r--src/lib/corelib/corelib.qbs2
-rw-r--r--src/plugins/qbsplugin.qbs8
4 files changed, 9 insertions, 7 deletions
diff --git a/qbs-resources/imports/QbsLibrary.qbs b/qbs-resources/imports/QbsLibrary.qbs
index 736025cbb..f8bc70580 100644
--- a/qbs-resources/imports/QbsLibrary.qbs
+++ b/qbs-resources/imports/QbsLibrary.qbs
@@ -16,11 +16,12 @@ QbsProduct {
cpp.soVersion: version.replace(/\.\d+$/, '')
}
cpp.visibility: "minimal"
- property string visibilityType: Qt.core.staticBuild ? "static" : "dynamic"
+ property string visibilityType: staticBuild ? "static" : "dynamic"
property string headerInstallPrefix: "/include/qbs"
property bool hasExporter: Utilities.versionCompare(qbs.version, "1.12") >= 0
property bool generateQbsModule: install && qbsbuildconfig.generateQbsModules && hasExporter
- property stringList libType: [Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary"]
+ property bool staticBuild: Qt.core.staticBuild || qbsbuildconfig.staticBuild
+ property stringList libType: [staticBuild ? "staticlibrary" : "dynamiclibrary"]
Depends { name: "Exporter.qbs"; condition: generateQbsModule }
Group {
fileTagsFilter: libType.concat("dynamiclibrary_symlink")
diff --git a/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs b/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs
index 8bd3c617a..7f978d47b 100644
--- a/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs
+++ b/qbs-resources/modules/qbsbuildconfig/qbsbuildconfig.qbs
@@ -8,6 +8,7 @@ Module {
property bool installApiHeaders: true
property bool enableBundledQt: true
property bool useBundledQtScript: false
+ property bool staticBuild: false
property string libDirName: "lib"
property string appInstallDir: "bin"
property string libInstallDir: qbs.targetOS.contains("windows") ? "bin" : libDirName
diff --git a/src/lib/corelib/corelib.qbs b/src/lib/corelib/corelib.qbs
index eff34ab51..ff3fc04b5 100644
--- a/src/lib/corelib/corelib.qbs
+++ b/src/lib/corelib/corelib.qbs
@@ -15,7 +15,7 @@ QbsLibrary {
condition: qbsbuildconfig.useBundledQtScript || !Qt.script.present
}
Depends { condition: qbsbuildconfig.enableProjectFileUpdates; name: "Qt.gui" }
- Depends { condition: Qt.core.staticBuild; productTypes: ["qbsplugin"] }
+ Depends { condition: staticBuild; productTypes: ["qbsplugin"] }
name: "qbscore"
cpp.includePaths: base.concat([
".",
diff --git a/src/plugins/qbsplugin.qbs b/src/plugins/qbsplugin.qbs
index f6a752dc1..269614e11 100644
--- a/src/plugins/qbsplugin.qbs
+++ b/src/plugins/qbsplugin.qbs
@@ -3,16 +3,16 @@ import qbs.FileInfo
QbsProduct {
property bool isForDarwin: qbs.targetOS.contains("darwin")
+ property bool staticBuild: Qt.core.staticBuild || qbsbuildconfig.staticBuild
Depends { name: "cpp" }
Depends { name: "bundle"; condition: isForDarwin }
Depends { name: "Qt.core" }
Depends { name: "qbsbuildconfig" }
- Depends { name: "qbscore"; condition: !Qt.core.staticBuild }
- type: (Qt.core.staticBuild ? ["staticlibrary"]
- : [isForDarwin ? "loadablemodule" : "dynamiclibrary"])
+ Depends { name: "qbscore"; condition: !staticBuild }
+ type: (staticBuild ? ["staticlibrary"] : [isForDarwin ? "loadablemodule" : "dynamiclibrary"])
.concat(["qbsplugin"])
Properties {
- condition: Qt.core.staticBuild
+ condition: staticBuild
cpp.defines: ["QBS_STATIC_LIB"]
}
cpp.includePaths: base.concat(["../../../lib/corelib"])