aboutsummaryrefslogtreecommitdiffstats
path: root/doc/qbs.qdoc
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Doc: Use the \QBS macro for the product nameLeena Miettinen2017-12-221-3/+3
| | | | | Change-Id: I5cf6c06035af309fc8460ae0246af10308eea57b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add some links to commands and propertiesLeena Miettinen2017-12-221-67/+56
| | | | | | | Usually, replace the \c command with the \l command. Change-Id: I062e9a3f34874e832c972773b88d58225e1621b0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Move external link URL to the external-resources fileLeena Miettinen2017-12-221-1/+1
| | | | | Change-Id: I924e1354e870df990accb5f4778b4d34797535c1 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Doc: Use QML commands to document modulesLeena Miettinen2017-12-211-11/+10
| | | | | | Task-number: QBS-1245 Change-Id: I996bb44a1db9aae71ef42bca87265371de951272 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Use QML commands to document Qbs convenience itemsLeena Miettinen2017-11-301-1/+1
| | | | | | Task-number: QBS-1245 Change-Id: I158e4c91b9306e74919901935f7d8eb546623d41 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Use QDoc QML commands to document Qbs language itemsLeena Miettinen2017-11-301-17/+19
| | | | | | Task-number: QBS-1245 Change-Id: I470a629312b1c65ea9e51c603607c486115a304c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Describe the build process at a general levelLeena Miettinen2017-11-141-9/+101
| | | | | | | Add an image. Change-Id: Ia08903501c9ef6d210121ef69ea448308920d849 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: add a page describing what multiplexing is and how it worksJake Petroules2017-10-231-2/+58
| | | | | | | Change-Id: I98415837ff441312333b3b038f3989397f505215 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Document how to target common platformsLeena Miettinen2017-10-231-0/+1
| | | | | | | Task-number: QBS-1183 Change-Id: I53f1a8f44f5ea727c797a8cf3c37948ac7fc3fea Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Describe porting qmake projects to QbsLeena Miettinen2017-10-051-5/+6
| | | | | | Task-number: QBS-407 Change-Id: Ia2f59288e2f9aca0d9fed800ee52c4082cf18d07 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Describe using Qbs Settings dialog to manage settingsLeena Miettinen2017-10-041-0/+23
| | | | | Change-Id: Ib96e452ba459be449fdd30edef002bccf51fab3e Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Create a CLI referenceLeena Miettinen2017-10-041-1/+1
| | | | | | | | | | | | | Each command is described on a separate page. Option and parameter descriptions are fetched from include files. \group and \ingroup commands are used to create a table that shows the CLI commands and short descriptions (from \brief commands). Task-number: QBS-947 Change-Id: I956c0e029f87e98162e03206a79baef604f1d55e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/1.9'Joerg Bornemann2017-09-261-1/+1
|\ | | | | | | Change-Id: I40c1ea23e7351deac715958783158c089e65a02d
| * Doc: Update the cpp module exampleJoerg Bornemann2017-09-251-1/+1
| | | | | | | | | | | | | | | | Remove the outdated property precompiledHeader from the simplified cpp module. Use includePaths as example instead. Change-Id: Ib51d97a10d4853b09dc475ad1257b7888758c907 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Doc: Update supported platforms and build requirementsLeena Miettinen2017-09-151-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | - Synchronize required versions of tools with Qt Creator 4.4, where applicable. - List currently tested platforms. - Move the instructions from the README to the Qbs Manual and add the URL to product documentation. Task-number: QBS-1071 Change-Id: I5d710972bd6b686b18f02a1bd7db5e8356e09b7a Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Doc: Describe the concurrent jobs (-j) option for building applicationsLeena Miettinen2017-09-141-3/+21
| | | | | | | | | | Change-Id: Iaa2d97d9c2cda7ccd435124a916f558486bb8d80 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Doc: Describe main Qbs features in "Introduction"Leena Miettinen2017-09-141-7/+218
| | | | | | | | | | Change-Id: I8d2405156712562620ac79f03fb8dece87c961d3 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Doc: Update the "Running Applications" topicLeena Miettinen2017-09-081-5/+5
| | | | | | | | | | | | | | | | | | | | Remove reference to Qt 4.8 and setting the PATH. Add a general statement about running apps. Use Qt Creator as the example project, because it contains several products. Change-Id: I31756e5d33a6783ae94bc2edf9dff3b5c5dc8ad3 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Doc: Add the "modules" prefix to the to "qbs build" command exampleLeena Miettinen2017-09-061-1/+1
| | | | | | | | | | Change-Id: Id27786a979578fa91ff83e4cb245b9528b0e3246 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Add a minimal man pageChristian Kandeler2017-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge 1.9 into masterChristian Kandeler2017-08-281-0/+13
|\| | | | | | | Change-Id: I5320b7c62d6a80089df75c2caca79c15602c01e5
| * Add code attribution documentationKai Koehne2017-08-241-0/+13
| | | | | | | | | | | | | | | | | | | | Manually add the documentation generated by qtattributionsscanner out of the qt_attribution.json files. We can generate these on the fly once we can depend on Qt 5.8. Change-Id: Ia898044e854d473ae93ba07a9ff21e043ba29a29 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Revert "Generate code attribution documentation"Christian Kandeler2017-08-231-13/+0
| | | | | | | | | | | | | | | | | | This reverts commit c75285b0b6c2d10a08acdc78c0554831c42c52c6. The qtattributionscanner was introduced in Qt 5.8, while our minimum Qt version is 5.6. Change-Id: I444058236e946584fc133a9a7ee93fa1a9969b94 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * Generate code attribution documentationKai Koehne2017-08-231-0/+13
| | | | | | | | | | Change-Id: I692efc667d5e9713afee0cd2ee155ac24ed3de56 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Doc: Describe generating Clang compilation databasesLeena Miettinen2017-08-161-13/+26
| | | | | | | | | | | | | | | | Reorganize the Generators topic accordingly. Task-number: QBS-1166 Change-Id: I003d286ae92407bf2af0f22431a2dc9acd1caef7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.9 into masterChristian Kandeler2017-08-141-0/+12
|\| | | | | | | Change-Id: I6da76b0a53bf87105c4e7b48724d9760cb68e831
| * Add reference pages to index.htmlKai Koehne2017-08-041-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | The reference is arguably the most important part, so it makes sense to link also to sub-sections from the main page. One of the issues is that the sub-pages are not properly 'linked' with nextpage and previouspage. Anyhow, this should not block us from making the index page more useful. Change-Id: I1c80345795c1df294d07f7a31b613a24df341cb3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.9 into masterChristian Kandeler2017-07-281-21/+148
|\| | | | | | | Change-Id: Ie07c560125a52e0f0fb9e2db79c2bac89cd0c58f