| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Offers a JSON-based API for interaction with other tools via stdin/
stdout.
This allows for proper qbs support in IDEs that do not use Qt or even
C++.
Change-Id: Ib051a40b7ebe1c6e0c3147cca9bd96e7daec1fde
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now it is possible to generate a native projects for the
IAR Embedded Workbench IDE, e.g. using the following command:
qbs generate -g iarew8 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid IAR EW QBS profile, from which the generator take
a desired target architecture and other stuff.
The IAR EW generator has a semi-intelligent logic, it parses a source
QBS project and converts a compiler flags and other stuff to an
appropriate configurations of the native IAR EW project.
Currently it is supported only one 'iarew8' generator which allow to
generate a projects for the IAR EW for ARM for all versions of 8 series.
Tested with the IAR EW for ARM v8.20, v8.32, v8.40, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I2aa24d5a635f1f5a0e645bec8c30053e960d90a3
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a basic support for the SDCC compiler:
* http://sdcc.sourceforge.net/
As this compiler support multiple architectures, then it is impossible
to uniquely identify the current architecture by dumping of the
pre-defined macros (because its content depends on a target flag). In
this case the cpp.architecture will contains a default architecture
(which is dumped with an omitted target flag).
To use it with Qt Creator, it is enough to add there a desired Kit
with a custom SDCC C/C++ compiler, and then set the following in the
Kit's Qbs profile settings:
* Key: qbs.toolchainType
* Value: sdcc
To create the SDCC profile it is enougth to use the following
command:
qbs setup-toolchains --type sdcc <path/to/sdcc/compiler/binary> <profile
name>
A toolchain type can be omitted; in this case the QBS will
tries to detect the toolchain type from the specified compiler
name.
Also it is possible to auto-detect the SDCC toolchain from the
PATH environment using the following command:
qbs setup-toolchain --detect
At current time are supported only the 8051 (aka MCS51) architecture;
other architectures can be added later.
Change-Id: I8cc239d62e35472ab667e054a64a1e59c2d548bd
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... from the qbs console using the 'setup-toolchains' command.
To create the KEIL profile it is enougth to use the following
command:
qbs setup-toolchains --type keil <path/to/keil/compiler/binary>
<profile name>
A toolchain type can be omitted; in this case the QBS will
tries to detect the toolchain type from the specified compiler
name.
Also it is possible to auto-detect the KEIL toolchain from the
PATH environment using the following command:
qbs setup-toolchain --detect
At current time are supported the following KEIL toolchains:
* for 8051
* for ARM
Change-Id: I80241866c3ec49a4294d896c70b65b75a2341a2a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... from the qbs console using the 'setup-toolchains' command.
To create the IAR profile it is enougth to use the following
command:
qbs setup-toolchains --type iar <path/to/iar/compiler/binary> <profile name>
A toolchain type can be omitted; in this case the QBS will
tries to detect the toolchain type from the specified compiler
name.
Also it is possible to auto-detect the IAR toolchain from the
PATH environment using the following command:
qbs setup-toolchain --detect
At current time are supported the following IAR toolchains:
* for 8051
* for ARM
* for AVR
Change-Id: I5cdc406e475da7c6649427138b8852239012dbea
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Should work with all console types.
Fixes: QBS-1407
Change-Id: I5144469d70d79a263f9960092abda9a3d83462a1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This probably worked, because 'jobs' is included right above
'job-limits'.
Change-Id: I5d1ca711469f4f39bbd7fa86c78f888792b1a7cf
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Apparently, the name of a snippet identifier cannot have the name of
another snippet identifier as a substring.
Change-Id: Ic82a26f3e05daa627f2de36d330e31216cf0a76e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1245
Change-Id: I996bb44a1db9aae71ef42bca87265371de951272
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1245
Change-Id: I470a629312b1c65ea9e51c603607c486115a304c
Reviewed-by: Christian Kandeler <christian.kandeler@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>
|
|
Each command is described on a separate page.
Option and parameter descriptions are fetched from include files.
\group and \ingroup commands are used to create a table that
shows the CLI commands and short descriptions (from \brief commands).
Task-number: QBS-947
Change-Id: I956c0e029f87e98162e03206a79baef604f1d55e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|