| 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 iarew7 -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 'iarew7' generator which allow to
generate a projects for the IAR EW for MSP430 for all versions of 7 series.
Tested with the IAR EW for MSP430 v7.12.4, using as the QBS
bare-metal examples, and as other projects.
Change-Id: Ic0bbc82e6ebb3b04bced639797976e432809171f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic9ee11d628ba278271517aae0af020aec28ecbf7
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... when redirecting process output. Only do that if there is an output
filter function. Otherwise, we break redirection of binary data.
Fixes: QBS-1488
Change-Id: Ic5a1d2653fa8fc9c4f0eb5d31b7315d7aba3e030
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Right now it is possible to generate a native projects for the
KEIL UVision IDE, e.g. using the following command:
qbs generate -g keiluv5 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile>
We need in a valid KEIL QBS profile, from which the generator take
a desired target architecture and other stuff.
The KEIL UV 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 KEIL UVsion project.
Currently it is supported only one 'keiluv5' generator which allow to
generate a projects for the KEIL UVision v5 for ARM architecture.
Tested with the KEIL UVision v5.23 for ARM, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I3af9d01f25a9570a99a62d4ce2c30fec3566b9a1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes compiler warnings about hidden virtual functions in derived classes
Change-Id: I3b53d07263f66133a41353eb6cfe05e1f3b20cc3
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is about clang in "mingw mode", not clang-cl.
When targeting Windows, clang is a lot like mingw, so factor out the
common parts into a new base module.
Testing uncovered a number of invalid assumptions in our autotests,
which are also fixed in this patch. In addition, minor adjustments had
to be made to the Qt.core module and to the qbscore lib.
Change-Id: I73085dc62a65e2a9d0397cf234c8641989246f22
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ib40a6fb77dfb1653910e802276571fc5dcea4d64
|
| |
| |
| |
| |
| | |
Change-Id: I90cece156033b5d223a86016401a2199f5b6c11e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I906f63236230f10e6bdfb16ef3ee25cee8c407f6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QBS-1454
Change-Id: I6e2514d10cca0cba0a14456ecd2abfb495539ee4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 iarew3 -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 'iarew3' generator which allow to
generate a projects for the IAR EW for STM8 for all versions of 3 series.
Tested with the IAR EW for STM8 v3.11.1, using as the QBS
bare-metal examples, and as other projects.
Change-Id: I47880d62cd1e81ed7bbfba840a5af0c558065013
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Common code which are used for the 'iarew' and 'keiluv'
generators was moved to the corelib/generators library.
Besides, this code also can be used in future for the
XML-based generators.
Change-Id: I79a21e3e078d563600d7f365785731fe9e847045
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic632b377bf10e2b320956011e9a7d4eea99f560b
|
| |
| |
| |
| |
| | |
Change-Id: Iff45f56fc91f3d513440a3e2aaf519a7aa0f7744
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I2796d53ca36ce90977f0a09ca5db089d8c85bd4e
|
| |
| |
| |
| |
| | |
Change-Id: If6671dd7c7a68ac3e1728fcb1790e6abf7c0b019
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As far as I can see, this shouldn't happen, but let's prevent a crash at
least in case it does.
Task-number: QTCREATORBUG-22539
Change-Id: I4bd36364ca3f8bb8cdbe445e5b14037758b1e1fc
Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
| |
This is useful in case we have installed a multiple toolchain
versions.
Change-Id: Ia6d5fa1be16199d5e5f1eea8a077fcb885ba42e6
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: Idab53d6bd9b6f2841e30d4a31f53ac53a05c2f09
|
| |
| |
| |
| |
| |
| | |
Fixes: QBS-1451
Change-Id: I644835cf8ce18d546e6c8e2c75f689766456555d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
| |
| |
| |
| |
| | |
Change-Id: I5b7a8927162821042ac0190fedac2ea14fc24223
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Some of them are false positives, some of them are possible bugs.
Change-Id: Ic9c8a2970587e5152659b5b19f6b6d6df67e6809
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic8e80604deb03e48fe264271de2e0add5023af87
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When re-resolving a project with an existing in-memory build graph, we
must make sure that the old project object does not remove the generated
modules from the build directory in its destructor.
This fixes the following bug in Qt Creator:
- Open a project initially (but do not build).
- Edit the project file and re-resolve.
- Build the project. This now fails, because the generated modules
were erroneously removed in step 2.
Change-Id: If6c1c1ed986e8f00e4d89ba5525bac7e032388d9
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Amends commit f4f443a16a342300638d364175cf2958279cf23f.
Change-Id: Ied9bd9188e719657228a53b7a7f1baca86c1bd71
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Linux file systems are case-sensitive while Windows file systems are
usually not. That results in build errors when includes or libraries
are incorrectly cased. Such errors wouldn't be noticed on Windows,
but only when cross-building Qbs with MinGW on Linux.
Change-Id: I3a340f907deaaf75b91369330d35918d70de56ca
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It appears, that destruction of complex QHashes/QLists took a bit time
in refcounts. Optimize them by using std::unordered_map and std::vector
instead. Plus, make structure simplier, instead of 2 hashes, use pair as
a key.
qbs::Internal::ProjectBuildData::~ProjectBuildData()
Before: 11.00 ms 0.1%
After: 6.00 ms 0.0%
Change-Id: I82d8bec5a465210cfa54762088f47c606c0e48e5
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Makes clang-tidy happier
Change-Id: Ic29b552572719ea58c7ad385cc6e1d68cef9eedc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Makes clang-tidy happier
Change-Id: I75f3b6409b425b9a7054d7886ab0160a040b25d5
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QLists were used with types that bigger than sizeof(void*) which lead to
extra allocations
Change-Id: Id716c6b4919f9a0ad62e1d2972319a600785afc5
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Makes the Ir event count go from ~8.28 billion to ~8.12 for a
Qt Creator null build.
Change-Id: I02714cd922fd9d42abe67e5115e3ffd64778f77a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Is:
text data bss dec hex filename
11490 8 0 11498 2cea itempool.o
Was:
text data bss dec hex filename
12425 8 0 12433 3091 itempool.o-orig
Also, less symbols.
Change-Id: I6f90b126933f5fa6d00f5e1097faaa4276613a6a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic02d717f80f5d831f0cedb3b7c565a9bfef3a2a3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems, that QSettings is not working properly with SystemScope on
Macos (QTBUG-21062). QSettings::fileName returns a path to a file in a
test directory, not in "/Library/Application Support" as expected. Thus,
canWriteToSystemSettings is true and test fails when real qbs binary
tries to write to the /Library... location
Change-Id: I726360a1daacf4871f944f5afe30089083283dce
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ic885bba12107b2a9f116dd8a33f1cad12ced1764
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This makes move ctors and destructor trivial
Change-Id: Ifee00b7526fd1564fcf01f799230997f929b29db
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I6619817f8c87e9f643f7f1b6d2851799de439782
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6a20f4475b52858f79c98b5ce3dd088aac7bc46e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Missing override is a warning in clang
Change-Id: I90b899df37e690aebb942bffc65db54d9aa4050f
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes most of clang analyzer warnings about uninitialized variables
in ctors
Change-Id: I879c785594307ed3fe7140588338a6b2a1e4db65
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Qt Creator uses non-latin letters in path to the build directory in case
of ru_RU.UTF-8 $LANG on Linux. Now QBS does handle that correctly.
Change-Id: Ifc727b120a5f0ee60972c5e3ed24067426db8df2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-1316
Change-Id: Ibf9da364610c260ead088a8990a70c7739d53c39
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I0678ef8cf6f81489914e79be903ca4d4c1cebada
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The version number for recent MSVC2017 installation has changed to the
format \d+\.\d+\.\d+\.\d+ and the second number is not guaranteed to be
a zero.
Change-Id: I13728d2a5ea3162c3ff29558757cd576a83f4983
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
None of them really necessary or even desirable to fix, but...
tools/launcherinterface.cpp:114:80: warning: ‘void QProcess::finished(int)’ is deprecated:
Use QProcess::finished(int, QProcess::ExitStatus) instead [-Wdeprecated-declarations]
api/projectdata.cpp: In function ‘QString qbs::mapToString(const QVariantMap&, const QString&)’:
api/projectdata.cpp:882:15: warning: ‘void qSort(Container&) [with Container = QStringList]’
is deprecated: Use std::sort [-Wdeprecated-declarations]
parser/qmljsparser.cpp: In member function ‘void QbsQmlJS::Parser::reallocateStack()’:
parser/qmljsparser.cpp:72:104: warning: ‘void* realloc(void*, size_t)’ moving an object of non-trivially copyable type ‘class QStringRef’; use ‘new’ and ‘delete’ instead [-Wclass-memaccess]
etc.
The QStringRef is the only one theoretically applicable, but isn't in
practice given the current implementation.
Change-Id: Idb2a03e3fd096b6ad428615f81266f952d2a8d95
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Don't move into reference. Amends 936eee744d.
Change-Id: I7fa4e32f2d9f340f881cc746b74a752f81d34918
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This fixes -Wmodernize-pass-by-value
Change-Id: I85a732867866e43c39c1d77937fbc645433c96bd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
| |
This fixes -Wclazy-range-loop
Change-Id: I08a435b700017cdbe27fbfdbda6e26840d9a3568
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
|