aboutsummaryrefslogtreecommitdiffstats
path: root/qbs-resources/imports/QbsLibrary.qbs
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for in-build-dir-execution of the qbs qbs buildJoerg Bornemann2018-07-121-3/+1
| | | | | | | | | | 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>
* Add module Exporter.pkgconfigChristian Kandeler2018-06-041-0/+9
| | | | | | | | | | | | 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>
* qbs build: Add convenience properties for building staticallyChristian Kandeler2018-05-091-2/+3
| | | | | | | | 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 module Exporter.qbsChristian Kandeler2018-03-141-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | qbs build: Set cpp.cxxLanguageVersion in QbsProductChristian Kandeler2018-02-141-1/+0
|/ | | | | | | ... rather than separately in the derived items. Change-Id: I3f036ad45269daaa44aabfcd017c524083c84399 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>
* Rewrite rpath handling for binaries that are a part of Qbs itselfJake Petroules2017-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
* Install debug symbols of Qbs apps, libs, and plugins for debug buildsJake Petroules2017-10-041-1/+5
| | | | | | | This makes debugging with proper symbolication possible on macOS. Change-Id: Iad28ba3cdc2b33d099e5b80687b17d2335af4e5e 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>
* Introduce the qbsversion module for building QbsJake Petroules2017-06-021-2/+1
| | | | | | | | | | 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>
* 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>
* Append minor version number to soname of all qbs libsJoerg Bornemann2016-11-031-0/+2
| | | | | | | | | For the qbs build this feature is turned off to be able to build qbs 1.7 with qbs 1.6. Task-number: QBS-1002 Change-Id: I983b61c870f8516fb992e2379c5acb86f02dc104 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Don't install static library productsJake Petroules2016-09-081-2/+2
| | | | | Change-Id: I09e87843b5df2d7f1f1a7f8fc0558f40ec97fe9a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Generate a proper install tree for the dist target.Jake Petroules2016-06-161-0/+6
| | | | | | | | Now adds Incredibuild files and Windows import libraries, and removes some unnecessary files which bloat the distribution. Change-Id: I5ec15b0bc5ae29fa1f6a5ecca314fc083756eb17 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* qbs build: Move build config properties into a dedicated module.Christian Kandeler2016-06-071-3/+5
| | | | | | | | | | 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>
* Remove items scheduled for removal in 1.6.Jake Petroules2016-04-221-1/+1
| | | | | Change-Id: I4098b281ab9c1f5bc29fe23164dd3a3303759ce0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Don't advertise using relative paths in export items.Christian Kandeler2015-07-281-1/+1
| | | | | | | | While we do support this for compatibility reasons, let's not encourage it. Change-Id: I4856b021b2e309e35974af68fe4dc10954d3d451 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Refactor bundle (CFBundle) support across all of Qbs.Jake Petroules2015-01-131-0/+2
| | | | | | | | | | | | | | | This is the foundation for better bundle support, including static frameworks, loadable modules ("bundles" i.e. plugins), and custom bundle types. This also simplifies the difference between bundle and non-bundle product types from a Qbs user's perspective, and allows more fine-grained control over the construction of and use of bundles. This patch also implicitly adds support for static frameworks. Task-number: QBS-643 Task-number: QBS-642 Change-Id: I65d8d7040603a6ea0ff2c11360234eba6802ad35 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Enable C++11.Christian Kandeler2014-12-181-0/+1
| | | | | Change-Id: I8b0513e59c259d0535c6d0299ed64f531ae977c6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* qbs build: Introduce convenience item QbsProduct.Christian Kandeler2014-10-301-0/+26
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>