diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-10-29 14:34:48 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2014-10-30 16:26:08 +0100 |
commit | 01286887e9867723c7854c4af169fb37de946a74 (patch) | |
tree | f21ce01c146ed120d6ef91d070ae1ea7aa44b26f /qbs-resources | |
parent | 7c82e9f3f417564dff89b75c802e4bd91e4b1ca7 (diff) |
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>
Diffstat (limited to 'qbs-resources')
-rw-r--r-- | qbs-resources/imports/QbsApp.qbs | 27 | ||||
-rw-r--r-- | qbs-resources/imports/QbsAutotest.qbs | 21 | ||||
-rw-r--r-- | qbs-resources/imports/QbsFunctions/functions.js | 18 | ||||
-rw-r--r-- | qbs-resources/imports/QbsLibrary.qbs | 26 | ||||
-rw-r--r-- | qbs-resources/imports/QbsProduct.qbs | 5 |
5 files changed, 97 insertions, 0 deletions
diff --git a/qbs-resources/imports/QbsApp.qbs b/qbs-resources/imports/QbsApp.qbs new file mode 100644 index 000000000..f940d8aa8 --- /dev/null +++ b/qbs-resources/imports/QbsApp.qbs @@ -0,0 +1,27 @@ +import qbs + +QbsProduct { + Depends { name: "qbscore" } + Depends { name: "cpp" } + type: "application" + consoleApplication: true + destinationDirectory: "bin" + cpp.includePaths: [ + "../shared", // for the logger + ] + Group { + fileTagsFilter: product.type + qbs.install: true + qbs.installDir: project.appInstallDir + } + Group { + name: "logging" + prefix: "../shared/logging/" + files: [ + "coloredoutput.cpp", + "coloredoutput.h", + "consolelogger.cpp", + "consolelogger.h" + ] + } +} diff --git a/qbs-resources/imports/QbsAutotest.qbs b/qbs-resources/imports/QbsAutotest.qbs new file mode 100644 index 000000000..4edccb94d --- /dev/null +++ b/qbs-resources/imports/QbsAutotest.qbs @@ -0,0 +1,21 @@ +import qbs + +QtApplication { + type: "application" + property string testName + name: "tst_" + testName + Depends { name: "Qt.test" } + Depends { name: "qbscore" } + cpp.includePaths: "../../../src" + destinationDirectory: "bin" + Group { + name: "logging" + prefix: "../../../src/app/shared/logging/" + files: [ + "coloredoutput.cpp", + "coloredoutput.h", + "consolelogger.cpp", + "consolelogger.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/qbs-resources/imports/QbsLibrary.qbs b/qbs-resources/imports/QbsLibrary.qbs new file mode 100644 index 000000000..e358fecfa --- /dev/null +++ b/qbs-resources/imports/QbsLibrary.qbs @@ -0,0 +1,26 @@ +import qbs +import QbsFunctions + +QbsProduct { + Depends { name: "cpp" } + 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 + cpp.defines: base.concat(type == "staticlibrary" ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"]) + cpp.installNamePrefix: "@rpath" + cpp.visibility: "minimal" + property string headerInstallPrefix: "/include/qbs" + Group { + fileTagsFilter: product.type.concat("dynamiclibrary_symlink") + qbs.install: true + qbs.installDir: project.libInstallDir + } + Export { + Depends { name: "cpp" } + Depends { name: "Qt"; submodules: ["core"] } + cpp.rpaths: project.libRPaths + cpp.includePaths: "." + cpp.defines: product.type === "staticlibrary" ? ["QBS_STATIC_LIB"] : [] + } +} 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" } +} |