| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This bug was fixed somewhat accidentally, so make sure it can't creep
back in.
Task-number: QBS-559
Change-Id: I3f85676f77cbc50b67f226810137860a7733fc6b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiplex rules now always see all inputs they're interested in and not
only the compatible inputs that are out of date.
Also, we do not need to re-use transformers, because that's a fruitless
optimization attempt that complicated the code.
Eventually, we're able to remove the hard-to-grasp "regenerating
transformer" block.
Task-number: QBS-645
Change-Id: I86dd307ee6ffa95baddd4e49307f0c1816e29901
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
| |
Task-number: QBS-645
Change-Id: Ib14533084c575d91cc937ca1f7e05145c06b108f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
|
| |
On Windows, QFile::copy does not update the timestamp on the target
file.
This fixes the "projectInvalidation" API test on that OS.
Change-Id: I01c232de0f4e5e9bc5d2d28c24d5fb5516a58ca3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
We want to use it in the API tests too.
Change-Id: I8fad090ea98f67e50b7b2a8e3854c5b618172364
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I897d4743cefc4e70366c5599c5ba94aadfad70a3
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
|
|
|
|
|
|
|
| |
Namely, adding and removing files matched by patterns. This does not
seem to be explicitly tested anywhere yet.
Change-Id: I6d7b79500ee9e7375f22537da5db6a72057bbdee
Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
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 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>
|
|\|
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I95783a9ad57b7352b492a0b7712084b1bf6c1101
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
|\|
| |
| |
| | |
Change-Id: I0fb9bb82e951ef10737013886c2b893b5444bc6d
|
| |
| |
| |
| |
| |
| |
| |
| | |
That's more generic and adds a Probe usage to the test suite.
Change-Id: I022022f9c1d77d5508fbbe848ce56a73eb115185
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As a consequence product.name is evaluated very early and cannot depend
on module properties and such. Autotests that used product.name as
verification script had to be adjusted accordingly.
Task-number: QBS-393
Change-Id: I62ae1a92313af54d9eb15e88b7457388584f7556
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|