aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve the documentation of the Rule itemChristian Kandeler2016-10-282-61/+102
| | | | | | | | | | | We should make it easier for users to find out how to write their own rules. Task-number: QBS-880 Task-number: QBS-1012 Change-Id: I5469a5b17a4f1967db0dd4c281e5292124a2928c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add support for generating qrc filesChristian Kandeler2016-10-281-0/+18
| | | | | | | | [ChangeLog] Added support for generating qrc files. Change-Id: I9c5d703fcb6f8c14606d5abf66e8edfd4959f364 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Add support for the QtScxml moduleChristian Kandeler2016-10-201-0/+52
| | | | | | | [ChangeLog] Added support for QtScxml module. Change-Id: I1ad8d51a3d9532d4a24270e4cc13f26f51620b07 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Merge 1.6 into masterChristian Kandeler2016-10-171-0/+7
|\ | | | | | | Change-Id: Ie98233d955f3695da0b20069fb2317931e353e4e
| * Introduce property cpp.linkerWrapperThomas Epting2016-10-101-0/+7
| | | | | | | | | | | | | | | | | | | | This allows integration with tools like Bullseye Coverage. Task-number: QBS-1000 Change-Id: I318599a9df0f082a096fb72db7a8878b15e571cc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Cpp Module: Add soVersion propertyChristian Kandeler2016-09-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | People must be able to set the version part of their shared library's soname. So far, we hardcode it to the major part of the product version, but that's not always right. [ChangeLog] Introduced cpp.soVersion. Change-Id: Ie06d5b88d0b3ee62f5924d58407e2a88e9e6f90d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Update license headersIikka Eklund2016-08-2957-951/+820
| | | | | | | | | | | | | | | | | | | | Patch-set 3 includes rest of the files. Every source file needs to have up-to-date license headers in order to pass ci. Change-Id: I55ed96910b5cb13513f80eb118feafcdaa32e8b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* | Merge 1.6 into masterChristian Kandeler2016-08-191-1/+10
|\| | | | | | | Change-Id: Id711e244f207d6c4f08e240ef4c033f344b530fc
| * Automatically escape arguments in cpp.linkerFlags/platformLinkerFlagsJake Petroules2016-08-161-1/+3
| | | | | | | | | | | | | | | | | | | | [ChangeLog] Added automatic escaping of arguments passed to the cpp.linkerFlags and cpp.platformLinkerFlags properties using the -Wl or -Xlinker syntaxes. To revert to the old behavior, Project.minimumQbsVersion can be set to a version lower than 1.6. Change-Id: Ibe9d0fa3c9acf5062428ce1c3bc4d840e1cec4b3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Introduce cpp.driverFlagsJake Petroules2016-08-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This property allows specifying a set of flags to pass to the compiler driver. Effectively this is similar to specifying flags in both *compilerFlags and linkerFlags, except driverFlags will never be passed to the system linker. [ChangeLog] Introduced cpp.driverFlags, which allows specifying flags to be passed to the compiler driver (in any mode), but never the system linker. Change-Id: I2171246f3b20cbaca74114cf4fa0b6d38c23c621 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.6 into masterChristian Kandeler2016-08-091-6/+0
|\| | | | | | | Change-Id: Ic2903bf480a73ff8644ea6f6af2aadb419af40e4
| * Get rid of Android hard float "ABI"Jake Petroules2016-07-301-6/+0
| | | | | | | | | | | | | | | | | | | | This was never recommended for use, and has been removed in the latest Android NDK r12. See https://github.com/android-ndk/ndk/blob/master/docs/HardFloatAbi.md for full details on the matter. Task-number: QBS-989 Change-Id: I49fd1b7527d43e8b6caa2b905a41a6f0b1e5b4af Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Deprecate the "moduleProperties" functionChristian Kandeler2016-08-041-2/+2
| | | | | | | | | | | | | | | | Ever since we introduced module merging, there has been no difference between moduleProperty() and moduleProperties(). Change-Id: I3f9a9df3f24bf971828e774a5f687356509df2ca Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Qt.core: Add property for setting extra plugin metadataChristian Kandeler2016-08-011-0/+10
| | | | | | | | | | | | | | Task-number: QBS-998 Change-Id: I8f3999078bc3fec2001b5ffec9b1f51ba9848b56 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge 1.6 into masterChristian Kandeler2016-07-293-0/+135
|\| | | | | | | Change-Id: I645e4b1dfe6fada1f3ff8a56be07ef5d6647b453
| * Qt.core module: Add property for passing extra options to mocChristian Kandeler2016-07-271-0/+5
| | | | | | | | | | | | | | | | This is needed sometimes. Task-number: QBS-998 Change-Id: Idd15f79ec8996b4df5311425727e38ea8d6eebae Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Add module for lex & yacc supportChristian Kandeler2016-07-261-0/+119
| | | | | | | | | | | | | | | | | | | | | | These tools are popular enough to warrant seamless integration out of the box. [ChangeLog] Added lex_yacc module. Change-Id: I2b31f0e527b1d467e9daa0e239eb58d2aea83f69 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Introduce cpp.linkerModeJake Petroules2016-07-221-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property allows qbs to automatically select an appropriate linker based on the objects being linked. The new behavior is to automatically use the C++ compiler driver for linking if any of the objects being linked were compiled from C++ or Objective-C++ sources, otherwise the C compiler driver if any of the objects being linked were compiled from C or Objective-C sources, otherwise the system linker. To retain the old behavior, cpp.linkerName can be set to cpp.cxxCompilerName, and cpp.linkerMode to "manual". Qbs will also avoid passing the -stdlib option or linking c++abi on Linux unless any of the objects being linked were compiled from C++ or Objective-C++ sources. As a result the default behavior for building a pure C application or pure ASM application with Qbs is to NOT link to the C++ standard library or any other supporting C++ libraries. [ChangeLog] Introduced cpp.linkerMode property to allow selection of the correct linker (C driver, C++ driver, or system linker) based on the objects being linked Change-Id: Ic16e31a3072c9e296c348783a21717902c15bff6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Allow nested group itemsChristian Kandeler2016-07-281-3/+15
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This serves two use cases. Use case 1: Groups with overlapping conditions can be structured more naturally, possibly getting rid of redundant property assignments. Consider this: Group { condition: qbs.targetOS.contains("unix") cpp.dynamicLibraries: ["pthread"] files: ["unix_all.cpp"] } Group { condition: qbs.targetOS.contains("linux") cpp.dynamicLibraries: ["pthread", "dl"] files: ["linux.cpp"] } Group { condition: qbs.targetOS.contains("unix") && !qbs.targetOS.contains("linux") cpp.dynamicLibraries: ["pthread"] files: ["unix_nonlinux.cpp"] } Whereas now we can write: Group { condition: qbs.targetOS.contains("unix") cpp.dynamicLibraries: ["pthread"] files: ["unix_all.cpp"] Group { condition: qbs.targetOS.contains("linux") cpp.dynamicLibraries: outer.concat(["dl"]) files: ["linux.cpp"] } Group { condition: !qbs.targetOS.contains("linux") files: ["unix_nonlinux.cpp"] } } Use case 2: Putting source files into a dedicated project file which can be instantiated from different products (similar to pri files in qmake) becomes much more useful when these files can actually contain more than one group. In this context, the top-level Group item will often act purely as a structural element, satisfying the QML syntax' requirement of a single root item. [ChangeLog] Made the Group item nestable. Change-Id: Ie1d7bed7bca33f6f023b625e8726d2e8db08e45d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Allow to check for module versionChristian Kandeler2016-07-072-0/+21
| | | | | | | | | | | | | Introduce a "version" property to the Module item and corresponding properties to the Depends item to set constraints on that version. [ChangeLog] Introduced the ability to check a module's version in a Depends item. Change-Id: I583b40216fb91af21f4e79ad403a7e327215ff79 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.5 into 1.6Jake Petroules2016-06-2812-20/+26
|\ | | | | | | Change-Id: If1a2c368170d89d5e6e11b08a32b37901d51eb1d
| * Do the OS X to macOS rename.v1.5.2Jake Petroules2016-06-2712-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog] The "osx" value in qbs.hostOS and qbs.targetOS has been replaced with "macos". For backwards compatibility, qbs.hostOS will still contain "osx" in addition to "macos", and an error will be printed if qbs.targetOS contains "osx" but not "macos". Specifying "macos" without "osx" is allowed. These checks are subject to be removed in a future version of qbs, so update your hostOS and targetOS checks accordingly. [ChangeLog] cpp.minimumOsxVersion has been deprecated and replaced with cpp.minimumMacosVersion. cpp.minimumOsxVersion is subject to be removed in a future version of qbs, so update your projects accordingly. Change-Id: I479891829dff6eb6750cb2a04e1395f085896f63 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge 1.5 into master.Christian Kandeler2016-06-271-0/+42
|\| | | | | | | Change-Id: I0d15404445ffbadfd5fb2277630650928bb24b05
| * Docs: List the supported property types.Christian Kandeler2016-06-241-0/+42
| | | | | | | | | | | | | | Task-number: QBS-983 Change-Id: Id0bd4a91f6afbe04621cfff28b0ef43dcfeee69b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Add new cpp property "systemRunPaths".Christian Kandeler2016-06-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The concrete use case is to prevent such paths from getting into the list of rpaths, which can mess with the look-up of libraries in the case where we linked against a different version than the one provided by the system. [ChangeLog] Introduced property cpp.systemRunPaths. Task-number: QBS-921 Change-Id: I67a17bbebca22bfadf0932ecc6cc0cfcffea310a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Stop special casing qbs.buildVariant in command line handling.Jake Petroules2016-06-202-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces qbs.configurationName, which takes the place of qbs.buildVariant in the command line and acts as a unique identifier for each build configuration, rather than relying on the combination of qbs.buildVariant and the profile name to do so. No longer special casing qbs.buildVariant allows the variant to be decoupled from the build configuration, and allow scenarios where a project may contain products hardcoded for particular build variants, and in future, special debug-and-release builds which create a single framework product containing multiple build variants. Incidentally, this change allows building multiple configurations of the same build variant and profile name combination, since the build configuration is no longer keyed on the aggregate of those values. Building for different profiles with the same configuration name in parallel is now no longer possible, but this is easily worked around by simply specifying different configuration names for such combinations. For example, the following is now possible: qbs \ static profile:a qbs.buildVariant:release project.useStaticLibraries:true \ dynamic profile:a qbs.buildVariant:release project.useStaticLibraries:false [ChangeLog] Each build configuration now requires a unique name, which is specified on the command line in the same place that qbs.buildVariant used to be specified. This allows building for multiple configurations with the same variant. Change-Id: I96ab9fc96861ab7e6a04a7d291a093115c22010e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.5 into master.Christian Kandeler2016-06-172-2/+38
|\| | | | | | | Change-Id: I93e4943cf8112ce1088c34a43928d2133bc7dca7
| * Docs: Clarify the connection between file tags, rules and product type.Christian Kandeler2016-06-162-2/+32
| | | | | | | | | | | | Task-number: QBS-984 Change-Id: I4324e387ec4124f3f5f638ab8d627fc33f6f21a9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Doc: Show syntax for multiple filesKai Koehne2016-06-121-0/+6
| | | | | | | | | | | | Change-Id: I3a2361865036573237f1f87e2967f149bbf218f2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Cache the results of probes.Christian Kandeler2016-06-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | Probes are often used to call external processes, which can be expensive. We do not want them to be executed every time a project is re-resolved. So cache the results and provide the means to force re- execution if something changes externally. Task-number: QBS-25 Change-Id: I5c48a6f657f5829b72df7677b566177502655c5e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-06-0856-64/+64
|\| | | | | | | | | | | | | | | Conflicts: doc/reference/items/transformer.qdoc share/qbs/modules/cpp/GenericGCC.qbs Change-Id: I45560834560019b18274c373c45651eb8aadd206
| * Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-0656-56/+56
| | | | | | | | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Avoid using the term "Qt Build Suite" in Qbs documentation.Jake Petroules2016-06-042-9/+9
| | | | | | | | | | | | | | | | | | This term is not used by anyone (it's always written as "Qbs" and pronounced "cubes") and it is ultimately confusing to users and detracts from the identity of the product, especially its pronunciation. Change-Id: Ifb76d059cafc33ce3fa686ddb3d7d67f47084faf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Determine the compiler's default include and lib directories.Jake Petroules2016-06-061-7/+42
| | | | | | | | | | | | | | | | This fixes an issue where moc may fail to find some headers when building Qt or projects that use Qt. Change-Id: I52981139a3127539a4d5d9ba6e8d61575f7a0082 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Bump required Qt version to 5.4.0Orgad Shaneh2016-06-061-7/+1
| | | | | | | | | | | | | | | | | | | | | | Required for using new functions of QTimer. Get rid of workarounds and helper functions that support previous versions. Change-Id: I13bec075ce3014083120834a402bdc213df10be9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Merge 1.5 into master.Christian Kandeler2016-05-271-1/+1
|\| | | | | | | Change-Id: I85f81532d88798d71cb88552dd150189d72829bd
| * cpp module: enable exceptions by defaultSergey Petrov2016-05-241-1/+1
| | | | | | | | | | Change-Id: Icc4d9f5239ce1dc8fb8dd72bad4bdcfae1f51737 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-05-181-1/+2
|\| | | | | | | | | | | | | | | Conflicts: qbs-resources/imports/QbsFunctions/functions.js qbs_version.pri Change-Id: I24c4c941d825e61ddd2e704c8cea29eaa9943997
| * Doc: Align code snippetsKai Koehne2016-05-181-1/+2
| | | | | | | | | | | | Change-Id: Id543798e8c00840504116d9077288327ab0f6543 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Deprecate the Transformer item.Christian Kandeler2016-05-116-126/+42
| | | | | | | | | | | | | | | | | | | | | | | | When dynamic rules were introduced, transformers became second-class citizens. They do not play well with rules, they introduce annoying additional code paths in the implementation and they are plain broken in several aspects. Now that rules with no inputs are supported, we don't need transformers anymore. Task-number: QBS-885 Change-Id: I316d8cffc91bb529f82350edc0b08358a80ae3fd Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-05-061-1/+2
|\| | | | | | | Change-Id: Id80f889136961e0353982503c54d88ce6e929e0f
| * Add an "importingProduct" variable to the Export item.Christian Kandeler2016-05-031-1/+2
| | | | | | | | | | | | | | It was an oversight that we did not have this before. Change-Id: I6347be273273da301ca1ee3e23ff2ddda0a1553a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge remote-tracking branch 'origin/1.5'Joerg Bornemann2016-05-032-8/+185
|\| | | | | | | | | | | | | | | Conflicts: src/lib/corelib/jsextensions/environmentextension.cpp src/lib/corelib/language/scriptengine.h Change-Id: I77e4626218612656d0963d1bfc643d9f9e7f4edd
| * Document the relevant file tags of the Qt modules.Christian Kandeler2016-04-291-33/+157
| | | | | | | | | | | | | | Task-number: QBS-934 Change-Id: I57292a883b9b8ea33239a3176bffad4dcd390d85 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
| * Document the file tags of the java module.Christian Kandeler2016-04-281-0/+28
| | | | | | | | | | | | Task-number: QBS-934 Change-Id: I901b8bc1f6c15a373e3d998c785691db3303cc35 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * DBus module: Add support for the qdbusxml2cpp tool.Christian Kandeler2016-04-271-0/+25
| | | | | | | | | | | | | | | | This brings feature parity with qmake regarding the (undocumented) DBUS_ADAPTORS and DBUS_INTERFACES variables. Change-Id: I6c7a2278308e5eb44b4582f33615100def21d84c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Remove items scheduled for removal in 1.6.Jake Petroules2016-04-221-9/+0
|/ | | | | Change-Id: I4098b281ab9c1f5bc29fe23164dd3a3303759ce0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Remove documentation for code signing properties in the Xcode module.Jake Petroules2016-04-151-52/+0
| | | | | | | This feature is not ready for the 1.5 release; it will be in 1.6. Change-Id: I5dfdbdc9abd0931f3b10a835995d947c429a626b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Move enableRtti property from Android.ndk to cpp module.Jake Petroules2016-04-142-6/+6
| | | | | | | This is in no way Android-specific. Change-Id: I636cc44827b1c64815c0197fc724ede8abe949f8 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Implement properties to control use of exception handling.Jake Petroules2016-04-142-7/+14
| | | | | | Task-number: QBS-387 Change-Id: Ia3d8bfe30b0362f1e7b6892cba32ddfb569bdbc4 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>