| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: Ibfa0e6880a3da48c5fefa4a4ed3b0f450698d567
|
| |
| |
| |
| |
| |
| |
| | |
...by renaming the Application page to Console Application.
Change-Id: I192d3d3c65cd20019fb63b1309d564d4859f0aeb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
| |
Change-Id: I39b6a7ab3fc3ef54e144684d1ac115599b630759
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I811abcf38adc1193491e736db580b709db28349f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The fallback provider creates modules for all named dependencies that
were not found and only later checks during validation whether such a
pkg-config module exists. This breaks assumptions all over the place.
Since we have a superior replacement in qbspkgconfig, we now deprecate
the fallback provider.
Change-Id: I3694515865d63e7308cfab7778068aa2e480fe23
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
| |
This change adds a step-by step tutorial that helps
to explain Qbs concepts and best practices for new users.
Change-Id: I5c669f8fa0f89b8300f241bb8e4ed7cd4b3bb4c6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
There's no need to drop Qt 5 just yet, but we should require the latest
version.
Change-Id: I2653ef5c3c244453db88a48d59e2c86eb38518b5
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
| |
Also, document values that were not documented such as
path, filePath, product, project.
Change-Id: Ibad64e2998697b4c8c625c3088b835c8be428f54
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I403a5a8f7716c88ed7c36d610cb1762e78be3e14
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Amends e3522f42773cfbb9a980e859c906457b3571fa1f.
Change-Id: If51576f080ee5c01eeae493934cf646403594965
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The hostOS property was taken out of the qbs module and replaced by the
os property of the Host service. The whole bullet point is no longer
valid.
Change-Id: Ia35a51dffc7b7593e896b754f741cf12aab71db3
Fixes: QBS-1716
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newer clang versions seem to expose serious bugs in QtScript, whose
complexity makes it difficult to track them down.
We therefore switch to the more light-weight QuickJS, which offers all
the features we need (most notably property access interception), as
well as good performance.
To save some porting effort, we removed the long-deprecated loadFile()
and loadExtension() functions.
During the porting procedure, we noticed and fixed thread safety issues
in artifact access from JS commands.
We consider this change important enough to bump the major version, so
the next release will be 2.0.
Detailed benchmarking data is below. In summary, we see a modest speed-
up at the cost of a similarly modest increase in memory consumption
(with the exception of project resolving on macOS, which has become a
bit slower). Importantly, the increase does not rise with project size,
as the comparison of qbs vs Qt Creator shows.
Output of qbs_benchmarker on Linux with qbs as test project:
========== Performance data for Resolving ==========
Old instruction count: 12870602895
New instruction count: 11923459780
Relative change: -8 %
Old peak memory usage: 61775848 Bytes
New peak memory usage: 67583424 Bytes
Relative change: +9 %
========== Performance data for Rule Execution ==========
Old instruction count: 4074062223
New instruction count: 3887473574
Relative change: -5 %
Old peak memory usage: 35123704 Bytes
New peak memory usage: 38398392 Bytes
Relative change: +9 %
========== Performance data for Null Build ==========
Old instruction count: 1104417596
New instruction count: 1011033948
Relative change: -9 %
Old peak memory usage: 24461824 Bytes
New peak memory usage: 25325920 Bytes
Relative change: +3 %
Output of qbs_benchmarker on Linux with Qt Creator as test project:
========== Performance data for Resolving ==========
Old instruction count: 67166450352
New instruction count: 60772791018
Relative change: -10 %
Old peak memory usage: 327011616 Bytes
New peak memory usage: 343724176 Bytes
Relative change: +5 %
========== Performance data for Rule Execution ==========
Old instruction count: 71684351183
New instruction count: 67051936965
Relative change: -7 %
Old peak memory usage: 374913688 Bytes
New peak memory usage: 387790992 Bytes
Relative change: +3 %
========== Performance data for Null Build ==========
Old instruction count: 8383156078
New instruction count: 7930705668
Relative change: -6 %
Old peak memory usage: 180468360 Bytes
New peak memory usage: 182490384 Bytes
Relative change: +1 %
Real-world data building Qt Creator (using qbs --log-time, several runs,
removing outliers):
macOS:
Resolving: 43s -> 47s
Rule execution: 17s -> 14s
Windows:
Resolving: 18s -> 16s
Rule execution: 22s -> 17s
Fixes: QBS-913
Fixes: QBS-1103
Fixes: QBS-1126
Fixes: QBS-1227
Fixes: QBS-1684
Change-Id: Ie5088155026e85bbd1e303f1c67addb15810a3cb
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
|
|
|
|
|
|
| |
Change-Id: I5ee6d7bce9aa6479f7603356304e0a0f99f05610
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
| |
... unless rpaths are set. Also, link Running Applications page with
the "qbs run" docs.
Change-Id: If981555cb617324d45408d98f7f5bc61ba737eaf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ic912c4b11780503d368602c8c103fd9ece589853
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
The import qbs 1.0 import statement has been removed a long time ago,
but it was still mentioned in the hello world example.
Task-number: QBS-1678
Change-Id: Ie44cae1a25f007e6bbeaf0632f472089428d6c47
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
This implements provider that generates modules based on all .pc files
present in system. This allows to get rid of the multi-shot providers
such as fallback provider.
Fixes: QBS-1614
Change-Id: Icf87ac609bc34bd26e8ed94ae547a7e649835a3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It is now possible to specify which providers should be run by providing
the list of provider names.
The desired providers can be selected on the Project and Product levels.
Task-number: QBS-1604
Change-Id: Ib0782df00e3086104345f4b740fc1696d715344c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I896a2725a31412af3bab8c0f211a64da77837e03
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Since QtGui dependency was removed, there is no reason not to
Change-Id: Ib8975451f3c36a77e22a077bba18b5659f414767
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
|
|
|
|
| |
Change-Id: Ieb36a6ba96666f07cd1c22383964f8ecd5acdd33
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes: QBS-1618
Change-Id: Id70fdb4213fe7877978f4fa62bbb35dfe13adb51
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The \contentspage command is obsolet without replacement. It has not
been working since Qt5.2.
The link to the Qt resource system does not work locally and should
point to the online page instead.
Change-Id: Ib065cfd26c90b60d3cd3d72820b16c6601e80ad4
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
| |
This amends 018194f4a
Change-Id: I2157d6697e6dfb30f72da624bb047c7650263aad
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: I20a6b02ee34719636f9996e02cff9e29cf160dd7
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-1386
Change-Id: Ia432a0c78e1cccce586ed89f4235f41a55aef54c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Amends 0ac5a1467.
Change-Id: I4b4a636765a17e1808ca6573e504660525448386
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|\|
| |
| |
| | |
Change-Id: Ice408bd77aa9f6481960c4fdf7f345a1a39b9f80
|
| |
| |
| |
| |
| |
| | |
Fixes: QBS-1350
Change-Id: I86cf583ea8cd54041c17a8656913702aab7fc35d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
| |
... to 5.14. We need >= 5.12 for a recent QRegularExpression patch, and
5.14 is also what Qt Creator is currently on.
Change-Id: I674e7b617acaed2bf2f668a31f82e800f05ccfc8
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Task-number: QBS-667
Change-Id: Ia3f946c0bf4c4047f1dc15044d68f554a8a73a21
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
|
| |
| |
| |
| |
| |
| |
| | |
This amends commit 905ee49f.
Change-Id: I4faf5a1ef7d2a1dbdbe7ea78eae2e07a4f33ae61
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Change-Id: I1d9601d9c969a0ec34cddca0d0e5053d06a039bf
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|/
|
|
|
|
|
| |
Update also the docs to refer to the Ubuntu image rather than Debian.
Change-Id: I2c64f8f169c7a8ff9d5090ebc55c56bffd957659
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Offers a JSON-based API for interaction with other tools via stdin/
stdout.
This allows for proper qbs support in IDEs that do not use Qt or even
C++.
Change-Id: Ib051a40b7ebe1c6e0c3147cca9bd96e7daec1fde
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE, e.g. using the following command:
qbs generate -g iarew7 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator take
a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native IAR EW project.
Currently it is supported only one 'iarew7' generator which allow to
generate a projects for the IAR EW for MSP430 for all versions of 7 series.
Tested with the IAR EW for MSP430 v7.12.4, using as the QBS
bare-metal examples, and as other projects.
Change-Id: Ic0bbc82e6ebb3b04bced639797976e432809171f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
KEIL UVision IDE, e.g. using the following command:
qbs generate -g keiluv5 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid KEIL QBS profile, from which the generator take
a desired target architecture and other stuff.
The KEIL UV generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native KEIL UVsion project.
Currently it is supported only one 'keiluv5' generator which allow to
generate a projects for the KEIL UVision v5 for ARM architecture.
Tested with the KEIL UVision v5.23 for ARM, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I3af9d01f25a9570a99a62d4ce2c30fec3566b9a1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ib69952c190555401c6acdb48971ec0833215723a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE, e.g. using the following command:
qbs generate -g iarew3 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator take
a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native IAR EW project.
Currently it is supported only one 'iarew3' generator which allow to
generate a projects for the IAR EW for STM8 for all versions of 3 series.
Tested with the IAR EW for STM8 v3.11.1, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I47880d62cd1e81ed7bbfba840a5af0c558065013
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE, e.g. using the following command:
qbs generate -g iarew10 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator take
a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native IAR EW project.
Currently it is supported only one 'iarew10' generator which allow to
generate a projects for the IAR EW for 8051 for all versions of 10 series.
Tested with the IAR EW for 8051 v10.10.1, using as the QBS
bare-metal examples, and as other projects.
Change-Id: If8a7397bebf6176010d42cfda41230e50a499a69
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE for Microchip AVR architecture,
e.g. using the following command:
qbs generate -g iarew7 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator
take a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses
a source QBS project and converts a compiler flags and other
stuff to an appropriate configurations of the native IAR EW
project.
Currently it is supported only one 'iarew7' generator which
allow to generate a projects for the IAR EW for AVR for all
versions of 7 series.
Tested with the IAR EW for AVR v7.20.1, using as the QBS
bare-metal examples, and as other projects.
Change-Id: Ic5811e579e86b868d5946637db9d8780ef47968b
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE, e.g. using the following command:
qbs generate -g iarew8 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator take
a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native IAR EW project.
Currently it is supported only one 'iarew8' generator which allow to
generate a projects for the IAR EW for ARM for all versions of 8 series.
Tested with the IAR EW for ARM v8.20, v8.32, v8.40, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I2aa24d5a635f1f5a0e645bec8c30053e960d90a3
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Iec02aa7664efef27e562ab563436a389b3b908bc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I67697fb5b4ddb2fcd7f42a2e70247038fc98f082
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ifb152a1c7a90422a4eed9cf5a790aa10518f27a9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This section describes how to build Qbs with Qbs and how to run auto
tests
Change-Id: I3587f3a36262802354a79eb037697f9c410f7171
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Debian Docker image is outdated and the user experience is not optimal,
especially when using it on Linux hosts.
- Update Qt to 5.11.3 and build it from source since the Qt installer
is overly complicated to use
- Create a Qt profile and make it the default
- Add entrypoint script to avoid file permission problems on Linux hosts
- Add docker-compose.yml file for easier command line usage
- Improve documentation
Task-number: QBS-1402
Task-number: QBS-1438
Change-Id: I2cbe53ed115fc8cbb96c1e1305297c581e7d0589
Reviewed-by: Joerg 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>
|