aboutsummaryrefslogtreecommitdiffstats
path: root/qbs.qbs
Commit message (Collapse)AuthorAgeFilesLines
* Add a new project property "withDocker" on the Qbs buildJake Petroules2017-12-051-1/+8
| | | | | | | | | This allows developers to build Qbs with --all-products on a system that has Docker installed, but without building the Docker images, since this can take a very long time. Change-Id: Idc0514e8d603311559125beba4b14b352613adcd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Allow disabling pieces of the Qbs project by categoryJake Petroules2017-11-091-38/+24
| | | | | | | | This allows the "resources build" to not rely on a valid Qt profile. Task-number: QBS-1238 Change-Id: I1c743a95993099250da714c794b6e0ac16133609 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove sync.profileJake Petroules2017-10-231-1/+1
| | | | | | | | These are now totally obsolete. Change-Id: Ic7581005787cfb9196518bfd9cb3be26d60b3d22 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
* Add products to build the Qbs Docker imagesJake Petroules2017-08-181-0/+1
| | | | | Change-Id: Id88521a86c057ad09355dff11ff69a1aba000a17 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Organize development-time scripts in a single placeJake Petroules2017-08-161-0/+1
| | | | | | | Adapt scripts as necessary. Change-Id: Ib5ad4d1b6bc0e47cb6b4994cfb924efc1c3ebdc4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make sure all files in the repository are shown in the Qbs project treeJake Petroules2017-08-161-1/+1
| | | | | | | | This is helpful when working with IDEs because it enables Find functions to work better, and avoids context switching to other editors. Change-Id: I419ab440bd2b43eaf712b2cc498cc6c2d6d9e21b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Organize the 'dist' release package into a new file structureJake Petroules2017-07-181-1/+0
| | | | | | | | This prepares for adding products for additional release packages. Change-Id: I38d8745764ee6044589ff6298b739dde17d573c1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Introduce the qbsversion module for building QbsJake Petroules2017-06-021-0/+5
| | | | | | | | | | Use that instead of QbsFunctions.qbsVersion() and read it in qbs_version.pri; this has the advantage that simple text processing tools can retrieve the project version without having to parse JavaScript. It's also set from only one place now. Change-Id: Icfd2a6bf12b794b55c9ba31934a96b4483224eae Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Allow passing autotest wrapper arguments to qbs autotestsJake Petroules2016-12-131-0/+2
| | | | | | | | Useful for sending test output to files in continuous integration, for example, where the arguments must vary for each individual test. Change-Id: I7b01e836d07864e41c6ab19810a5fcadfe840e44 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Allow passing autotest arguments to qbs autotestsJake Petroules2016-12-121-0/+2
| | | | | | | | Useful for sending test output to files in continuous integration, for example. Change-Id: Ib9437f53347bae6e6db42cede18184151f8947d4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Bump minimum qbs version to 1.6Christian Kandeler2016-08-291-1/+1
| | | | | | | | To get rid of the annoying linker rule warnings. We are not using "-Wl," anywhere. Change-Id: I0ccfd60d6dc3dbe156ea04b307effe060e00b190 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* List qmake project files in qbs project fileChristian Kandeler2016-08-291-0/+5
| | | | | Change-Id: Ib4fba11526bc258180305ac6755a272cddb07b95 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* qbs build: Move build config properties into a dedicated module.Christian Kandeler2016-06-071-21/+0
| | | | | | | | | | Qt Creator will do the same in order to be able to build plugins that are not part of the main source tree. This means the qbs build and install settings can no longer be controlled by properties in a higher- level project file, but need to come from a module. Change-Id: I20c0a4538395c8ee838b33f35be84ee59f601f90 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix autotest execution on OS X.Jake Petroules2015-12-141-0/+4
| | | | | | Change-Id: I94f35289e73690ef33ca047cb48ea92b04f499d4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* qbs build: Add missing dependencies to autotest runner.Christian Kandeler2015-12-141-0/+3
| | | | | | Task-number: QBS-917 Change-Id: Idf99546792dc0fac19bd39ff601b494c4c5155a9 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* Let Qbs build its own Windows ZIP distribution.Jake Petroules2015-09-021-0/+1
| | | | | Change-Id: Id633922727fd715750547f4c27cac6f604abe28a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Solve the Java dependency tracking issue once and for all.Jake Petroules2015-07-091-1/+0
| | | | | | | | | | | | | | | | | | | This approach relies on the newly introduced ability of Modules to contain Groups, which may add additional source files to a Product. In the case of the Java module, the module includes a group which adds some sources to build a helper tool on-demand for each product that builds Java source code. This deviates from the previous approach of supplying a single jar for the entire qbs distribution and is thus somewhat less efficient, but is not expected to be a critical issue in the short term. To start, it solves two critical issues: the build-time dependency on javac, which complicates the qbs build process unnecessarily, and the bootstrap class path warning due to targeting Java 1.6 with newer JDKs. Change-Id: I533214a5d37fd69a4d8bfcf0db36bc7dae821d5f Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix libexec path.Christian Kandeler2015-07-061-1/+1
| | | | | | | | | The binaries are normally put into a subdirectory of libexec/. Also add missing include in pri file (the install prefix was ignored for libexec binaries). Change-Id: I8fe005d7c88d1976d42d8ecedd7d08c2d49ae881 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Make libexec path properly configurable.Christian Kandeler2015-06-011-1/+2
| | | | | Change-Id: I7f9c3935f46446d117fd42081c3885fc3f80da5a Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Add support for tracking class, h files produced by Java inner classes.Jake Petroules2015-05-281-0/+1
| | | | | | | | | | This also resolves the "perfect parsing" issue and so determining output file paths for Java class files won't be fooled by comments, etc. Feel free to use NULLs, unpaired surrogates, emoji, etc! Task-number: QBS-228 Change-Id: I3576a9a8e51a717ab8159db35f1a01e3ad91df88 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Fix qbs build.Jake Petroules2015-05-201-0/+1
| | | | | Change-Id: I268e7de6334defe552690bba09714d0430940ef4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Don't build examples with qbs by default.Jake Petroules2015-05-151-1/+1
| | | | | | | | This way, they don't get installed along with qbs itself. Task-number: QBS-802 Change-Id: I80e16be36af2814cd2836ed7c6039db30f375566 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* qbs build: Make autotest runner work on Windows.Christian Kandeler2015-04-241-1/+22
| | | | | | Change-Id: I1a383165500a7f0ebbb14c75dd1685985857aef1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Add benchmarking tool.Christian Kandeler2015-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Takes two qbs repo states, runs callgrind and massif on different phases of the build process for each of them and informs the user of the relative performance of these operations. I suggest running this tool before committing anything that could conceivably impact performance. Note that we have similar regression detection functionality on our build machines, but it's better to spot such problems before pushing a change. Example output (for commits 04df1532c4 and f53d724eec building qbs itself): ========== Performance data for Resolving ========== Old instruction count: 1931242543 New instruction count: 1457438375 Relative change: -25 % Old peak memory usage: 1710721 Bytes New peak memory usage: 1509879 Bytes Relative change: -12 % ========== Performance data for Rule Execution ========== Old instruction count: 2924308821 New instruction count: 2890322188 Relative change: -2 % Old peak memory usage: 2520740 Bytes New peak memory usage: 2488058 Bytes Relative change: -2 % ========== Performance data for Null Build ========== Old instruction count: 572213104 New instruction count: 517813513 Relative change: -10 % Old peak memory usage: 1964455 Bytes New peak memory usage: 1774279 Bytes Relative change: -10 % Change-Id: I1f05c647d204b6cacf3539c8ecbf13633b757cf7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge branch '1.3' into master.Christian Kandeler2015-01-131-1/+1
|\ | | | | | | | | | | | | Conflicts: tests/auto/blackbox/tst_blackbox.h Change-Id: If48c717626f468c46ad7f1208365275135074404
| * remove superfluous project variableJoerg Bornemann2015-01-131-1/+1
| | | | | | | | | | | | | | There's no project variable directly beneath the Project item. Change-Id: I31d158a6d291200b2bb4d739617752a6ab88dd2a Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Add AutotestRunner for qbs project.Christian Kandeler2014-12-181-1/+3
| | | | | | | | | | Change-Id: I604503fe0fe2d422fa6beeb788482f47a6a1b947 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | qbs build: Introduce convenience item QbsProduct.Christian Kandeler2014-10-301-0/+1
|/ | | | | | | | As base product for QbsApp, QbsLibrary etc. Has little functionality at the moment, but will get more soon. Change-Id: I29ac78db2ff1ba109dd09a55e7593b2beeaba741 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix condition for including the "examples" sub-project.Christian Kandeler2014-10-171-1/+3
| | | | | | | | The condition has to be attached to the sub-project via the "Properties" item, not to the SubProject item directly. Change-Id: I858788c463c6816929f0f891f8d03438eeb2886c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Set minimum qbs version.Christian Kandeler2014-08-041-0/+1
| | | | | Change-Id: I9f1a349c8e34052d322f3cce1bc7da1a35f93764 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* API: Make the ability to update project files optional.Christian Kandeler2014-07-181-0/+1
| | | | | | | | | | | | This is the functionality that allows callers to add files to groups etc. Unfortunately, the QML/JS rewriter we use for this purpose pulls in the Qt GUI module, which results in unnecessary library dependencies if one only wants to use the command-line frontend. Therefore, allow this feature to be compiled out. Task-number: QBS-565 Change-Id: Ic134ff9cf37bd552ad493b388c05bcece983fd65 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qbs project files: Move property appInstallDir all the way up.Christian Kandeler2014-06-251-0/+1
| | | | | | | | Overriding this value in an aggregate project does not work if we declare it in apps.qbs. Change-Id: I41606b82266057b414275f49bf9d21a9a06044c1 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Command-line frontend: Make plugin and search paths configurable.Christian Kandeler2014-06-241-0/+2
| | | | | | | | | Projects embedding qbs might put these somewhere else. Task-number: QTCREATORBUG-12473 Change-Id: I13e1a1843586501bb3e17a314ccd11af6c25ee43 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* qbs build: Fix type of project.libRPaths.Christian Kandeler2014-04-231-1/+1
| | | | | | | This must be the same as cpp.rpaths, which is a string list. Change-Id: I61f18e4dbb0c81d093c22e7d0ecb62e6381030a5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make the "lib" part of plugin and library locations configurable.Christian Kandeler2014-02-271-4/+5
| | | | | | | | Can now be set to e.g. "lib64" if required. Task-number: QBS-343 Change-Id: I6f34ade37f39400cc5fde63133a464565feb34c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not put the plugins where the resources are.Christian Kandeler2014-02-251-0/+1
| | | | | | | | | | | That's not where they belong. Also make less assumptions about the file path leading to them. Ideally, we should also do the latter for the stuff in share/, but then someone would have to touch the horrific qmake code in static.pro. Task-number: QTCREATORBUG-10074 Change-Id: Ide9c4b83dcf0cd7a62b57643b79caf05662358cb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce tool for fuzzy testing.Christian Kandeler2014-02-111-1/+2
| | | | | | | | | | | | Incremental builds are the likeliest source of problems, as well as the one that is the hardest to reproduce. This new tool turns a given project into a quasi-autotest by checking out random commits and doing incremental builds on them. In case of a build error that is not reproducible with a clean build, it aborts and reports the offending sequence of commits. Any qbs project that comes in a git repository is supported. Change-Id: I9f6f9172ce03140341ed25859092a8ed32d4a17d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix some property types in qbs' qbs project file.Christian Kandeler2013-10-301-3/+3
| | | | | | | | "property path" is wrong for these; they're just strings. Change-Id: I050b937ee213441a1d19e48a60eef58cfa6b3ba7 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Install examples.Christian Kandeler2013-10-301-1/+5
| | | | | Change-Id: I5c27ee33bf022784da88dbfc55045621be78c68c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add examples.Christian Kandeler2013-10-291-1/+3
| | | | | | | | These are mostly former manual tests that seem useful for demonstrating some feature to learners. Change-Id: I06d895ebdee1280699416cf4930a08602951aaf7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix rpath on OSX for the qbs build.Christian Kandeler2013-07-041-2/+8
| | | | | Change-Id: I0e8867d3736c4597a1a0e114252a086fdb4a0487 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make the qbs project files embeddable in another project.Christian Kandeler2013-07-031-0/+5
| | | | | | | The qmake project files already have this ability. Change-Id: I9d01609525b410a7cf0bb86865aa85c5435bad03 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Prepare qbs project files for selective inclusion.Christian Kandeler2013-07-021-24/+1
| | | | | | | | | | | | Namely: - Move product "share" into its own file. - Move version number definition into its own file. This will make it easier to pull in only parts of the sources in an aggregating project (e.g. an IDE that does not need the executables). Change-Id: I41b724fe8a0b20d957b924fe0a827263add43dce Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* allow qbs to be built without rpathJoerg Bornemann2013-06-181-0/+1
| | | | | | | | | | | Some Linux distros discourage the use of rpath. Specify CONFIG+=disable_rpath to turn off rpath usage on Linux and OS X. Task-number: QBS-309 Change-Id: I3658470aef525f5406d728c48ab2e6f86a3c62cd Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* bump version number to 1.0.1Joerg Bornemann2013-06-181-1/+1
| | | | | Change-Id: Ic3695d6d57486c929b8537497b75d7b2645272ef Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Use the new sub-project feature in the qbs project files.Christian Kandeler2013-06-171-19/+4
| | | | | Change-Id: Ia30766b91ef28d05bc1f6109d6dedbb7d18bcf3d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* bump version number to 1.0.0Joerg Bornemann2013-05-311-1/+1
| | | | | Change-Id: I0b24563800b3a7c6a1dc450e13aef3ef9e2b2f90 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* make sure transformer output artifacts have a file tagJoerg Bornemann2013-04-171-1/+0
| | | | | | | | If no file tag is given, use unknown-file-tag like it was already done for source files. Change-Id: I5774fb2e606ab6178d6433ff262f1df5cc231fd4 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* bump version numberJoerg Bornemann2013-04-161-1/+1
| | | | | Change-Id: I5600d5394c03d53cd73606a84a875879355f59a2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>