aboutsummaryrefslogtreecommitdiffstats
path: root/qbs-resources
Commit message (Collapse)AuthorAgeFilesLines
* qbs build: Fix look-up of qbs executable by autotestsChristian Kandeler2018-11-211-1/+1
| | | | | | | | The code worked only if qbs.installPrefix was empty. Change-Id: I9ba69f10c976b4a2b71ae4934c4cdac58895882a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qbs build: Allow building with address sanitizerChristian Kandeler2018-08-311-0/+7
| | | | | Change-Id: I339f5d986acd99240f388b83bfc29acfd19939ba Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* qbsbuildconfig: Do not pull in cpp if withCode is falseJoerg Bornemann2018-08-081-2/+5
| | | | | | | Task-number: QBS-1376 Change-Id: I79b470bc57d4188791209bca87a9042f7c385a84 Reviewed-by: Alexander Shevchenko <sav_ix@ukr.net> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove support for in-build-dir-execution of the qbs qbs buildJoerg Bornemann2018-07-123-6/+7
| | | | | | | | | | This is not supported. People must use the content of the installation directory instead. This reduces complexity of qbs' own project files. Change-Id: I39f8bb4d5252b0631a64b3aac01f83b09b28ae0f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove compatibility code for building qbs with qbs < 1.11Joerg Bornemann2018-07-121-9/+3
| | | | | Change-Id: Ib425ea13906e89ee59b11bb22b7778bd0b88070c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove qbs 1.9 compatibility code from qbsbuildconfigJoerg Bornemann2018-07-121-10/+0
| | | | | | | | Since commit 33a0c11a5f this hack isn't even used when building with qbs < 1.10. Change-Id: I48a7819ed9acd2cdaa2fa820c4c1121abcff27dc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add module Exporter.pkgconfigChristian Kandeler2018-06-042-0/+12
| | | | | | | | | | | | 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>
* Add support for system-level settingsChristian Kandeler2018-06-011-0/+1
| | | | | | | | | | | | | 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>
* qbs build: Add convenience properties for building staticallyChristian Kandeler2018-05-092-2/+4
| | | | | | | | So that we can easily test this functionality in the absence of a statically built Qt. Change-Id: I9c8f296222bc3155cb95219d4ababfd34e1e7e7b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.11 into masterChristian Kandeler2018-04-201-1/+1
|\ | | | | | | Change-Id: Iebe7584bd2978a8f8be093c6b366033076f83e74
| * Fix type of visibilityType property in QbsLibrary.qbsJoerg Bornemann2018-04-191-1/+1
| | | | | | | | | | | | Change-Id: I250d1b6a1c228a02818f509d1f389fb8ccc273c1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@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>
* | 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>
* | Add module Exporter.qbsChristian Kandeler2018-03-142-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | This module generates qbs modules from products, providing an interface to them for use by external projects. [ChangeLog] Added new module "Exporter.qbs" for creating qbs modules from products. Task-number: QBS-1231 Change-Id: I9f0cf04b441aaf279cf19a84fd94d97a8cea9de8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Run autotests using the qbs from the install root if availableJake Petroules2018-02-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | ...as opposed to relying on the qbs binary existing in the same directory as the test binaries and being usable from that location. This is necessary for some generators (as they generate projects which call the same qbs binary as they were generated with) where an invocation on the qbs binary in the non-installed location may fail to find dependent libraries when invoked from an outside environment. Change-Id: I4d35a6f70df3ad4c48b202f73399ffe1704f78ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Build qbs with C++14Christian Kandeler2018-02-152-2/+2
| | | | | | | | | | | | | | | | | | This will enable us to simplify some of our templates. Qt Creator requires C++14 as well, so we won't break it. Change-Id: I577347ef12c53ff2ec59e88344ff181b27a0d50c Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qbs build: Set cpp.cxxLanguageVersion in QbsProductChristian Kandeler2018-02-143-2/+1
|/ | | | | | | ... rather than separately in the derived items. Change-Id: I3f036ad45269daaa44aabfcd017c524083c84399 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* qbs build: Make the Qt bundling functionality configurableChristian Kandeler2018-01-301-0/+1
| | | | | | | We don't want that in Qt Creator. Change-Id: I811eed24fae6cb3f652a89d37138d8cf00992057 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qbs build: Re-add rpaths for our autotestsChristian Kandeler2018-01-251-0/+1
| | | | | | | They got accidentally removed in 5a1bb1db8e. Change-Id: I75a78507eddd9c225d846870d9515807c6117f27 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* qbs build: Remove exported qbsbuildconfig dependencyChristian Kandeler2018-01-111-1/+0
| | | | | | | It was left over. Change-Id: I0104b5ef046a0d31b3d780a079f8ecc5c9abb5e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Account for the Qbs docs build now requiring additional dependenciesJake Petroules2018-01-051-1/+1
| | | | | | | | | | | | | | 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>
* Fix qbs buildChristian Kandeler2017-12-121-5/+3
| | | | | | | | | | | | Was broken by 5a1bb1db8e. We must not use FileInfo::cleanPath() on the string "$ORIGIN/../lib", as that will simply strip away the first two components. Also, use joinPaths() rather than resolvePath() to construct the paths (as we always want to concatenate, even if the second argument looks like an absolute path), and don't read qbs.installRoot unnecessarily. Change-Id: Idf919c664a2e0ef1ea9a4052d1d0e591a52a234c Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Rewrite rpath handling for binaries that are a part of Qbs itselfJake Petroules2017-12-084-10/+32
| | | | | | | | | | | | | | | | | | | | | | Exporting a list of rpaths from a target is completely bogus as-is, because a target cannot know a dependee's install location relative to itself. This patch instead has each target category (executables in bin, libraries in lib, libexec binaries in libexec/qbs, and plugins in lib/qbs/plugins) set its relative installation directory at the product level, and then an appropriate rpath is created for the target by calculating a relative path from the target to the lib directory in the context of an installed build. This also has the advantage that rpaths are now calculated dynamically at build time rather than hardcoded, so if a user changes the directory depth of pluginsInstallDir, for example, everything will be adjusted automatically. Each target also therefore now has an rpath pointing exactly to its immediate dependencies, instead of relying on the parent process to inherit the rpath entries. Among simply being correct, this also has the advantage that any target can now be loaded correctly by another process which itself sets no rpath happening to point to the qbs lib directory. Change-Id: I8fdf24b74ef60426cea0930b7941479919226fd2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* macOS: set a compatibility version on our shared librariesJake Petroules2017-12-071-0/+1
| | | | | | | | | | | Qbs currently promises BC for the same minor release. Therefore, set the compatibility version to the same as the SONAME version. In addition to the mere declaration for correctness, this also helps to allow the OS to prevent loading a mismatched qbs binary and libraries if such a situation happens to occur. Change-Id: Ic1cfdcab29e1efd6c51872d650d77f2ea7f2bbf1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix qbs build with MSVCChristian Kandeler2017-12-051-1/+4
| | | | | | | cpp.soVersion is only defined for GCC-like compilers. Change-Id: I26c12a47534458cf4ed805e6e70b5579f9a15ebb Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* qbs build: Set soversionChristian Kandeler2017-12-011-2/+1
| | | | | | | It's time. This property was introduced in 1.7. Change-Id: Ief8ef2b05c12922be3f8b6a82d4de3dfb0068066 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Allow overriding the autotest profile for each test suite individuallyJake Petroules2017-11-151-0/+4
| | | | | | | | | | For example, this allows a Qt profile to be set only for the Qt test suite, which avoids default profile properties "polluting" the results of other test suites. Change-Id: Ie6eb7131a9ce6b90c21b4e33e41f8f32df0e01e8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Give BinaryProbe a more sensible set of default paths on UnixJake Petroules2017-11-061-1/+0
| | | | | Change-Id: I344e76e405690eb27fdecc719f111d5bed8a44aa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Allow fully overriding the QML type info build and install pathsJake Petroules2017-11-021-1/+3
| | | | | | | Amends 6cb626668a Change-Id: I876f4b72a5d6ee20721b3746861f615e750c9be1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Automatically generate the QML type descriptions as part of the buildJake Petroules2017-11-011-0/+1
| | | | | | | | This guarantees that clients (such as Qt Creator) will always have up to date information. Change-Id: I1fe7d8ae8cd6960681f41e78635576cde3f17083 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Install debug symbols of Qbs apps, libs, and plugins for debug buildsJake Petroules2017-10-042-2/+8
| | | | | | | This makes debugging with proper symbolication possible on macOS. Change-Id: Iad28ba3cdc2b33d099e5b80687b17d2335af4e5e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/1.9'Joerg Bornemann2017-09-261-0/+2
|\ | | | | | | Change-Id: I40c1ea23e7351deac715958783158c089e65a02d
| * Set the version number for Qbs applicationsJake Petroules2017-09-211-0/+2
| | | | | | | | | | | | | | | | This influences the version number embedded in platform metadata, such as CFBundleVersion on macOS. QbsLibrary already does this. Change-Id: Ie6a41e5f440ef940be333404183adb280581cd31 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/+51
|/ | | | | Change-Id: Id88521a86c057ad09355dff11ff69a1aba000a17 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not access the bundle module unconditionallyChristian Kandeler2017-08-021-2/+5
| | | | | | | | | | It is a mistake that the NativeBinary item currently pulls in the bundle module unconditionally (and also that the module is enabled everywhere). We want to change that. Prepare for the change by removing all unconditional accesses to the module's properties. Change-Id: If57b8222c1a0e2b09c33520882446fa71401f1f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move the buildgraph, language and tools tests into the proper locationsJake Petroules2017-06-221-1/+4
| | | | | | | Also export necessary symbols that they need. Change-Id: I3023893a3da82cf0d86b0d08df38943db867cf3a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Introduce the qbsversion module for building QbsJake Petroules2017-06-024-3/+26
| | | | | | | | | | 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>
* Merge 1.8 into masterChristian Kandeler2017-06-021-1/+2
|\ | | | | | | Change-Id: I79817dea8855d7327d3b8d53f30f29ecebd5daaf
| * Make "bin" the libexec path on WindowsChristian Kandeler2017-05-301-1/+2
| | | | | | | | | | | | | | | | Otherwise, our binary distributions will not work out of the box, as the process launcher is not in the same place as the libraries. Change-Id: Ied375fa48e5c2cb037d3cb2108296126ee3be4cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Version bumpChristian Kandeler2017-05-241-1/+1
| | | | | | | | | | Change-Id: I80c5c219cb7399f8cffb17ac793e0e3a170346a8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | qbs build: Make use of version check capabilities in Depends itemChristian Kandeler2017-05-311-3/+1
| | | | | | | | | | | | | | | | This makes for much better feedback to the user in case of an outdated Qt version. Change-Id: I2223ea35f618ed06a6eb2f01916c1a85cec009cc Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Replace QbsFunctions.versionIsAtLeast with Utilities.versionCompareJake Petroules2017-05-312-19/+2
| | | | | | | | | | | | | | | | This more general function was introduced in Qbs 1.6.0, which happens to be the self-hosted build's minimum Qbs version requirement. Change-Id: I3b9c2cf7c1cf7c30a966df9011959d89cac05950 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Version bumpJoerg Bornemann2017-03-291-1/+1
|/ | | | | Change-Id: Ia649515656a42e1e170aa26e419177d0a34530e6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Make the documentation embeddable in other projectsChristian Kandeler2017-03-101-0/+3
| | | | | | | | This is for the qbs build. We've already done it for qmake. Task-number: QTCREATORBUG-13124 Change-Id: I14ffd9d5184cef8378da377190107ff4496a815a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Bump required Qt version to 5.6Christian Kandeler2017-02-271-1/+1
| | | | | | | | | | | It seems natural to use the LTS release as the minimum required version, and we get rid of a number of #ifdefs. [ChangeLog] Building qbs now requires Qt 5.6 Change-Id: I327ebb179a20e6372fa5ae765e0f3753fb9e9efa Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Enable QT_STRICT_ITERATORS in debug modeChristian Kandeler2017-01-161-0/+2
| | | | | | | This can help us find subtle problems in that area. Change-Id: Ie36faeeb11c2faca16809bce12a643edd8658008 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.7 into masterChristian Kandeler2016-12-091-2/+3
|\ | | | | | | Change-Id: I3056fcaa14715d084938046cda6087c923f3dd84
| * Fix propagation of defines to dependencies from QbsLibraryJake Petroules2016-12-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Export of cpp.defines could not possibly have ever worked as triple equals comparison of a string and array will always be false. Fix that, and then fix the resultant build errors by avoiding the addition of the QBS_STATIC_LIB define to an importing dynamic library, and warning in the case where the same translation unit will be seen with different visibility settings in different contexts. This also fixes warnings in generator plugins due to the different visibility. Change-Id: Icf91bfd5644c436ddea819cce61b7a4b654c0db4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.7 into masterChristian Kandeler2016-11-262-3/+5
|\| | | | | | | Change-Id: I4942dca52ff7920ec0363343dc938948833568cc