| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Idbb8b86d2630cd1852fca6792e7795a8a8df490e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of now, a newly deprecated property leads to users getting bombarded
with warnings, even though they did not yet have a chance to adapt their
project.
Now the warnings appear by default one minor version before removal,
which together with our convention of keeping deprecated properties for
at least two minor versions gives users enough time to adapt without
getting spammed.
There is also a mode for switching to the previous behavior (for early
detection), as well as the possibility to trigger errors instead of
warnings, which should be helpful in CI configurations.
To support the case where the user cannot do anything about them, the
warnings can also be suppressed altogether.
Change-Id: I295f816758f0f111fcb0351581a4328be3af5668
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a dependency is not found, we now search for a matching module
provider that can generate one for us.
We also provide a generic fall-back provider which uses pkg-config to
locate the dependency (but could be extended to incorporate other
methods in the future). This is the most important part of this change
for practical purposes, as it makes hundreds of popular libraries
available for use in qbs projects without users having to write any
boilerplate code.
In a future patch, a module provider could also be used to implement the
functionality of the qtprofilesetup library, relieving users of the need
to create a profile for building Qt applications.
[ChangeLog] The Depends item now falls back to pkg-config to locate
dependencies whose names do not correspond to a qbs module.
Fixes: QBS-1107
Change-Id: Ifd4f05c237cf58cd9fe707c3da648d3dbb33e82b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commands can now be assigned to an arbitrary job pool and a limit for
the number of concurrently running jobs in such pools can be provided in
a number of ways:
- via the build command line: qbs --job-limits linker:1
- via the settings: qbs config preferences.jobLimit.linker 1
- in a project file: JobLimit {
jobPool: "linker";
jobCount: 1
}
We provide two job pools ourselves with the cpp module: "compiler" and
"linker".
[ChangeLog] Added the concept of job pools for limiting concurrent
execution of commands by type
Task-number: QBS-743
Change-Id: Ib3f361dbc73093e342bf0eba0daf2079a2b3a8ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Required by follow-up commit.
[ChangeLog] The Module.setupRunEnvironment script now has a new parameter
"config". Users can set it via the --setup-run-env-config option of the
run command.
Change-Id: I1be57fcff5321874cf3dcf4fb3a7ef7d6f69a8a5
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This option was supported in a very hacky way by attaching it to the
"build" command, where it does not belong. Add a dedicated command
instead and support the option variant in the same way as we do for
--help.
Change-Id: Ib8f1a0e44f9ae669093f059c86518138df510bc3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
It hasn't been in use for a while now.
Change-Id: I85c22d44309727ee458414cad0fb42c312030a9b
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By using q<lowercase>.h headers, we become more bootstrap-friendly, as no
full syncqt is required any more.
In the same go, prefix all includes with the module name. This helps
grep-based analysis of which parts of Qt are used and where. It's also
consistent with Qt's public headers (where syncqt enforces the style).
Testdata and examples are excluded from the change, as they are not
relevant for bootstrapping.
Change-Id: I9539b1d795e87fca6e5fc6c91acbb775b79208d9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Patch-set 1 includes *.h
Every source file needs to have up-to-date license
headers in order to pass ci.
Change-Id: Ib6cf3ac47dfba6dff262fded44bc952aef3bda8b
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows multiple qbs processes competing for the same configuration
instance to be launched simultaneously, and the inactive instances will
wait indefinitely for the lock file to be released.
This is primarily intended for use by the IDE generator plugins like
Visual Studio where the "Build Solution" command builds all projects in
the solution in parallel (and this cannot be disabled).
Change-Id: I13c37a21dd8386e3dfdab1f769b8242bfcfc2e45
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures that a successful build cannot complete without all output
artifacts of all rules and transformers in the project existing (unless
they are marked alwaysUpdated: false).
This is undesirable to enable by default due to the potential overhead,
but can be a useful debugging tool and so is provided as an option.
Change-Id: I46ee49e28cc06d5aff9a3cfd520f929fef4de3f8
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The differentiation between "remove all artifacts" and "remove only non-
target artifacts" was probably introduced originally to allow people to
save space in their build directory while still being able to run their
project from there. However, people can (and should) simply install
their project in that case, which is the default anyway these days.
So now "qbs clean" does what "qbs clean --all-artifacts" used to do.
Change-Id: Id307bee9c2605a22e3f42669df298a1ba20b393b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
"qbs --version" prints the qbs version and exits.
--version is an option of the default command, "qbs build".
Change-Id: I0f02a77096199e67ec716d2f57bb85d439517e2b
Task-number: QBS-790
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
This allows users to hide command output entirely without changing the
logging level. It is also used by the generator command to hide the dry
run command "executions" it performs when creating the build graph for
project generation.
Change-Id: I27a64c8138521001f5b62473b4a3b4ff46d8ba25
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
More generally, a plugin-based API to support performing arbitrary
operations producing some output given a resolved qbs project.
Task-number: QBS-658
Change-Id: I5c0c3652520ec17e751ad9980bc186dde58e48d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/reference/jsextensions/jsextensions-general.qdoc
src/lib/corelib/language/evaluatorscriptclass.cpp
src/lib/corelib/language/evaluatorscriptclass.h
Change-Id: Ic9b77b56e8fc8bf93e0a553930757de8c93fed22
|
| |
| |
| |
| |
| | |
Change-Id: I092fca9f950de1ba38826c33b155f86feae2770b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is useful for e.g. "packaging products" that work
on the contents of installation folders. For this purpose,
we also expose the install root as a property in the qbs
module.
Opt-out is available, and the "install" command still works.
Change-Id: I346a8e6d19fc24b38660201b1f6fa510acc6676c
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With "qbs build --show-command-lines" one can suppress
command descriptions and show actual command lines instead.
Change-Id: I98328254bad7fb85036abb0525c5ad7e734110c7
Task-number: QBS-615
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qbs_version.pri
version.js
Change-Id: I645b2f37bae9d36d4bca54b267d57df8b0b7fd21
|
| |
| |
| |
| |
| |
| |
| | |
Add LGPLv3 option.
Change-Id: I8a63ad5e46a2701032b2103f791df4dec5b707e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|/
|
|
|
|
|
|
| |
This feature can be used to implement "action targets".
Task-number: QBS-262
Change-Id: I3669786aa722ba294ca75735f5afefc0c509e1cf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-509
Change-Id: I4ad32c648121068880d652e3ba39d4eea59dfbc3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\
| |
| |
| | |
Change-Id: Iccf01f1dad3fca4a78c7d9b795fdef6df0181e9b
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ib7f9a00bb891fa39c5bc1f891ddbfba1e4d23227
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|/
|
|
|
|
|
|
|
| |
Also supports changing the default build directory ('.') using the
'preferences.defaultBuildDirectory' property.
Task-number: QBS-462
Change-Id: Id3d05d2f5b14197bd3af2e7f9d55bdd263809716
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
Give users the possibility to force qbs to read the physical
timestamps instead of using the stored timestamps.
Task-number: QBS-303
Change-Id: I6010515b5e8f97ec0b91069cbc7d8a1b0931dce5
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QBS-310
Change-Id: I22139a8c537ded6553f9dc326bb202b1b871c0ee
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This is an interesting information that people might want independently
of debugging output.
Change-Id: I4a1e3c31cfce6546b43bd2f5f343bf297d764a42
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Useful for overriding certain sanity checks. No use case implemented
yet.
Change-Id: I10df8fbfde9b293832298fa27fc6fd4955dd9a44
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This decouples building and installing, e.g. allowing
the latter to be executed by a privileged user
to a system-wide directory.
In addition, the ability to install build artifacts
(typically executables or libraries) has been added.
Change-Id: I28e725e4c1168eebe88e12c75e3d3e9f5fe28ca5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QBS-109
Change-Id: I20e4f8587f880a33de594488bb189649aadaec89
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
It's not feasible to document all commands and options
correctly in one help screen. Instead, we now have a main
help screen listing all possible commands and one dedicated
help screen for every command.
The more thorough and precise help output goes hand in hand
with fixing a number of parsing bugs and underspecified
commands. This, in turn, necessitated a refactoring of
the command line parser, which is now much more modular.
Change-Id: Id18f8c609d7d4a797a06598c3df4bc9ba02c9615
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|