aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Add "show progress" support on WindowsAndreas Zieringer2018-10-301-2/+0
| | | | | | | | Should work with all console types. Fixes: QBS-1407 Change-Id: I5144469d70d79a263f9960092abda9a3d83462a1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: add section on dynamic and statically-built Qt projectsMitch Curtis2018-10-261-0/+15
| | | | | | | | It's currently not documented how to have a library that can be both dynamically and statically linked to an application. Change-Id: Ic9130ccb7f8b476d6d91231e4eacef2caadcf1d1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Documentation: Fix file tag in QML how-toChristian Kandeler2018-10-251-1/+1
| | | | | Change-Id: Ib9c62947e79b2e828587e5b7c75a0585caba1273 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Android: Enable building apps with native code and no multiplexingChristian Kandeler2018-10-191-5/+5
| | | | | | | | | | | Until now, we needed to either put the native part into its own product or use multiplexing with the "APK product" serving as the aggregate. Now it is also possible to use a single product without multiplexing, which is a more natural approach in the case where there is only one architecture. Change-Id: I976168c99f75ad8e4940ac61f957c64ad29f5f5c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Make sure the manifest file has the right package nameChristian Kandeler2018-10-121-1/+2
| | | | | | | | This prevents Android.sdk.packageName to get out of sync with the respective entry in the manifest file. Change-Id: I9cc8af5f74da2515d094b3988104f5037a12574a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge 1.12 into masterChristian Kandeler2018-10-122-10/+11
|\ | | | | | | Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
| * Android support: Adapt to changes in newer revisionsChristian Kandeler2018-10-111-6/+6
| | | | | | | | | | | | | | | | Revision 17 dropped some architectures, revision 18 removed GCC. We also missed some earlier changes to clang-related paths. Change-Id: Ie2fa1891f7f4de28e18ea6caadce9eac964bb523 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * Documentation: Mention qmake's OTHER_FILES in the porting guideChristian Kandeler2018-10-091-4/+5
| | | | | | | | | | | | | | Fixes: QBS-1388 Change-Id: I3d4dadcf9e16d839289960252a068e29058255cf Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Document how to add QML files to a projectMitch Curtis2018-10-041-0/+24
| | | | | | | | | | | | Task-number: QBS-1390 Change-Id: Id339d9d2041ca035607ee970e421c21f40424987 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Properly support the aidl toolChristian Kandeler2018-08-271-0/+5
| | | | | | | | | | | | | | | | We now pull in the AIDL framework file and let the user set search paths for imports. Change-Id: I93460a77b064fa87849b93c0b0e4bd3bbfd7459f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Enable the Application item to create Android appsChristian Kandeler2018-08-106-152/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The formerly required AndroidApk item is no longer needed: We just tag the APK file as an application and let the Application item pull in the Android.sdk module for Android targets. It is also possible to have native code directly in the Application product; in that case, the multiplexed variants become dynamic libraries and the APK file is built for the aggregate. [ChangeLog] The AndroidApk item was deprecated, a normal Application item can be used instead. Change-Id: I04f5f3892f354ca9eb4f2da8055abcd8d072aba0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Doc: Fix snippet markerLeena Miettinen2018-08-101-1/+1
| | | | | | | | | | | | | | | | This probably worked, because 'jobs' is included right above 'job-limits'. Change-Id: I5d1ca711469f4f39bbd7fa86c78f888792b1a7cf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add support for job poolsChristian Kandeler2018-08-088-2/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commands can now be assigned to an arbitrary job pool and a limit for the number of concurrently running jobs in such pools can be provided in a number of ways: - via the build command line: qbs --job-limits linker:1 - via the settings: qbs config preferences.jobLimit.linker 1 - in a project file: JobLimit { jobPool: "linker"; jobCount: 1 } We provide two job pools ourselves with the cpp module: "compiler" and "linker". [ChangeLog] Added the concept of job pools for limiting concurrent execution of commands by type Task-number: QBS-743 Change-Id: Ib3f361dbc73093e342bf0eba0daf2079a2b3a8ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-08-031-2/+2
|\| | | | | | | Change-Id: I0ce6c28f9117f945c9fec0654bd06daf3d13ace0
| * Version bumpChristian Kandeler2018-07-191-2/+2
| | | | | | | | | | Change-Id: I3f2db0a0388c34dde148506b9081dbaaea03de25 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Documentation: Add How-to about "generated sources"Christian Kandeler2018-07-301-0/+37
| | | | | | | | | | | | | | | | We've seen people try to add generated C++ source files to a files property, so let's make clear how it actually works. Change-Id: I8a7dd8b1af71662efbeb72a3780775f5a6ca38d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Fix syntax errors in texttemplate documentationChristian Kandeler2018-07-201-2/+2
| | | | | | | | | | Change-Id: I3513101b03686e447bc048a956c70a995aa5252a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Doc: Remove templatesOrgad Shaneh2018-07-1742-3257/+0
| | | | | | | | | | | | | | They're outdated and unused. Change-Id: I4e58eade85fff2ac84655e485d1124d43a7aeb29 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-2212-11/+74
|\| | | | | | | Change-Id: I3b5f14cf38452aaa740ac66cffa1e740f7349823
| * Document the list-products commandChristian Kandeler2018-06-151-0/+63
| | | | | | | | | | Change-Id: I948e6251a97b0af94081255a79c11b18d6c8e9d4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Fix CLI documentationChristian Kandeler2018-06-1511-11/+11
| | | | | | | | | | | | | | Adapt to the change in how to specify the build configuration name. Change-Id: Ia339d3c991e7b9f82b23ed7f40c5eea19f003dd1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Get rid of the need for "import qbs"Joerg Bornemann2018-06-228-31/+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>
* | Merge 1.12 into masterChristian Kandeler2018-06-151-1/+1
|\| | | | | | | Change-Id: I72bbda4537a65bc525afc38a3d280f3c23940c12
| * Doc: Fix typoJesus Fernandez2018-06-131-1/+1
| | | | | | | | | | Change-Id: Ifdcf21c004bae0a2e20a7b5c529466b4a7da8efe Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.12 into masterChristian Kandeler2018-06-083-3/+215
|\| | | | | | | Change-Id: I0c914674c0728a7f7bc70fd9608914b95ef55a30
| * Exporter.pkgconfig: Add support for custom variablesChristian Kandeler2018-06-061-0/+12
| | | | | | | | | | Change-Id: I42a01e549c15c91428d0f8bd9be03ea59c773032 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Update man pageChristian Kandeler2018-06-051-3/+3
| | | | | | | | | | Change-Id: I46d015812d0cb49716123dc5a6748acf48c8bb3f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Add module Exporter.pkgconfigChristian Kandeler2018-06-042-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Make the texttemplate module publicJoerg Bornemann2018-06-011-0/+118
| | | | | | | | | | | | | | | | | | | | | | Also, adjust the syntax to be closer to ES2015's template literals. [ChangeLog] Introduced the texttemplate module, a facility similar to qmake's SUBSTITUTES feature. Task-number: QBS-1050 Change-Id: Id4d45ac962d68f44a060aefafb20263d7f21ba9f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge "Merge 1.12 into master"Christian Kandeler2018-06-0111-14/+107
|\ \
| * | Merge 1.12 into masterChristian Kandeler2018-06-0111-14/+107
| |\| | | | | | | | | | Change-Id: I95f9b29df55c0baac20791bbe17f615c1ce060bb
| | * Add support for system-level settingsChristian Kandeler2018-06-016-8/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * Doc: Fix a typoLeena Miettinen2018-05-301-1/+1
| | | | | | | | | | | | | | | Change-Id: I143997ecbda03a290307d62c30adbca1527f7e0a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix copy/paste artifact in AutotestRunner documentationChristian Kandeler2018-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | The workingDir property is of course a string. Change-Id: If0c5dbccb4debe20640cb4add0d0d13d0dc85d8e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Add how-to for running autotestsChristian Kandeler2018-05-291-0/+31
| | | | | | | | | | | | | | | Change-Id: I438c6e754ea03a53306cc7d55debcc6574d2c2f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Documentation: Work around qdoc quirkChristian Kandeler2018-05-254-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Apparently, the name of a snippet identifier cannot have the name of another snippet identifier as a substring. Change-Id: Ic82a26f3e05daa627f2de36d330e31216cf0a76e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Simplify installation of applications and librariesChristian Kandeler2018-06-013-9/+93
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "install" and "installDir" convenience properties to our Application, DynamicLibrary and StaticLibrary items, so users are no longer required to write groups with file tag filters for the normal installation case. The installDir property has a suitable default value for the respective target platform, as does qbs.installPrefix. [ChangeLog] The Application, DynamicLibrary and StaticLibrary items now have properties for more convenient installation of target binaries. Task-number: QBS-229 Change-Id: I9cfa4c02a7c555b0af637257da63967cd62cc119 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* / Introduce the autotest moduleChristian Kandeler2018-05-302-0/+73
|/ | | | | | | | | | | This module allows different autotests to run in different ways, for instance with a custom working directory. [ChangeLog] Introduced the autotest module Change-Id: I8e0438f0a9fb1d9103bbd3cc0d2b6d46c244def6 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Make cpp.cxxLanguageVersion a listChristian Kandeler2018-05-141-2/+4
| | | | | | | | | | | ... and choose the highest entry. This enables different modules to specify their requirements without introducing conflicts. Same for cpp.cLanguageVersion. Task-number: QBS-1225 Change-Id: I96ed6c370eb190023fdb69274dcb080d967f512d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Adjust qbs for the behavior change of the explicitlyDependsOn propertyAlexandru Croitor2018-05-091-0/+2
| | | | | Change-Id: I98248cfe0b5bd0cd86019e2eb5a26871e5716d1d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add new property explicitlyDependsOnFromDependenciesAlexandru Croitor2018-05-091-2/+12
| | | | | | | | | | | | | | | | This change adds new Rule item property called explicitlyDependsOnFromDependencies. It allows specifying a list of file tags to consider in dependent target artifacts which should be used as dependencies. [ChangeLog] The Rule item property explicitlyDependsOn no longer considers target artifacts of products that the processed product depends on. The new property explicitlyDependsOnFromDependencies can be used for that purpose. Change-Id: I47a80699fe881d4075b292ad164dd6e776049a83 Reviewed-by: Christian Kandeler <christian.kandeler@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>
* ModuleLoader: Do dependency resolving in two stagesChristian Kandeler2018-05-071-1/+1
| | | | | | | | | ... if needed. This is required to lift the restriction that products cannot be matched by Depends.productTypes if their type depends on a module property, which turned out to be too limiting in practice. Change-Id: Ibc51f035209e583d335719560a69d5bb42cb6df9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add AutotestRunner.auxiliaryInputsChristian Kandeler2018-05-071-0/+12
| | | | | | | | | | | This is a set of file tags representing run-time dependencies of the test executables. [ChangeLog] Added the AutotestRunner.auxiliaryInputs property for specifying run-time dependencies of test executables Change-Id: If1ac6256d83f535b8be859a096062f07b0070729 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add support for prefix/output in lex_yacc moduleJoerg Bornemann2018-05-041-0/+24
| | | | | | | | | | | | | | | | | | | | The user can specify the outputs of lex/yacc via %option prefix="foo" in the .l file and %output "parser.cpp" in the .y file. Also, introduce the following properties to specify the outputs: lexOutputFilePath, yaccOutputFilePath. Scan the lex/yacc inputs for those specifications and adjust the output artifacts accordingly. [ChangeLog] Added support for %option outfile and %output to the lex_yacc module. Change-Id: I5437c737ae8da54dc7eda81ac7384727f00f9d1f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add FileInfo.suffix and FileInfo.completeSuffixJoerg Bornemann2018-05-022-0/+15
| | | | | | | | [ChangeLog] Added FileInfo.suffix and FileInfo.completeSuffix. Change-Id: Ic74a2fcff2f3f1271fa60ac33b96a4c5a4d0e93d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Handle Depends.productTypes entirely in the ModuleLoaderChristian Kandeler2018-05-021-0/+2
| | | | | | | The old approach was not compatible with product multiplexing. Change-Id: Iac5947665c41c284fa9e177920fd4f225d353973 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* AutotestRunner: Set the working dir when invoking a test executableChristian Kandeler2018-05-021-0/+10
| | | | | | | | | | | | This helps with converting projects, as "make check" is also run from the executable's location and the executable may depend on that. The user can override the working directory. [ChangeLog] The AutotestRunner item now has a workingDirectory property. By default, the test executable's location is used. Change-Id: I7349a41960f7b637c3b1dd4c3bc10252d136526a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>