| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Ifbeae178a53f003fed9fdbbfae433a85ef261fb7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Silently casting QByteArray to char* is dangerous and it's hard to find
an error in the code. Thus, forbid implicit casting and fix code
accordingly.
Change-Id: I216f1b19768ad529ff050df0e81bfc4ad10b7c00
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This static library contains the MSBuild and Visual Studio solution
object model classes and serialization code, without any qbs
project model specifics. The latter goes into the generator
plugin itself. The Xcode generator will follow the same separation
of concerns design when it is introduced.
Change-Id: I0a7aca2457c7b7474e0a0a127a3ce5fbec7682f6
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qbs used to have docker products and a module for building the images, but this
became obsolet and was superseded by the docker-compose infrastructure.
Docker-compose is a much better fit for our use-case (which is mostly CI). It
allows us to use unique (and complicated) tags both when building and running
the images without exposing that to the user. Unique tags like
bionic-5.12.6_1.14.1-2 instead of just bionic ensure that changes in the
infrastructure don't suddenly break builds in older branches using the same
image.
This patch also updates the documentation to emphasize the usage of
docker-compose.
Change-Id: I45335d37034d10dda5ab5079ee3be1f81cb3e5c5
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ifa60c6510a720e49bebf892a6060926f918aa2d7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch allows us to deploy a self-containing Qbs package on all host
platforms that are supported by the official Qt binary packages.
Although not all (Linux) distributions make use of it, this will
be helpful to
- provide at least some binary convenience packages for the most
important distributions,
- perform building and testing in different environments, for instance
build Qbs in one stage and then run autotests for desktop, iOS,
android in parallel on multiple machines,
- avoid windeployqt which does not work when cross-building
for Windows on a Linux hosts.
Change-Id: I63de4ea2240b37d8bd465cbbf4ddff3d01eeac7e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I7795cb20d7af1c5fd46d8cdbdc3fa46cad5963bb
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
We recently merged a patch that used Qt 5.10 functionality. Let's use
this opportunity to increase the minimum required Qt version. We choose
5.11, since that is also Qt Creator's requirement.
Change-Id: I729a7e840ab9cdafb8f9fba604e413cd4b822bed
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
The code worked only if qbs.installPrefix was empty.
Change-Id: I9ba69f10c976b4a2b71ae4934c4cdac58895882a
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I339f5d986acd99240f388b83bfc29acfd19939ba
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-1376
Change-Id: I79b470bc57d4188791209bca87a9042f7c385a84
Reviewed-by: Alexander Shevchenko <sav_ix@ukr.net>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is not supported. People must use the content of the installation
directory instead.
This reduces complexity of qbs' own project files.
Change-Id: I39f8bb4d5252b0631a64b3aac01f83b09b28ae0f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ib425ea13906e89ee59b11bb22b7778bd0b88070c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Since commit 33a0c11a5f this hack isn't even used when building with
qbs < 1.10.
Change-Id: I48a7819ed9acd2cdaa2fa820c4c1121abcff27dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This module generates .pc files for products, optionally attempting to
derive some of the entries from the contents of the Export item.
[ChangeLog] Added new module "Exporter.pkgconfig" for creating pkg-
config metadata files.
Task-number: QBS-1232
Change-Id: Ic41e645e4462e8f85ad6c2025fb967e88d3438f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to the traditional per-user settings, there is now also a
system-wide settings file affecting all users. The file's platform-
specific default location can be overridden at build time.
The qbs-config tool can write these settings via the new --system
option.
[ChangeLog] Introduced the concept of system-level qbs settings
Change-Id: Ie6f675a74e96ce1fa7b2dd0712f6106071e848a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
Change-Id: Iebe7584bd2978a8f8be093c6b366033076f83e74
|
| |
| |
| |
| |
| |
| | |
Change-Id: I250d1b6a1c228a02818f509d1f389fb8ccc273c1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds QtScript as a git submodule to build the qbsscriptengine
library.
QtDeclarative support has been stripped out. We don't need that.
Windows CE and Symbian platform support has been removed.
JIT has been disabled, which improves resolve/rule execution by 8%.
[ChangeLog] Bundled QtScript as a submodule.
Task-number: QBS-913
Change-Id: Idfbaf06eb2cef3985e5eae955f231686499f7754
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
... and remove the workarounds that are no longer needed.
Change-Id: Ie0ae19279633784f8cea3bdbe4a9eeaa308689aa
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This module generates qbs modules from products, providing an interface
to them for use by external projects.
[ChangeLog] Added new module "Exporter.qbs" for creating qbs modules
from products.
Task-number: QBS-1231
Change-Id: I9f0cf04b441aaf279cf19a84fd94d97a8cea9de8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...as opposed to relying on the qbs binary existing in the same
directory as the test binaries and being usable from that location. This
is necessary for some generators (as they generate projects which call
the same qbs binary as they were generated with) where an invocation on
the qbs binary in the non-installed location may fail to find dependent
libraries when invoked from an outside environment.
Change-Id: I4d35a6f70df3ad4c48b202f73399ffe1704f78ca
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will enable us to simplify some of our templates.
Qt Creator requires C++14 as well, so we won't break it.
Change-Id: I577347ef12c53ff2ec59e88344ff181b27a0d50c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
| |
... rather than separately in the derived items.
Change-Id: I3f036ad45269daaa44aabfcd017c524083c84399
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
We don't want that in Qt Creator.
Change-Id: I811eed24fae6cb3f652a89d37138d8cf00992057
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
They got accidentally removed in 5a1bb1db8e.
Change-Id: I75a78507eddd9c225d846870d9515807c6117f27
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
It was left over.
Change-Id: I0104b5ef046a0d31b3d780a079f8ecc5c9abb5e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document it, and install the dependencies in the Docker images.
For the man page build, the installed version of the qbs app is now used
to get the help text rather than the non-installed version, since the
non-installed version may not be able to find all library dependencies
(like Qt) on some platforms by default. The build also now depends on
the other executables as well since their presence affects the output of
qbs --help.
Change-Id: Ic9896231aa76a346180bf30f7b2483391f5e4ea0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was broken by 5a1bb1db8e.
We must not use FileInfo::cleanPath() on the string "$ORIGIN/../lib", as
that will simply strip away the first two components.
Also, use joinPaths() rather than resolvePath() to construct the paths
(as we always want to concatenate, even if the second argument looks
like an absolute path), and don't read qbs.installRoot unnecessarily.
Change-Id: Idf919c664a2e0ef1ea9a4052d1d0e591a52a234c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exporting a list of rpaths from a target is completely bogus as-is,
because a target cannot know a dependee's install location relative to
itself. This patch instead has each target category (executables in bin,
libraries in lib, libexec binaries in libexec/qbs, and plugins in
lib/qbs/plugins) set its relative installation directory at the product
level, and then an appropriate rpath is created for the target by
calculating a relative path from the target to the lib directory in the
context of an installed build. This also has the advantage that rpaths
are now calculated dynamically at build time rather than hardcoded, so
if a user changes the directory depth of pluginsInstallDir, for example,
everything will be adjusted automatically. Each target also therefore
now has an rpath pointing exactly to its immediate dependencies, instead
of relying on the parent process to inherit the rpath entries. Among
simply being correct, this also has the advantage that any target can
now be loaded correctly by another process which itself sets no rpath
happening to point to the qbs lib directory.
Change-Id: I8fdf24b74ef60426cea0930b7941479919226fd2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Qbs currently promises BC for the same minor release. Therefore, set the
compatibility version to the same as the SONAME version. In addition to
the mere declaration for correctness, this also helps to allow the OS
to prevent loading a mismatched qbs binary and libraries if such a
situation happens to occur.
Change-Id: Ic1cfdcab29e1efd6c51872d650d77f2ea7f2bbf1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
cpp.soVersion is only defined for GCC-like compilers.
Change-Id: I26c12a47534458cf4ed805e6e70b5579f9a15ebb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
It's time. This property was introduced in 1.7.
Change-Id: Ief8ef2b05c12922be3f8b6a82d4de3dfb0068066
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
For example, this allows a Qt profile to be set only for the Qt test
suite, which avoids default profile properties "polluting" the results
of other test suites.
Change-Id: Ie6eb7131a9ce6b90c21b4e33e41f8f32df0e01e8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I344e76e405690eb27fdecc719f111d5bed8a44aa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Amends 6cb626668a
Change-Id: I876f4b72a5d6ee20721b3746861f615e750c9be1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This guarantees that clients (such as Qt Creator) will always have up
to date information.
Change-Id: I1fe7d8ae8cd6960681f41e78635576cde3f17083
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This makes debugging with proper symbolication possible on macOS.
Change-Id: Iad28ba3cdc2b33d099e5b80687b17d2335af4e5e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: I40c1ea23e7351deac715958783158c089e65a02d
|
| |
| |
| |
| |
| |
| |
| |
| | |
This influences the version number embedded in platform metadata, such
as CFBundleVersion on macOS. QbsLibrary already does this.
Change-Id: Ie6a41e5f440ef940be333404183adb280581cd31
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It contains the list of commands and a link to our online documentation.
Auto-generated via GNU's help2man from the application's help output.
[ChangeLog] Added a man page
Change-Id: Ie7101b0941f466642d7ec89a12c4e490d6d0e16f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|/
|
|
|
| |
Change-Id: Id88521a86c057ad09355dff11ff69a1aba000a17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It is a mistake that the NativeBinary item currently pulls in the bundle
module unconditionally (and also that the module is enabled everywhere).
We want to change that. Prepare for the change by removing all
unconditional accesses to the module's properties.
Change-Id: If57b8222c1a0e2b09c33520882446fa71401f1f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Also export necessary symbols that they need.
Change-Id: I3023893a3da82cf0d86b0d08df38943db867cf3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Use that instead of QbsFunctions.qbsVersion() and read it in
qbs_version.pri; this has the advantage that simple text processing
tools can retrieve the project version without having to parse
JavaScript. It's also set from only one place now.
Change-Id: Icfd2a6bf12b794b55c9ba31934a96b4483224eae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\
| |
| |
| | |
Change-Id: I79817dea8855d7327d3b8d53f30f29ecebd5daaf
|
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise, our binary distributions will not work out of the box, as the
process launcher is not in the same place as the libraries.
Change-Id: Ied375fa48e5c2cb037d3cb2108296126ee3be4cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I80c5c219cb7399f8cffb17ac793e0e3a170346a8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This makes for much better feedback to the user in case of an outdated
Qt version.
Change-Id: I2223ea35f618ed06a6eb2f01916c1a85cec009cc
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|