summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-10-29 14:34:48 +0100
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2014-10-30 16:26:08 +0100
commit01286887e9867723c7854c4af169fb37de946a74 (patch)
treef21ce01c146ed120d6ef91d070ae1ea7aa44b26f
parent7c82e9f3f417564dff89b75c802e4bd91e4b1ca7 (diff)
downloadqbs-01286887e9867723c7854c4af169fb37de946a74.tar.gz
qbs build: Introduce convenience item QbsProduct.
As base product for QbsApp, QbsLibrary etc. Has little functionality at the moment, but will get more soon. Change-Id: I29ac78db2ff1ba109dd09a55e7593b2beeaba741 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--doc/doc.qbs6
-rw-r--r--qbs-resources/imports/QbsApp.qbs (renamed from src/app/apptemplate.qbs)6
-rw-r--r--qbs-resources/imports/QbsAutotest.qbs (renamed from tests/auto/autotest.qbs)4
-rw-r--r--qbs-resources/imports/QbsFunctions/functions.js18
-rw-r--r--qbs-resources/imports/QbsLibrary.qbs (renamed from src/lib/Library.qbs)7
-rw-r--r--qbs-resources/imports/QbsProduct.qbs5
-rw-r--r--qbs.qbs1
-rw-r--r--src/app/config-ui/config-ui.qbs1
-rw-r--r--src/app/config/config.qbs1
-rw-r--r--src/app/qbs-qmltypes/qbs-qmltypes.qbs1
-rw-r--r--src/app/qbs-setup-qt/qbs-setup-qt.qbs1
-rw-r--r--src/app/qbs-setup-toolchains/qbs-setup-toolchains.qbs1
-rw-r--r--src/app/qbs/qbs.qbs5
-rw-r--r--src/lib/corelib/corelib.qbs2
-rw-r--r--src/lib/qtprofilesetup/qtprofilesetup.qbs1
-rw-r--r--tests/auto/api/api.qbs4
-rw-r--r--tests/auto/blackbox/blackbox.qbs4
-rw-r--r--tests/auto/buildgraph/buildgraph.qbs4
-rw-r--r--tests/auto/cmdlineparser/cmdlineparser.qbs11
-rw-r--r--tests/auto/language/language.qbs4
-rw-r--r--tests/auto/tools/tools.qbs4
-rw-r--r--version.js1
22 files changed, 54 insertions, 38 deletions
diff --git a/doc/doc.qbs b/doc/doc.qbs
index 575bfaa08..d20479919 100644
--- a/doc/doc.qbs
+++ b/doc/doc.qbs
@@ -1,5 +1,5 @@
import qbs 1.0
-import "../version.js" as Version
+import QbsFunctions
Product {
name: "documentation"
@@ -17,10 +17,10 @@ Product {
fileTags: "qdocconf-main"
}
- property string versionTag: Version.qbsVersion().replace(/\.|-/g, "")
+ property string versionTag: QbsFunctions.qbsVersion().replace(/\.|-/g, "")
Qt.core.qdocQhpFileName: "qbs.qhp"
Qt.core.qdocEnvironment: [
- "QBS_VERSION=" + Version.qbsVersion(),
+ "QBS_VERSION=" + QbsFunctions.qbsVersion(),
"SRCDIR=" + path,
"QT_INSTALL_DOCS=" + Qt.core.docPath,
"QBS_VERSION_TAG=" + versionTag
diff --git a/src/app/apptemplate.qbs b/qbs-resources/imports/QbsApp.qbs
index 7ebe33b2d..f940d8aa8 100644
--- a/src/app/apptemplate.qbs
+++ b/qbs-resources/imports/QbsApp.qbs
@@ -1,9 +1,8 @@
-import qbs 1.0
+import qbs
-Product {
+QbsProduct {
Depends { name: "qbscore" }
Depends { name: "cpp" }
- Depends { name: "Qt.core" }
type: "application"
consoleApplication: true
destinationDirectory: "bin"
@@ -26,4 +25,3 @@ Product {
]
}
}
-
diff --git a/tests/auto/autotest.qbs b/qbs-resources/imports/QbsAutotest.qbs
index 8c802df98..4edccb94d 100644
--- a/tests/auto/autotest.qbs
+++ b/qbs-resources/imports/QbsAutotest.qbs
@@ -6,11 +6,11 @@ QtApplication {
name: "tst_" + testName
Depends { name: "Qt.test" }
Depends { name: "qbscore" }
- cpp.includePaths: path + "/../../src"
+ cpp.includePaths: "../../../src"
destinationDirectory: "bin"
Group {
name: "logging"
- prefix: path + "/../../src/app/shared/logging/"
+ prefix: "../../../src/app/shared/logging/"
files: [
"coloredoutput.cpp",
"coloredoutput.h",
diff --git a/qbs-resources/imports/QbsFunctions/functions.js b/qbs-resources/imports/QbsFunctions/functions.js
new file mode 100644
index 000000000..108259d37
--- /dev/null
+++ b/qbs-resources/imports/QbsFunctions/functions.js
@@ -0,0 +1,18 @@
+function qbsVersion() { return "1.4.0"; }
+
+function versionIsAtLeast(actualVersion, expectedVersion)
+{
+ var actualVersionParts = actualVersion.split('.').map(function(item) {
+ return parseInt(item, 10);
+ });
+ var expectedVersionParts = expectedVersion.split('.').map(function(item) {
+ return parseInt(item, 10);
+ });
+ for (var i = 0; i < expectedVersionParts.length; ++i) {
+ if (actualVersionParts[i] > expectedVersionParts[i])
+ return true;
+ if (actualVersionParts[i] < expectedVersionParts[i])
+ return false;
+ }
+ return i === expectedVersionParts.length || expectedVersionParts[i] === 0;
+}
diff --git a/src/lib/Library.qbs b/qbs-resources/imports/QbsLibrary.qbs
index dee00fa3c..e358fecfa 100644
--- a/src/lib/Library.qbs
+++ b/qbs-resources/imports/QbsLibrary.qbs
@@ -1,10 +1,9 @@
import qbs
-import "../../version.js" as Version
+import QbsFunctions
-Product {
+QbsProduct {
Depends { name: "cpp" }
- Depends { name: "Qt"; submodules: ["core"] }
- version: Version.qbsVersion()
+ version: QbsFunctions.qbsVersion()
type: Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary"
targetName: (qbs.enableDebugCode && qbs.targetOS.contains("windows")) ? (name + 'd') : name
destinationDirectory: qbs.targetOS.contains("windows") ? "bin" : project.libDirName
diff --git a/qbs-resources/imports/QbsProduct.qbs b/qbs-resources/imports/QbsProduct.qbs
new file mode 100644
index 000000000..39b0cc5a0
--- /dev/null
+++ b/qbs-resources/imports/QbsProduct.qbs
@@ -0,0 +1,5 @@
+import qbs
+
+Product {
+ Depends { name: "Qt.core" }
+}
diff --git a/qbs.qbs b/qbs.qbs
index 7d084c955..73a08fe49 100644
--- a/qbs.qbs
+++ b/qbs.qbs
@@ -2,6 +2,7 @@ import qbs 1.0
Project {
minimumQbsVersion: "1.3"
+ qbsSearchPaths: ["qbs-resources"]
property bool enableUnitTests: false
property bool enableProjectFileUpdates: false
property bool enableRPath: true
diff --git a/src/app/config-ui/config-ui.qbs b/src/app/config-ui/config-ui.qbs
index 078d3d4a2..bed34673d 100644
--- a/src/app/config-ui/config-ui.qbs
+++ b/src/app/config-ui/config-ui.qbs
@@ -1,5 +1,4 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
QbsApp {
Depends { name: "Qt.widgets" }
diff --git a/src/app/config/config.qbs b/src/app/config/config.qbs
index 1f9a141c9..3ef2166d3 100644
--- a/src/app/config/config.qbs
+++ b/src/app/config/config.qbs
@@ -1,5 +1,4 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
QbsApp {
name: "qbs-config"
diff --git a/src/app/qbs-qmltypes/qbs-qmltypes.qbs b/src/app/qbs-qmltypes/qbs-qmltypes.qbs
index 8c11fd911..f7368a1a8 100644
--- a/src/app/qbs-qmltypes/qbs-qmltypes.qbs
+++ b/src/app/qbs-qmltypes/qbs-qmltypes.qbs
@@ -1,5 +1,4 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
QbsApp {
name: "qbs-qmltypes"
diff --git a/src/app/qbs-setup-qt/qbs-setup-qt.qbs b/src/app/qbs-setup-qt/qbs-setup-qt.qbs
index 3120901e0..033f046a5 100644
--- a/src/app/qbs-setup-qt/qbs-setup-qt.qbs
+++ b/src/app/qbs-setup-qt/qbs-setup-qt.qbs
@@ -1,5 +1,4 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
QbsApp {
name: "qbs-setup-qt"
diff --git a/src/app/qbs-setup-toolchains/qbs-setup-toolchains.qbs b/src/app/qbs-setup-toolchains/qbs-setup-toolchains.qbs
index b27f8f5a2..13bb0dd01 100644
--- a/src/app/qbs-setup-toolchains/qbs-setup-toolchains.qbs
+++ b/src/app/qbs-setup-toolchains/qbs-setup-toolchains.qbs
@@ -1,5 +1,4 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
QbsApp {
name: "qbs-setup-toolchains"
diff --git a/src/app/qbs/qbs.qbs b/src/app/qbs/qbs.qbs
index 2f96dde8d..afe8a2fba 100644
--- a/src/app/qbs/qbs.qbs
+++ b/src/app/qbs/qbs.qbs
@@ -1,12 +1,11 @@
import qbs 1.0
-import "../apptemplate.qbs" as QbsApp
-import "../../../version.js" as Version
+import QbsFunctions
QbsApp {
name: "qbs_app"
targetName: "qbs"
cpp.defines: base.concat([
- 'QBS_VERSION="' + Version.qbsVersion() + '"',
+ 'QBS_VERSION="' + QbsFunctions.qbsVersion() + '"',
'QBS_RELATIVE_SEARCH_PATH="' + project.relativeSearchPath + '"',
'QBS_RELATIVE_PLUGINS_PATH="' + project.relativePluginsPath + '"'
])
diff --git a/src/lib/corelib/corelib.qbs b/src/lib/corelib/corelib.qbs
index 90af0196a..3dfe917c8 100644
--- a/src/lib/corelib/corelib.qbs
+++ b/src/lib/corelib/corelib.qbs
@@ -1,5 +1,5 @@
import qbs 1.0
-import "../Library.qbs" as QbsLibrary
+import QbsFunctions
QbsLibrary {
Depends { name: "cpp" }
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.qbs b/src/lib/qtprofilesetup/qtprofilesetup.qbs
index ad7e34005..8d340ac9a 100644
--- a/src/lib/qtprofilesetup/qtprofilesetup.qbs
+++ b/src/lib/qtprofilesetup/qtprofilesetup.qbs
@@ -1,5 +1,4 @@
import qbs
-import "../Library.qbs" as QbsLibrary
QbsLibrary {
name: "qbsqtprofilesetup"
diff --git a/tests/auto/api/api.qbs b/tests/auto/api/api.qbs
index 61f6070a9..bcf1cbd53 100644
--- a/tests/auto/api/api.qbs
+++ b/tests/auto/api/api.qbs
@@ -1,6 +1,6 @@
-import "../autotest.qbs" as AutoTest
+import qbs
-AutoTest {
+QbsAutotest {
testName: "api"
files: ["../shared.h", "tst_api.h", "tst_api.cpp"]
cpp.defines: base.concat([
diff --git a/tests/auto/blackbox/blackbox.qbs b/tests/auto/blackbox/blackbox.qbs
index 7b7a31635..3a41a9de4 100644
--- a/tests/auto/blackbox/blackbox.qbs
+++ b/tests/auto/blackbox/blackbox.qbs
@@ -1,6 +1,6 @@
-import "../autotest.qbs" as AutoTest
+import qbs 1.0
-AutoTest {
+QbsAutotest {
testName: "blackbox"
files: ["../shared.h", "tst_blackbox.h", "tst_blackbox.cpp", ]
cpp.defines: base.concat(['SRCDIR="' + path + '"'])
diff --git a/tests/auto/buildgraph/buildgraph.qbs b/tests/auto/buildgraph/buildgraph.qbs
index 69ef0ddde..cc5885ca2 100644
--- a/tests/auto/buildgraph/buildgraph.qbs
+++ b/tests/auto/buildgraph/buildgraph.qbs
@@ -1,6 +1,6 @@
-import "../autotest.qbs" as AutoTest
+import qbs
-AutoTest {
+QbsAutotest {
testName: "buildgraph"
files: "tst_buildgraph.cpp"
}
diff --git a/tests/auto/cmdlineparser/cmdlineparser.qbs b/tests/auto/cmdlineparser/cmdlineparser.qbs
index 105d51be6..ddd0e62ce 100644
--- a/tests/auto/cmdlineparser/cmdlineparser.qbs
+++ b/tests/auto/cmdlineparser/cmdlineparser.qbs
@@ -1,10 +1,13 @@
-import "../autotest.qbs" as AutoTest
-import "../../../version.js" as Version
+import qbs
+import QbsFunctions
-AutoTest {
+QbsAutotest {
testName: "cmdlineparser"
files: ["tst_cmdlineparser.cpp", "../../../src/app/qbs/qbstool.cpp"]
- cpp.defines: base.concat(['SRCDIR="' + path + '"', "QBS_VERSION=\"" + Version.qbsVersion() + "\""])
+ cpp.defines: base.concat([
+ 'SRCDIR="' + path + '"',
+ "QBS_VERSION=\"" + QbsFunctions.qbsVersion() + "\""
+ ])
// TODO: Make parser a static library?
Group {
diff --git a/tests/auto/language/language.qbs b/tests/auto/language/language.qbs
index af081b741..ff9f518f2 100644
--- a/tests/auto/language/language.qbs
+++ b/tests/auto/language/language.qbs
@@ -1,6 +1,6 @@
-import "../autotest.qbs" as AutoTest
+import qbs
-AutoTest {
+QbsAutotest {
testName: "language"
files: "tst_language.cpp"
}
diff --git a/tests/auto/tools/tools.qbs b/tests/auto/tools/tools.qbs
index e0cb6c785..54a6ea485 100644
--- a/tests/auto/tools/tools.qbs
+++ b/tests/auto/tools/tools.qbs
@@ -1,6 +1,6 @@
-import "../autotest.qbs" as AutoTest
+import qbs
-AutoTest {
+QbsAutotest {
testName: "tools"
files: ["tst_tools.cpp"]
}
diff --git a/version.js b/version.js
deleted file mode 100644
index fcf652051..000000000
--- a/version.js
+++ /dev/null
@@ -1 +0,0 @@
-function qbsVersion() { return "1.4.0"; }