| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Change-Id: I6fff3d3cc73bd664c29b67239b88c2e09b5d6fe2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
We mistakenly omitted the module name in some expressions.
Change-Id: I7bc29837166ac7bf0bcf921b3f5816112f8e8e6f
Reviewed-by: Prashant Vaibhav <prashant.vaibhav@tobyrich.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I75210b8ab0e5db505aebc5a291ce3b6b1cf75e6d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I4e5df616d49b51286a3df83f11807408b59c4fe3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1121
Change-Id: Id1da9786d4535a350eed72062848c2745cf8a73b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I94452d0258857c008941bf6efeec5918403b50a1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I1baada41c3aaa72f0a042f0d590b925b602ab816
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog] Added the cpp.useRPathLink property to control whether
to use the -rpath-link linker option.
Change-Id: I4f7ca342285fe51975fed5ff8cbf8d3f0d50fae9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4d22a69b8c82c5f1e4cc746a95afc43be7e66893.
It's incompatible with how cpp and bundle rules currently interact.
Let's revert it for now to get rid of the regressions and investigate
whether the rules can be re-written.
Change-Id: I38d059e1ca81ace00cd8f10d38fe8bdd9cecc78d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The online style has limited horizontal space, and code blocks
within tables often result in partially hidden content, with a
scrollbar at the bottom.
To work around this, wrap the comments in the code snippet and
reduce its font size.
Change-Id: I5ceca23f99b521909f9bf3c869a45f89edb3dd8c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For instance, if you make an object file the target artifact of your
product, you want the depending product's linker rule to pick it up,
without the need to explicitly add the tag to "inputsFromDependencies".
Otherwise, you'd basically have to duplicate the contents of "inputs" in
all rules then, which is silly.
[ChangeLog] A rule's "inputs" property is now matched against the file
tags of target artifacts of products that the current product depends
on, in addition to artifacts in the current product.
Change-Id: I814cb49f5d8135b7482777dce73f1fa56a44724b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In rules we can now write
product.cpp.defines
instead of
product.moduleProperty("cpp", "defines")
Before requesting a module's property one must check for module
existence:
if (product.xcode && product.xcode.sdkName === "TheBestSDK")
...
The same syntax also works for artifact objects (e.g. from inputs).
The old way of requesting module properties via moduleProperty stays
intact for the time being.
[ChangeLog] Added a convenient replacement for
product.moduleProperty("module", "property"), namely
product.module.property.
Task-number: QBS-889
Change-Id: Ibf78329b8988b2ad632578848f4606dcc82f551c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I42ff395753e9e0efd1412e76f9df2ce47b09727a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These tools are known to produce sources that trigger compiler warnings,
so switch warnings off by default.
[ChangeLog] lex_yacc module: Introduced property
enableCompilerWarnings.
Task-number: QBS-1104
Change-Id: If13535dde5a580cd0cec215da22b8b8d22d7105b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce file tags and properties to support the concept of
"amalgamation builds" for C, C++, Objective-C and Objective-C++.
[ChangeLog] Provided the means to easily combine source files for the C
language family in order to support "amalgamation builds".
Change-Id: Ia3d248203c29418907178b47dba84ca3a18a0857
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is more in line with mainstream JavaScript (especially node.js)
which uses the CommonJS/RequireJS scheme for loading external modules.
[ChangeLog] The loadFile and loadExtension functions are deprecated in
favor of the new require function, which accepts arguments of either
form accepted by the deprecated functions.
Change-Id: Icc00aa3eb7c136a5be787f28ef38435e4ce261bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It tries to construct a qbs project from an existing source tree,
similar to qmake -project.
[ChangeLog] Added new tool qbs-create-project to set up a new qbs
project from an existing source tree.
Change-Id: Id13081a32fa708dd66768c7b647a638db4b41d6e
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies installation for end users, as they only ever have to
use this one tag to install an entire bundle, rather than having to
remember every possible file tag attached to the output artifacts of
rules which install their output to a bundle.
Refactor associated rules to handle this new internal workflow. This
paves the way for other new functionality like bundle embedding.
Change-Id: I76369383ae08d1ff5433b73d517a657dbd329b78
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Analogous to the "no_keywords" config variable in qmake.
[ChangeLog] Introduced Qt.core.enableKeywords for simple disabling of
the "signals", "slots" and "emit" symbols.
Change-Id: I4618fdda4ea3cf4533665ec2de1049e7f7c52f54
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, we connected all leaf rules of a product with all root rules of
its product dependencies. This is not necessary and penalizes parallel
builds of dependent products.
Now, we connect all rules of a product with all compatible rules of
product dependencies. Rules that take "installable" as input still use
the old behavior, because "installable" is a magic tag with no
corresponding rule.
Change-Id: Ib1f8b8854bf9d265c155f0d34d321c0e10607c1d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling only one such file per product can speed up the build
considerably.
Users can enable this behavior by setting Qt.core.combineMocOutput.
[ChangeLog] Introduced property Qt.core.combineMocOutput.
Change-Id: Ib6939a2ab194670303abc57e9b24b6f8d243f0a0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We spent an inordinate amount of resources on scanning and collecting
system headers, of which there are a lot and which typically do not
change in a relevant way. Make this behavior opt-in.
========== Performance data for Rule Execution ==========
Old instruction count: 4331820265
New instruction count: 2557300533
Relative change: -41 %
Old peak memory usage: 18892592 Bytes
New peak memory usage: 16887880 Bytes
Relative change: -11 %
========== Performance data for Null Build ==========
Old instruction count: 521956733
New instruction count: 443021349
Relative change: -16 %
Old peak memory usage: 12498888 Bytes
New peak memory usage: 11186984 Bytes
Relative change: -11 %
[ChangeLog] Introduced cpp.treatSystemHeadersAsDependencies
Change-Id: Iae9d9ca63852fb38a68e8dd2cc10b512eafe15e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\
| |
| |
| | |
Change-Id: I60317a888384aef68e887a0cd5fd58dd57ea10de
|
| |
| |
| |
| |
| | |
Change-Id: Ie80e267263a59458862cfcfb54394b702e201d28
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It used to be the product source directory, but that is unintuitive and
usually not what the user wants when groups are pulled in from other
files such as modules.
Also add documentation for this, which was missing altogether.
[ChangeLog] The base directory for source files changed from the product
source directory to the parent directory of the file where the files are
listed.
Task-number: QBS-849
Change-Id: Ia424eab52adba8b3aed1e482a0e081fa35fb6429
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows to ensure that custom (user) locations come before
canonical shared locations of a particular distribution like
MacPorts (/opt/local/include) or FreeBSD (/usr/local/include).
Change-Id: Ia37b28408312300a42ccc31c7532ffdaf49c1c51
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
As long as projects do not have unique names it required to change
identification of the restored probes. They used product id before.
Now they use combination of item id and file path.
This also led to a requirement of non-empty id for all probes.
Anyway probes are very rarely used without an id.
Task-number: QBS-1034
Change-Id: Ibe462a3c0abfd9925f441d722b19cea1bcde3ee2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Ia2f48518a4a78070a05a494c46debc8903308fa2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-1056
Change-Id: Id9c0031c3b8cdbffdb3a67a9545a0e67b9dda508
Reviewed-by: Denis Klychkov <kd.snake@gmail.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1063
Change-Id: Ic3ffc3125dac884324c9439861857c56d27a9716
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog] Add support for building Inno Setup packages
Task-number: QBS-936
Change-Id: I4cc8e2b39ad93a7aa307a38d88e3f61687c8d364
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default value "undefined" tells the qrc file generator to use
only the input file name as a resource alias.
The benefits of changing the default value are as follows:
1) It's a bit weird to reset a normal value to undefined in qbs code.
2) This simplifies feature usage for output Artifacts and single files.
3) If one wants to put a hierarchical structure into a qrc file
there are a lot of cases in which they have to specify
resourceSourceBase manually.
4) When a Group with a wildcard and a prefix is used this makes user's
intention a bit clearer. This strongly separates "I want this set of
files" from "I want this directory structure".
Task-number: QBS-1053
Change-Id: Ib6413643398dca475b4b71ad884202c9e7fb823a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-1043
Change-Id: I5f537f148792b0e2647d08d6e8004d79ae402f07
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the value of this property was taken only from the first
input. That value became the only prefix for the whole qrc file.
Now every unique value of resourcePrefix generates new <qresource> tag
with the corresponding prefix.
Change-Id: I2177b3bc38085014c41107225bcb4bd4c51ba58b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Let fileName contain the file name and filePath the file path like
everywhere else.
[ChangeLog] In Scanner items input.fileName now contains a file name,
and input.filePath contains the file path.
Change-Id: I3abc01989c56940df935047db56055936b3ab224
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Users should be able to "opt out" of values inserted by modules outside
their control.
Change-Id: I4f641b50ea203054759453402fa1e1795f6df4dd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Tags should behave the same as module properties in that respect.
Change-Id: I5cbfde9c2cf90eef93feef0a8ffd894309341577
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
[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>
|
|
|
|
|
|
|
| |
[ChangeLog] Added support for QtScxml module.
Change-Id: I1ad8d51a3d9532d4a24270e4cc13f26f51620b07
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ie98233d955f3695da0b20069fb2317931e353e4e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Id711e244f207d6c4f08e240ef4c033f344b530fc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Ic2903bf480a73ff8644ea6f6af2aadb419af40e4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|