aboutsummaryrefslogtreecommitdiffstats
path: root/doc/qbs.qdoc
Commit message (Collapse)AuthorAgeFilesLines
* doc: Cleanup and update information about QBS and IDEs integrationDenis Shienkov2020-12-081-12/+26
| | | | | Change-Id: Ieb36a6ba96666f07cd1c22383964f8ecd5acdd33 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: Add section about building Qbs with CMakeIvan Komissarov2020-11-231-0/+46
| | | | | | | | | 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>
* Fix documentation warningsRichard Weickelt2020-10-251-18/+0
| | | | | | | | | | | 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>
* doc: Update info about docker containersIvan Komissarov2020-09-141-4/+4
| | | | | | | This amends 018194f4a Change-Id: I2157d6697e6dfb30f72da624bb047c7650263aad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.17' into masterRichard Weickelt2020-08-031-5/+8
|\ | | | | | | Change-Id: I20a6b02ee34719636f9996e02cff9e29cf160dd7
| * doc: add link to the Installing page from the Building Applications pageIvan Komissarov2020-07-291-0/+3
| | | | | | | | | | | | Task-number: QBS-1386 Change-Id: Ia432a0c78e1cccce586ed89f4235f41a55aef54c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * doc: follow up fixes for the "Installing files" sectionIvan Komissarov2020-07-271-5/+5
| | | | | | | | | | | | | | Amends 0ac5a1467. Change-Id: I4b4a636765a17e1808ca6573e504660525448386 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Merge branch 1.17 into masterRichard Weickelt2020-07-241-7/+36
|\| | | | | | | Change-Id: Ice408bd77aa9f6481960c4fdf7f345a1a39b9f80
| * doc: Provide a complete example in the "Installing Files" sectionIvan Komissarov2020-07-241-7/+36
| | | | | | | | | | | | Fixes: QBS-1350 Change-Id: I86cf583ea8cd54041c17a8656913702aab7fc35d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Bump required Qt versionChristian Kandeler2020-07-241-1/+1
|/ | | | | | | | ... 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>
* Use docker-compose exclusively for managing Docker imagesRichard Weickelt2020-03-261-20/+21
| | | | | | | | | | | | | | | | | | 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>
* doc: Add info about first capital letter in custom items file namesIvan Komissarov2020-03-201-0/+2
| | | | | | | Task-number: QBS-667 Change-Id: Ia3f946c0bf4c4047f1dc15044d68f554a8a73a21 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.15' into masterRichard Weickelt2020-02-051-1/+1
|\ | | | | | | Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
| * Doc: Fix default value of enableBundledQtJoerg Bornemann2019-12-181-1/+1
| | | | | | | | | | | | | | This amends commit 905ee49f. Change-Id: I4faf5a1ef7d2a1dbdbe7ea78eae2e07a4f33ae61 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Fix braces in snippetsIvan Komissarov2020-01-061-4/+4
| | | | | | | | | | | | | | 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 build environment and Bionic Docker imageRichard Weickelt2019-10-241-4/+4
|/ | | | | | | Update also the docs to refer to the Ubuntu image rather than Debian. Change-Id: I2c64f8f169c7a8ff9d5090ebc55c56bffd957659 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Introduce the session commandChristian Kandeler2019-09-181-3/+4
| | | | | | | | | | 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>
* baremetal: Long live the IAR EW project generator for MSP430Denis Shienkov2019-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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>
* baremetal: Long live the KEIL UV project generator for ARMDenis Shienkov2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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>
* doc: Add missed information about KEIL uVision generatorDenis Shienkov2019-08-021-3/+26
| | | | | Change-Id: Ib69952c190555401c6acdb48971ec0833215723a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Long live the IAR EW project generator for STM8Denis Shienkov2019-08-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | 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>
* baremetal: Long live the IAR EW project generator for 8051Denis Shienkov2019-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* baremetal: Long live the IAR EW project generator for AVRDenis Shienkov2019-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* baremetal: Long live the IAR EW project generator for ARMDenis Shienkov2019-07-111-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* doc: Describe possible build options for QBSIvan Komissarov2019-05-201-0/+139
| | | | | Change-Id: Iec02aa7664efef27e562ab563436a389b3b908bc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: add example how to use multiplexingIvan Komissarov2019-05-171-0/+6
| | | | | Change-Id: I67697fb5b4ddb2fcd7f42a2e70247038fc98f082 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: Fix the section about docker containersIvan Komissarov2019-05-071-4/+8
| | | | | Change-Id: Ifb152a1c7a90422a4eed9cf5a790aa10518f27a9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* doc: Add Building Qbs with Qbs sectionIvan Komissarov2019-05-061-2/+42
| | | | | | | | | | 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>
* Update Debian Stretch Docker imageRichard Weickelt2019-04-291-6/+13
| | | | | | | | | | | | | | | | | 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>
* Increase minimum required Qt versionChristian Kandeler2019-04-261-1/+1
| | | | | | | | | 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>
* Doc: mention that the default build configuration is debugMitch Curtis2019-02-181-0/+2
| | | | | | Change-Id: I906810c52ebb02dfce2022feaf76b23fa050f8b4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Detect Qt via a module providerChristian Kandeler2019-02-121-5/+5
| | | | | | | | | | | | | | | | | Creation of qbs modules for Qt is now done on demand during project resolving. The qmake executable(s) are looked up via PATH or taken from the Qt.qmakeFilePaths provider property. As a result, Qt projects can now be built without a profile. The qtprofilesetup library is gone; its code is now in the module provider. I kept the C++ -> JavaScript conversion as straightforward as possible and mostly resisted the temptation to "optimize". The setup-qt tool still exists and mainly sets Qt.qmakeFilePaths. [ChangeLog] It is no longer required to call setup-qt before building Qt projects. Change-Id: I5b7e4711ec47b996911c499f29d8129d90e4731e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add detailed information about profilesRichard Weickelt2019-01-301-17/+56
| | | | | | | | | | | | | The documentation was missing essential inforation about the concept of profiles. This is especially important for beginners. Although profiles would deserve a page of its own, I decided to extend the configuring page because a lot of useful information was already there. Task-number: QBS-1386 Change-Id: Ia9c33eb3babcfe902b55583b15db9c4a9ecf87a4 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix page navigation links for Target PlatformsRichard Weickelt2019-01-291-3/+3
| | | | | | | | The user manual defines a strict navigation flow. The "Target Platforms" document was added only recently, but it wasn't properly integrated. Change-Id: I69edb60fddba0f012d25dce5a91ed746d54abe87 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Introduce module providersChristian Kandeler2019-01-231-1/+59
| | | | | | | | | | | | | | | | | | | | | | If a dependency is not found, we now search for a matching module provider that can generate one for us. We also provide a generic fall-back provider which uses pkg-config to locate the dependency (but could be extended to incorporate other methods in the future). This is the most important part of this change for practical purposes, as it makes hundreds of popular libraries available for use in qbs projects without users having to write any boilerplate code. In a future patch, a module provider could also be used to implement the functionality of the qtprofilesetup library, relieving users of the need to create a profile for building Qt applications. [ChangeLog] The Depends item now falls back to pkg-config to locate dependencies whose names do not correspond to a qbs module. Fixes: QBS-1107 Change-Id: Ifd4f05c237cf58cd9fe707c3da648d3dbb33e82b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix outdated documentationChristian Kandeler2019-01-181-6/+6
| | | | | | | Configuration names must be prefixed with "config:" these days. Change-Id: I6e858caacc3e2ddad20fd5ba980848fafeb01928 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Add information about PathProbeIvan Komissarov2019-01-071-0/+1
| | | | | | | | | Also adds new section to the Reference Task-number: QBS-1187 Change-Id: I0798ec1791cdcb2177ee28bb8c180d1bd6375d30 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Get rid of the need for "import qbs"Joerg Bornemann2018-06-221-12/+0
| | | | | | | | | | | | It is difficult to place why the "import qbs" statement is needed. What it does is providing the default imports like CppApplication. There's no advantage in having a project file without this base import, so we always import "qbs" implicitly now. [ChangeLog] Removed the need to add "import qbs" to project files. Change-Id: I5954fbbade361188d1d54815cc3bf806fb461e9d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for system-level settingsChristian Kandeler2018-06-011-0/+4
| | | | | | | | | | | | | 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>
* Add a Makefile generatorChristian Kandeler2018-05-091-0/+53
| | | | | | | | | | | | | At the very least, this is a useful debugging tool, as it displays the artifacts part of the build graph in a familiar format. Tested successfully with the qbs project itself: The generated Makefile could be used to build a working qbs on Linux and Windows. [ChangeLog] Added a Makefile generator Task-number: QBS-33 Change-Id: I8165168d9273bdb4853d4ac566b72087f9104f7a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add QtScript git submoduleJoerg Bornemann2018-04-091-0/+1
| | | | | | | | | | | | | | | 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>
* Merge 1.11 into masterChristian Kandeler2018-04-051-2/+37
|\ | | | | | | Change-Id: Ia9e19bf1317c55d84602e4e0f54f7a4f412dd600
| * Doc: Add a section about licensingLeena Miettinen2018-03-211-2/+37
| | | | | | | | | | | | | | Task-number: QBS-1314 Change-Id: I2cfdf2d826a31523823cec195585725851acd2be Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Bump required Qt versionChristian Kandeler2018-04-031-1/+1
| | | | | | | | | | | | | | ... and remove the workarounds that are no longer needed. Change-Id: Ie0ae19279633784f8cea3bdbe4a9eeaa308689aa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Documentation: Fix syntax errorChristian Kandeler2018-03-141-1/+1
| | | | | | | | | | | | Change-Id: I4209bd3ff88ce64c2089c23f43fbb8026613915e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Add new property type "varList"Christian Kandeler2018-03-131-0/+4
|/ | | | | | | | | | | While we could already assign arrays to variant properties, these would not have list semantics when merging modules, so this fills a gap in our type system. [ChangeLog] Added new property type "varList". Change-Id: I54581119f60582f2b11290e13cd4920fd72f55a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix docs regarding help2man - it's not a "Perl module"Jake Petroules2018-01-081-1/+1
| | | | | | | Amends 8027000 Change-Id: I7f79e93c9160bef626aa49f4af4d507efc12cb77 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Account for the Qbs docs build now requiring additional dependenciesJake Petroules2018-01-051-0/+11
| | | | | | | | | | | | | | 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>
* Doc: Describe constructing the path to the installation target dirLeena Miettinen2018-01-031-0/+3
| | | | | | | | Add an example that specifies values for the properties. Task-number: QBS-1237 Change-Id: I645a1b0bca099411035fae98acdbf27e7a942d3d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add links to CLI command optionsLeena Miettinen2018-01-031-3/+4
| | | | | | | | | Added targets to the file where the options are documented, to avoid having to use the weird URLs automatically generated by QDoc. Change-Id: I3bffa79b564ffb9582f814124881dcd0cc60aa7d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>