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 | |
parent | 7c82e9f3f417564dff89b75c802e4bd91e4b1ca7 (diff) | |
download | qbs-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>
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" } +} @@ -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"; } |