| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The assumption in the code that a value is always a JSSourceValue is not
(anymore?) true.
Change-Id: Ie1056913d4817776f5ce483f4fb0f60144cda9c6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
... with regards to handling dots in the profile name.
We don't allow dots to appear in profile names. setup-qt auto-replaces
them with hyphens, while setup-toolchains and setup-android did not. Now
they all do.
Fixes: QBS-1413
Change-Id: I567e07e64a5e18fe50ead700d3584d60da276dae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
There is no conflict if the same file is pulled in both as a target
artifact of a module and a normal source file.
Fixes: QBS-1416
Change-Id: Ic7467af5a8728ebb1540381c845ffc0f40e06a9c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I53f3af19efe5b2ae026285bb43d88314423a2400
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The default "platform toolset" is v141, while the VS major version is 15.
This case is now hardcoded, because I fail to see a pattern in this nonsense, sorry.
Task-number: QBS-1371
Change-Id: I69194a6cbbd072d364b13e69178363bd90632346
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Don't try to bundle libraries of Qt modules that don't have any.
Change-Id: I160d5b030db5ecbfa1b8eebb3babdc6ec7f41883
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
| |
Change-Id: Ie2ef3d8b281523525482094a5fc661155a6031ca
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
... for the case that it is run by a user with admin rights. We should
not expect failure in that case.
Change-Id: Ib045bf550dbedbfcaa3c38fc9f713a40541ddb61
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QBS-767
Change-Id: I5b00c7d13d59cc4f461b0806f22536e595c0a266
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This function is parameterized by build variant. It should only be
called if libraries for the respective build variant are present in the
Qt installation.
Change-Id: Ie43958c54e16bdfedf60a8c0339098eb8d694165
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
It's unnecessary and potentially harmful.
Change-Id: Iff5a9a52a7aeb518617104c5eaa41cfeededbea5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qtprofilesetup library contains a resource file with JavaScript
sources. Now if "CONFIG += qtquickcompiler" is set globally, as it
happens by default in Qt Creator, qmake believes that we want to compile
the js files, which leads to disaster.
Arguably, Qt should ignore the qtquickcompiler CONFIG value if the
product does not pull in QtQml, but until that happens, let's force-
disable the qtquickcompiler.
Fixes: QTCREATORBUG-21340
Change-Id: If4802277ab66b550b0c88e5678cadf59a32e68d2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
|
|
| |
E.g. Fedora provides "mingw-w64-g++".
Change-Id: Ife197baa8ddd1b364025056b1ec7895a0b60d5dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-1399
Change-Id: Icf2cf11cf50560cc2229240a592d477a39b69d7a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I55a5daf06dfc89a302914a3e3a0734540e2b401e
Reviewed-by: Alexander Jakobi <alex.jakobi@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: Iec49ba912161d5411a59440925dfd868a9c794fb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
It does not appear to serve a purpose, and it prevented deriving from
the Properties item.
Change-Id: Icf71e3358299ea7a0f697637967e65dd0fb9b743
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
Revision 17 dropped some architectures, revision 18 removed GCC.
We also missed some earlier changes to clang-related paths.
Change-Id: Ie2fa1891f7f4de28e18ea6caadce9eac964bb523
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QBS-1399
Change-Id: I52e93a1d80203337c9cedbc09386b0c6c5334f91
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If Qt was built with e.g. address sanitizing, then code linking against
it should also have it enabled. Otherwise applications will not run out
of the box.
Change-Id: I25360d72073499a10ba84d84a47e539f39baf318
Fixes: QBS-1387
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QBS-1388
Change-Id: I3d4dadcf9e16d839289960252a068e29058255cf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It does not appear to be necessary, and it can conflict with other
partial specializations.
Change-Id: Ia51d967d8610ac62a9c6ebe28847589c8eb77304
Fixes: QBS-1395
Reviewed-by: Vadim Zhukov <persgray@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This entails:
- Auto-detection: The Build Tools no longer have an entry in the
registry; use the vswhere tool instead.
- Unset the VSINSTALLDIR environment variable before calling the
vcvarsall.bat script, as this variable can confuse the msbuild.bat sub-
script if it is set.
- Look for the base include directory two levels above the directory
under which cl.exe is located.
Change-Id: Id8f7976e5f41015e59850d3ed68fa81b6ce701a2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: Ia162d7fb17e69e4d0c30678d0e2e3bf31418a711
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
| |
Change-Id: I0d218f415eedbfc75c2cf10877646f6831f38f89
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
One of the if-clauses was missing an else keyword.
Change-Id: Ibbc7946adedf82902748521b9c550759a4405d23
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I91586f7fbab2524f173e470d6846ecac3f5ce030
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
It could trigger on legal constructs. The patch amends 9c1aa4ece1.
Change-Id: I31eab78fdb58262f2e4935f4eebf4023e4a4adc0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If an artifact map is requested a second time, we need to update the set
of all tags if the artifacts map has changed in the meantime.
This fixes an assertion in the sanity checks.
Change-Id: Iacf8d4376c7a3a356428cc7eb508dbd22e945a8c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
| |
An artifact whose alwaysUpdated property is false does not need to exist
and is therefore not required to have a valid timestamp.
Change-Id: I642349c49a53e6e45d6b09d1acc87f4c9a0edae9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
One of the allocations was not exeception-safe.
Change-Id: Ib367f9f2e5e65d0813465d5dcbf9dc779418bdfc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... rather than product pointers. ExportedModule objects can be stored
in Transformers, which potentially outlive the referenced products.
Alternatively, we could update the product pointers during change
tracking, but that would be tedious and error-prone.
[ChangeLog] Fixed possible crash on storing a build graph after re-
resolving.
Change-Id: I09bcf638a17da410198524858eb4c1bda59bebcb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
| |
If safeConnect() returns false, we must not add that "child" to the list
of children added by scanners.
Change-Id: Icbb1b2d14d99f002e2370ee2bda25daafb0398b2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our code assumed that products with the same profile and the same
multiplex configuration would also evaluate a module's condition to the
same value, which is not true: Properties such as qbs.architecture,
which are commonly checked in module conditions, can be set in a product
item independently of multiplexing.
We now evaluate the module condition for every product. According to our
benchmarker, the slowdown is a very modest 2% and does not appear to
increase for larger projects.
This patch amends 08ce978733, which tried to address the same problem,
but succeeded only for a subset of the possible cases.
Change-Id: I992e0f0d5cf207949cf5d863f242b9476ecdfc05
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
It makes no sense to consider multiplexed variants of the same product.
Change-Id: I7ebee091264451dc587156a0c543932059ed9948
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I0243ca9cad9fcd5506a27b4b752f915633c9b493
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
| |
To be kept in sync for all upcoming commits.
Change-Id: I96e79bad9d98137dcf4ec90da6622e7058af6e24
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
It is unrealistic to cover all its possible uses via dedicated
properties.
Task-number: QBS-1018
Change-Id: Iacfb9617ef130255c35766f057c60be9f816bca2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We implicitely created a QByteArray with the file content without
passing the file size. This would result in copying the whole mmapped
file into memory, and potentially much more if there's no terminating
null byte.
Fix this by using QByteArray::fromRawData which we pass the correct file
size and which doesn't copy the data.
Task-number: QBS-1375
Change-Id: I35c4cceba64343550094c29298ff9b3617718dac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This is only relevant for relaxed mode (used by IDEs). We try hard not
to cause bogus subsequent errors in the first place (see cadb0864c9),
but in some edge cases we still run into them, and will drop them now.
Change-Id: I0a12086c29f9e9f6b647902eaaf634c8ea0a094d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
There can be additional content on a line of ldconfig output after the
colon.
Task-number: QBS-1372
Change-Id: Icb24f02951d323f00f8c3bd25f61021f3bf72839
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to invalidate a script if it accessed the artifacts map and that
map's keys are now different from what they were. However, that logic
was too coarse: All rules that run after the command will add new
artifacts, so such changes will be the norm, at least when the project
is built for the first time. As a result, some artifacts might get
rebuilt unnecessarily on the next qbs invocation.
The reason why we did it that way was that we needed to consider the
case where a script iterated over the elements of an artifacts map, e.g.
using a for..in loop. In such a case, we cannot know which part of the
map the code is interested in and the script needs to be re-run if the
keys change. This is now solved with the help of a QScriptClass, which
informs us if a script enumerates the keys. In all other cases, the
script only accesses well-known tags, so we only have to compare the
respective artifact lists and do not care about other keys getting added
or removed.
Change-Id: I182a50c34ece28f7ff3f7eba7a8f246e9b79b30e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
... when accessed from JavaScript. Due to the FileTag class being based
on Id, we sometimes get a different order of elements, leading to false
positives in change tracking.
Change-Id: Ie2f1a2e9a229fddcd479175323dded3a80bb02e5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
There is no reason to pay for the call to canonicalFilePath() if the
candidate is not an absolute path.
Change-Id: Ief39a72ef8967c1315fe6665e1b2795da168027e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1370
Change-Id: Ib541db1c783a6b7878d1712fd735dbb4779d2d96
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I3f2db0a0388c34dde148506b9081dbaaea03de25
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
All auxiliary inputs are guaranteed to be present when a rule's commands
run, so they must be added to TransformerData::inputs.
Change-Id: I4c58f567ab603868aae180d931225edf7f9dcbf9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: Ibb98b4a9166e3cd61fe9aacd0e6a5a2eb9eb7624
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I3577f425e40e1c19e5876e5d71f27455779a330e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
|
|
|
|
|
|
|
|
|
| |
...and add an assert that ensures that excluded inputs never appear in
the rule application.
Task-number: QBS-1171
Change-Id: Ia71c3224807bd9370f0d5048db45d6f9fb570fa1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|