| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
If the property IS defined, it still must be in [big, little, mixed].
Change-Id: I77d64580d1dcce8ad027500ee8e394bf05d3d961
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
| |
Change-Id: Ie8f2226c7d9fe69e6c3842bbace8942674c6a959
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
As a side effect, some capabilities introduced here also apply to XIBs.
Task-number: QBS-466
Change-Id: I27eaf1a9a73ef25475b4f6b2bc971dcd941b6371
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-389
Change-Id: I2d93a55228c6ada801ed889404fac753182b82f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example:
outputArtifacts: {
return [{
fileTags: "blubb",
filePath: "x",
cpp: {
includePaths: "mydir"
defines: ["BLA", "BLUBB"]
}
}]
}
Task-number: QBS-646
Change-Id: I3defa656e1a5b10fe56e4bbba7c354612144552c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-493
Change-Id: Ie6e4a00f672ce4305f03e00ec0b0b7ebcbd942c3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the functionality that allows callers to add files to groups
etc. Unfortunately, the QML/JS rewriter we use for this purpose pulls in
the Qt GUI module, which results in unnecessary library dependencies if
one only wants to use the command-line frontend. Therefore, allow this
feature to be compiled out.
Task-number: QBS-565
Change-Id: Ic134ff9cf37bd552ad493b388c05bcece983fd65
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Missing file dependencies (e.g. header files that are not part of the
project) must trigger a rebuild their dependents.
Change-Id: I502e696d886c86a503e8950ae60254075f7e9415
Task-number: QBS-631
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Artifacts must be invalidated if a dependency is removed.
Consider a foo.cpp that includes bar.h. If bar.h is removed from the
project, then we must recompile foo.cpp to trigger the compile error
that stems from the wrong include.
Change-Id: Ifc2bc3085be553f87685a17c5ff05273daa6579c
Task-number: QBS-631
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We kept lists of added and removed artifacts in ProductBuildData. It was
never quite clear when to invalidate those lists, which led to QBS-635.
Instead we let the RuleNode decide which artifacts it considers as
"added or removed for this rule".
Task-number: QBS-635
Change-Id: I390e0ab775c695045c6e91ade3ac7326692cb314
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
This property is special: We cannot just test for relevance by
checking whether it is used in any transformers, because changing
it can cause new transformers to get pulled in.
Task-number: QBS-650
Change-Id: If18495b47c7238fc8a1256146f4e935ce9655b18
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
The code path where this is relevant has apparently never been taken, so
add an autotest as well (and fix the wording of the error message).
Change-Id: I314f1cb888264d30920a58f4e9cbbbf01fbcc4e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
The locking is not implemented there, so we actually expect a failure in
that case.
Change-Id: Ie70aa2318915223b968f78015a796dcd390fb1c5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
When re-resolving an existing project, the build graph already
exists in memory and does not have to be read from disk.
Change-Id: Icf5cf7396a859d4ee1c495b8cc4fa7a1ee61ff1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
This property is actually a file path, not a mere name.
Task-number: QBS-579
Change-Id: I04e8f03eac97b5f86fe743a4923888a3d2a82c5d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So that two qbs instances can't overwrite each other's
build graphs. In practice, this is probably most relevant
for IDEs, as these hold a build graph for potentially long
periods of time.
Facilitates QLockFile that was introduced in Qt 5.1. For older
Qt versions, no locking happens.
Task-number: QBS-162
Change-Id: Ib598617fb1742eb57b6a017f40b9631d1d54e627
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Using this item, building a Qt gui app against a static Qt
will work out of the box.
Also add the less useful QtApplication for completeness.
Change-Id: Idca1dbd3085659ebaf563f7df89f73b9daaf7001
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Don't use a special Settings shared pointer.
This simplifies the code a lot.
Change-Id: I974cf9634d1760633744b1ed3cc18a9458ae2caf
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It just means that no dependency should be pulled in by this item.
Useful for this kind of thing:
Product {
Depends {
name: "Qt"
submodules: theQtSubModulesINeed
}
property stringList theQtSubModulesIneed // Can be empty.
}
Change-Id: I8e500c3acfa4374be9005fcf349c0417ad47a76e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Use case 1: Build product A for architecture X and product B
for architecture Y (e.g. host tools vs target libraries).
Use case 2: Build product A for architectures X and Y and
product B only for architecture X (e.g. Android
multi-arch packages).
Change-Id: I2eb721c37cdd12c298ee12bad60e21e94b04676b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\
| |
| |
| | |
Change-Id: I9d5874b3867d3b366e418ae101c25b518053b00a
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-622
Change-Id: I080cff88ffa91fcb55ff8340847b684901ada44b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Even slower machines have appeared.
Task-number: QBS-628
Change-Id: I1e54a50265db4ef924d83e3485f8681fe3452480
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We create these directories when we create the artifacts, so we have to
remove them when the artifacts are removed.
For safety, we do not do that for artifacts located outside of the build
directory.
Task-number: QBS-630
Change-Id: I4da91a2b940ddea6837cb881bf3dc777b71fe702
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-633
Change-Id: I4bf750ff94d6fae38fb3fdb49de265caddcd789e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-630
Change-Id: Ib69c541a6c1e228b1ad3c06da51d905194ed10d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-635
Change-Id: I30dc4b0694efa0417d340a75368b3af1eb117daa
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I6319c2fad4c5aaa81d6942d111663d93951bc18a
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Those were broken by 1074c99e.
Change-Id: Ia2b847d938985f21c8f60bb50fd3f91ffdf02b7b
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\|
| |
| |
| | |
Change-Id: Ic33a2440fae27b4ada5b950f3a411916e8ac17f7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Windows the CR characters that were in stdout/stderr led to
very unclean output on the console and in Qt Creator.
We're removing those in the runQbs method now.
Change-Id: I4bef7bb7221bd6f656e5e7480c7a3e0e7ddb44fb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The error message will contain '/bin/ls' and not just 'ls' unlike on
Windows. The test now understands regular expressions.
Change-Id: Ib37201744d192d6cd53c350107985532c3633532
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I603430421156e4d23451a7a4ba0f884d6556f89a
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise some command might clutter the user's current
working dir.
Task-number: QBS-607
Change-Id: Id263481d1a615b9c66753e11b271441d4bd004b1
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not add bool to string, and fix the output file names of
the custom-plus rule.
Change-Id: If5fec2adc43dcf9639c3fd56c5d84693f3d6bc78
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QBS-604
Change-Id: I028193ad6c5e0bfb4755290ffcd48fe108f6d2b1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set cpp.entryPoint to specify the entry point symbol for an
executable or dynamic library.
Task-number: QBS-602
Change-Id: I83e7c13b4ab7675a1cfa0cc8a2234cba0f850b3d
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows non-multiplex rules with only "usings" and no "inputs" to
work as expected, that is they create one transformer per "usings"
element.
Change-Id: Iba5144f81b082043878f3eefc111846b6d05646a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was broken for the case of a product with no existing binding, even
accessing a null pointer. This is also covered by the autotest now.
Change-Id: I088dbac08627b08f903dbe77bd824997592adb09
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I2b52a0ef469fd3faa036556babed20300837606d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The "main" symbol seems to lose its magic if it comes from a library, so
tell the linker where the entry point is. For this purpose, use C
instead of C++, so we won't have to deal with name mangling.
Change-Id: Ia2c0714431a1b54ebcbba3d13851d4cfcf9a6c3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This way, the settings become available for use in the qbs library,
which means it can, for instance, expand the build configuration itself
instead of putting this burden onto the API callers.
Change-Id: I09e6067990ac2b7c2238951f9759fe52dc51b6f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This enables compound products that do not provide their own source
files but only consist of dependencies.
Task-number: QBS-277
Change-Id: I8e3fc5b5e3a85ca2c6fe4890dcd52d3a55cebfe2
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I0154138ca2db91ce5ff04a109fb7e71af1b37c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ever since we introduced "overridden values", the setter for
the build configuration has been pretty much an empty shell, containing
only the build variant and the profile. We now make that explicit,
resulting in a less confusing API that does not expect the caller to
know how to encode profile and build variant information in a QVariantMap.
Change-Id: I60183fc1884a884c9ceba34d7eb460c261be47ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: I20fc0abcd4c6fa4bfb908d981399f75d50179e97
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recursive dependency scanners, like the C include file scanner,
must be fed with file dependencies they've found.
Task-number: QBS-566
Change-Id: I68a8e4a5cbb771ed2785ca69412a3b4c4e280eb2
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
narf.cpp includes awesome.h
awesome.h includes magnificent.h
awesome.h and magnificent.h are not listed in the project.
Changing magnificent.h must trigger a rebuild of narf.cpp.
Task-number: QBS-566
Change-Id: Ib2df45ac550951b550ce4ba0e7519268d9123eda
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I6e1ef671dbced5d484712b233bf8a7d0f7ca1829
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Discard any Group with the same fileTagsFilter that was defined in
a base file.
Task-number: QBS-424
Change-Id: I51f0c317f36ae953cc3e777ed4e5426c9b6ddc9d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|