aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* doc: Make the difference between targetPlatform and targetOS clearerIvan Komissarov2019-05-061-9/+78
| | | | | | | Task-number: QBS-1426 Change-Id: Ia10eacef270c897d6d04af56dbf14574a86704ad Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: Add protobuf.cpp exampleIvan Komissarov2019-05-061-0/+19
| | | | | Change-Id: I6b3460c2e1b007716611bf850c29a20b59234236 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: add Qt.android_support.extraLibsBogDan Vatra2019-05-021-0/+9
| | | | | | | extraLibs are needed to add OpenSSL support to Qt apps. Change-Id: Ib91f593c0be7d9a689fdc6c0537749353f3164eb 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>
* Default to the minimum supported NDK API versionBogDan Vatra2019-04-261-1/+3
| | | | | | | | | - android-16 will be used for 32 bit arm ABIs - android-21 will be used for all 64 bit ABIs and x86. x86 has broken wstring support in android-16 to android-19. Change-Id: I38f6e6ec3f16c172cb0b061cfc4cc9efdb8f1700 Reviewed-by: Christian Kandeler <christian.kandeler@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>
* Android: Nuke support for old NDKsBogDan Vatra2019-04-251-10/+3
| | | | | | | | | | | | | | | | - Support NDK only r19+ - Remove deprecated and unsupported stl libs: "system", "gabi++_static", "gabi++_shared", "stlport_static", "stlport_shared", "gnustl_static", "gnustl_shared" - Fix armv7a link (we need to link against libc++.[a/so].API) - Use lldb - Use llvm bin utils [ChangeLog][Android] Support NDK only r19+, remove deprecated and unsupported stl libs, use lldb and llvm bin utils Change-Id: If9d5d5462dffb6c9bf481f910ee2c3ba03bc5649 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* [Android] Allow the user to override version attributesBogDan Vatra2019-04-241-0/+40
| | | | | | | | Allow the user to override the android::versionCode and android::versionName from QBS project file. Change-Id: I437294e8f6b52c1072bb1c992d1c7ac5233896c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* bare-metal: Add SDCC toolchain supportDenis Shienkov2019-04-102-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support for the SDCC compiler: * http://sdcc.sourceforge.net/ As this compiler support multiple architectures, then it is impossible to uniquely identify the current architecture by dumping of the pre-defined macros (because its content depends on a target flag). In this case the cpp.architecture will contains a default architecture (which is dumped with an omitted target flag). To use it with Qt Creator, it is enough to add there a desired Kit with a custom SDCC C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: sdcc To create the SDCC profile it is enougth to use the following command: qbs setup-toolchains --type sdcc <path/to/sdcc/compiler/binary> <profile name> A toolchain type can be omitted; in this case the QBS will tries to detect the toolchain type from the specified compiler name. Also it is possible to auto-detect the SDCC toolchain from the PATH environment using the following command: qbs setup-toolchain --detect At current time are supported only the 8051 (aka MCS51) architecture; other architectures can be added later. Change-Id: I8cc239d62e35472ab667e054a64a1e59c2d548bd Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add information about PkgConfigProbeIvan Komissarov2019-02-201-0/+217
| | | | | | | Task-number: QBS-1187 Change-Id: If6fa86c37bfff26ae84a3833a2cc291120fe731b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* bare-metal: Add possibility to create the KEIL toolchain profileDenis Shienkov2019-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | ... from the qbs console using the 'setup-toolchains' command. To create the KEIL profile it is enougth to use the following command: qbs setup-toolchains --type keil <path/to/keil/compiler/binary> <profile name> A toolchain type can be omitted; in this case the QBS will tries to detect the toolchain type from the specified compiler name. Also it is possible to auto-detect the KEIL toolchain from the PATH environment using the following command: qbs setup-toolchain --detect At current time are supported the following KEIL toolchains: * for 8051 * for ARM Change-Id: I80241866c3ec49a4294d896c70b65b75a2341a2a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* bare-metal: Add possibility to create the IAR toolchain profileDenis Shienkov2019-02-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | ... from the qbs console using the 'setup-toolchains' command. To create the IAR profile it is enougth to use the following command: qbs setup-toolchains --type iar <path/to/iar/compiler/binary> <profile name> A toolchain type can be omitted; in this case the QBS will tries to detect the toolchain type from the specified compiler name. Also it is possible to auto-detect the IAR toolchain from the PATH environment using the following command: qbs setup-toolchain --detect At current time are supported the following IAR toolchains: * for 8051 * for ARM * for AVR Change-Id: I5cdc406e475da7c6649427138b8852239012dbea Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: Add information about KeilProbeDenis Shienkov2019-02-181-0/+93
| | | | | | Change-Id: Ia8eb378f322c0127729b2531fb3406134623b324 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@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>
* doc: Rename documentation file 'iarprobe' to 'iar-probe'Denis Shienkov2019-02-151-0/+0
| | | | | | | ... to be more consistent with other probes. Change-Id: I99f8b6d27a0e38f5b473da94a2c3e63a76e491d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add documention about IncludeProbeIvan Komissarov2019-02-141-0/+55
| | | | | | Task-number: QBS-1187 Change-Id: Iad5eafd5bc08c907b1a1dd83c78d745ad856d17a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add information about IarProbeDenis Shienkov2019-02-131-0/+93
| | | | | | | Change-Id: Ifb4cc67d1e461953aa3440fc1d59a4d00fb6c8ac Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add a bit more info on the Probes pageIvan Komissarov2019-02-131-1/+4
| | | | | | | Task-number: QBS-1187 Change-Id: Ic504a8391c0e238e5fe946cb70041e3463a0f4db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix some missed license headersDenis Shienkov2019-02-131-1/+1
| | | | | Change-Id: I98570fb463bf856a6b6ab2b39fa2bca27b8c0500 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Rename pathprobe.qdoc to path-probe.qdocIvan Komissarov2019-02-121-0/+0
| | | | | Change-Id: I025c9f7bc082b6566b7e4fe658d22a6024549e76 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Detect Qt via a module providerChristian Kandeler2019-02-122-5/+21
| | | | | | | | | | | | | | | | | 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>
* Doc: Add information about FrameworkProbeIvan Komissarov2019-02-111-0/+60
| | | | | | | Task-number: QBS-1187 Change-Id: Id53b6dbd33a4999d409c713035acb460831eff65 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Add information about BinaryProbeIvan Komissarov2019-02-111-0/+85
| | | | | | | Task-number: QBS-1187 Change-Id: I6a97d9f7f70462996a352f7acef8e69f690a37bf Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Clarify the meaning and usage of the build configuration parameterRichard Weickelt2019-02-113-12/+37
| | | | | | | | | | | | The documentation for the build configuration parameter was a bit confusing. It was also not explained that parameter assignments before the first occurrence of config are global. This patch explains config in more detail and relates it to qbs.configurationName and qbs.buildVariant. Task-number: QBS-1425 Change-Id: I478f7228aaa0696149f937599b89f785a65c6717 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document property access in modulesRichard Weickelt2019-02-041-9/+86
| | | | | | | | | | When implementing a module, it is good to know what possibilities exist to access properties. The documentation was a bit vague here. This commit lists all of them and gives some examples. Task-number: QBS-1420 Change-Id: Ia791371204f67ff946e9c73a170760027129e41d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Add detailed information about profilesRichard Weickelt2019-01-305-22/+61
| | | | | | | | | | | | | 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>
* Clarify documentation of qbs.enableDebugCodeAlexandru Croitor2019-01-291-1/+14
| | | | | | Change-Id: I441acf3b494756b0c123383a68f50bed37c6e6cb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt: Allow users to explicitly tag files as mocableChristian Kandeler2019-01-291-0/+12
| | | | | | | | | This is helpful for declaring a QObject-derived class via a macro, in which case the moc scanner will not help. Fixes: QBS-1410 Change-Id: I19ee30eac670228686b5528888159220cf39abd3 Reviewed-by: Joerg Bornemann <joerg.bornemann@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-239-13/+281
| | | | | | | | | | | | | | | | | | | | | | 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>
* bare-metal: Add IAR EWARM toolchain support on WindowsDenis Shienkov2019-01-192-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the ARM processors on Windows host. To use it with Qt Creator, it is enough to add there a desired Kit with a custom IAR C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: iar To specify the target CPU/FPU you need to set the cpp.driverFlags property, like this: cpp.driverFlags: [ "--cpu", "Cortex-M4", "--fpu", "VFPv4_sp" ] Then these flags will be automatically passed to both compiler and assembler. To specify the linker flags you need to set the cpp.driverLinkerFlags property instead of cpp.linkerFlags property, like this: cpp.driverLinkerFlags: ["--vfe"] To add the linker script files you need to set the 'linkerscript' tag, e.g. in the following way: Group { name: "Linker scripts" fileTags: ["linkerscript"] files: ["stm32f407xx_flash.icf"] } Other properties can be used as usual, according to the EWARM compiler documentation. Tested with EWARM v8.20.2, v6.50.3 on Windows using: * STM NUCLEO-F767ZI * STM 32F4DISCOVERY target boards. Change-Id: I3c42eb94051352cb3b7eb5b0768a1dc8bdacabce Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@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>
* Do not ignore file dependencies in the Scanner itemChristian Kandeler2019-01-181-1/+5
| | | | | | | We used to look only at artifacts when scanning recursively. Change-Id: I39f968c05dd3e6af362bf3bb98380814b01de172 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix documentation for Scanner itemChristian Kandeler2019-01-081-4/+3
| | | | | | | | The scanned dependencies of a file have nothing to do with Depends items. Change-Id: I0ac600fa2b12f4d14b9d51f5e5e681d914f2d2d8 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* GCC: Make it possible to force the linker variantChristian Kandeler2019-01-071-0/+14
| | | | | | | | | | | | ...via cpp.linkerVariant. [ChangeLog] Added new cpp property linkerVariant to force use of gold, bfd or lld. Task-number: QBS-1421 Change-Id: I98f9d2581515ac8e9c984a2f8d70f4a7a3ab230b Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add documentation of cpp.toolchainInstallPath propertyRichard Weickelt2019-01-071-0/+12
| | | | | | | | | | The property is undocumented, but plays a central role in most toolchain setups. Therefore it should be documented. Fixes: QBS-1422 Change-Id: I9d1044733e6b99862f137849502e5b1a35a4c192 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add information about PathProbeIvan Komissarov2019-01-074-4/+179
| | | | | | | | | 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>
* Doc: Add full stops to end of brief commands to fix QDoc warningsLeena Miettinen2019-01-045-5/+5
| | | | | Change-Id: Ic154b4ad03517b527d302be59820c532bcde549a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add atEnd() function to the Process serviceOla Røer Thorsen2019-01-031-0/+7
| | | | | | | | | | | | This makes it possible to use readLine in a while loop until the complete stream is read, even when reading empty lines. [ChangeLog] Added atEnd() function to the Process service, to make it possible to use readLine() in a while loop until the complete stream is read. Change-Id: Ie5f047651977195d6a93c4575bd7a8796b83ab5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add FileInfo.canonicalPathJoerg Bornemann2018-12-201-0/+12
| | | | | | | | | [ChangeLog] Added the canonicalPath() function to the FileInfo extension. Task-number: QBS-742 Change-Id: I8490b1bbdb3ac4ce84b80e82ca9f37bd2816e150 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-12-171-3/+3
|\ | | | | | | Change-Id: I44f8e2c5f3fbe8fc67deada65a4136257572239e
| * Version bumpChristian Kandeler2018-12-101-3/+3
| | | | | | | | | | Change-Id: I53f3af19efe5b2ae026285bb43d88314423a2400 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Doc: Add Qt Quick Test to list of Qt ModulesLeena Miettinen2018-12-121-1/+5
| | | | | | | | | | | | | | Fixes: QBS-1120 Change-Id: I788ee0e1d57db02a105966a9d04381c6092bf527 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Support big Qt resourcesJoerg Bornemann2018-11-301-0/+9
| | | | | | | | | | | | | | | | [ChangeLog] Introduced the property Qt.core.enableBigResources for the creation of "big" Qt resources. Change-Id: Ic87aa70132240e67243c1cbe137583a371558261 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Doc: Edit protobuf module docsLeena Miettinen2018-11-263-13/+17
| | | | | | | | | | | | | | | | | | | | - Add link to protobuf - Fix QDoc errors - Edit for grammar and style. Change-Id: I416d937dce5c51320573065d33ff8bc12b6ed50c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add protobuf.cpp and protobuf.objc modulesIvan Komissarov2018-11-222-0/+194
| | | | | | | | | | | | | | | | | | | | | | These modules implement google protobuf support for QBS for c++ and objective-c languages [ChangeLog] Added protobuf support for C++ and Objective-C. Fixes: QBS-563 Change-Id: I4bb7e0bdfc1e09ea26c0cd3d3739a741ff834e5d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Document the dynamiclibrary_import tagJoerg Bornemann2018-11-161-0/+8
| | | | | | | | | | | | Task-number: QBS-807 Change-Id: I91b92418de72b6a725bb7ee559a1d8d6176505d6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Properly support building Qt apps for AndroidChristian Kandeler2018-11-161-0/+86
| | | | | | | | | | | | | | | | ... via the androiddeployqt tool. Fixes: QBS-991 Change-Id: I4a3abe977fee6a9d1657a4fd6c1b43709429da9f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Qt support: Allow users to pull in plugins by typeChristian Kandeler2018-11-092-11/+78
| | | | | | | | | | | | | | | | | | | | ... and properly set the default values. Fixes: QBS-1409 Change-Id: Ib8f3573fcb48d395d9212ac4b01e5caf910c575f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>