| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SOFT ASSERT was triggered, because the Depends items in
Export/Module had the type ModuleInstance instead of ModuleParameters.
Move the assignment of that item type to ItemReaderASTVisitor instead of
adjusting it in the ModuleLoader, because this ensures that we don't
have to traverse prototypes in the adjustment procedure.
Task-number: QBS-1287
Change-Id: Ie1a1080d40b8bebe5c205f8b34298469cde5bd46
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parameters of Depends items within Export items were ignored.
Project {
Product {
name: "foo"
Export {
Depends { name: "dep"; cpp.link: false } // dep
}
}
Product {
name: "bar"
Depends { name: "foo" }
}
}
The instance of foo in bar has an Depends child depinst. The item
depinst was created by createChildInstances and is an empty item with
the prototype dep, which is the Depends item in foo's Export item.
Thus, extractParameters must look up properties in the deepest
prototype (dep), not in the Depends item itself (depinst).
Unfortunately, this fix triggers
SOFT ASSERT: varValue in ../../../../1.10/src/lib/corelib/language/evaluatorscriptclass.cpp:574
which will be fixed separately.
Task-number: QBS-1287
Change-Id: I56b5464aad2578bb5ddab2e831fc607d6634ac8d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I6a3222228f822b88d860b5036f459f1a732dc6ac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After adding an external file dependency, we would never remove it from
the global list again, meaning the look-up table would contain stale
entries if an external header file was moved around. Because we still
checked the status of the artifact-local list of dependencies, the
result was that in such a situation, the files including such a header
would get recompiled on every build.
[ChangeLog] Fixed constant rebuilding after moving an external header
file.
Task-number: QBS-1285
Change-Id: Id764da7485dd540f2ff64bcd890e43723f18e6cd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-1282
Change-Id: If15e1ad616c6ffcdc03f62d872c512fd52c844d3
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Users now get more friendly error messages when the SDK and/or NDK are
not installed.
Change-Id: Icfc438ed16b88aea190bf766ddc58b26b0512121
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Qt 5.10.1 makes changes that would require changes in the Qbs
documentation build. Since it doesn't make sense that changes
in Qt documentation configuration files affect Qbs documentation,
stop using Qt's macros file.
Change-Id: I12bad221dec7204eb2bbabced2cda2af9941315e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Dependencies must be merged before their dependents, because the merging
process for the former sets up data to be consumed by the merging
process for the latter.
Task-number: QBS-1275
Change-Id: Ide9146add79bf2b4fcf80d7ce95ac1d9d4ac20b2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
- Qt.phonon is special.
- QT_ARCH has bogus value on Windows.
Change-Id: I2f429463acb70a0871f9557c8124e980639e4698
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
| |
Prefix headers should follow precompiled headers on the gcc command
line. Testcase added.
Change-Id: I3dfba8cae9c894932acce5c0a67f16d7d072c94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Default-constructed GeneratableProjectData objects may be passed to
generator methods as placeholders (in the case of the Visual Studio
generator) and calling methods on such objects must not dereference
invalid iterators.
Task-number: QBS-1257
Change-Id: I1c2bfff015efc98cbfb66d02b497320429b6c6da
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I6a8ff3557bbaa5e38f3df0f4334e5d0331349565
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
| |
Apparently this is not declared in y.tab.h on all platforms
(such as Fedora).
Change-Id: I1ae92a8cd415afaa623a34ac7765eb44e5235320
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We only need to guarantee that the object file contents are equivalent
if we explicitly requested a reproducible build. This does NOT imply
that a non-reproducible build is *guaranteed* to produce different
object files. This is the case on Fedora systems as uncovered by that
platform's Qbs packagers.
Change-Id: I8e46610f08a8b0c2b59ff84da94e9529c030baba
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users can write "qbs.xyz" instead of "modules.qbs.xyz", but we only
applied that during module prototype loading, meaning that using that
syntax (and only that syntax) would not override values set in project
files, which was obviously quite confusing to users.
Now the two variants behave exactly the same.
Task-number: QBS-1244
Change-Id: Ie9c5de1ac42e33205b80335566e0721d61718947
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Only the values in Depends items of products had a scope, and that one
did not allow to access module instances.
Now the scope always is the surrounding item, which should be a sensible
one in all contexts.
Task-number: QBS-1253
Change-Id: Iedca2d98f82f71887373579f8e4dc91f057eded3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
| |
The names of environment variables are case-insensitive on Windows.
Convert them to upper case when handing out the environment, so that
users can count on the names being canonical.
Change-Id: Iba2ce768b7cd22270dd2d240d15fc1a78915e3a7
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
| |
Change-Id: I2de622c33e579b5d4a075aeb832ea0fec250a88a
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This partially reverts 193f3f02aa. The findOutput() function was really
supposed to take a file name. The fact that file paths could come in was
due to a subtle mis-use of JavaScript's String.replace() function, of
which you (absurdly) have to use the regex variant if you want to
replace more than one occurrence.
Task-number: QBS-1261
Change-Id: I8aa90e2c008c1acd7c4a9e445954d7a4d8f2234a
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...rather than leaving them undefined. This way, the string "undefined"
will not end up in file names.
It's safer to do it this way compared to checking for "undefined" in all
the places that could make use of the properties. Due to the semantics
of these properties, there is also no value in treating "undefined" in a
special way.
Task-number: QBS-1265
Change-Id: I6ce7626485baa284a6c782b513740f9d150e18c3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When loading a module file, we apply property overrides from profiles
and throw an error if ther profile sets a non-existing property on the
module.
This should only be done if that module file actually gets chosen to
represent the module. In the past, it was enough to check the item
condition, but this is no longer enough, because since commit 885bd2ec92
even module files with a matching condition might not get chosen because
another one has a higher priority.
This patch fixes the problem by delaying the check until we know the
chosen candidate and applying it only on that one.
We also improve the error message: There was no context given, so users
had no clue where the problem came from.
Change-Id: I9cb1b8ab118072e6be612c466552d9dd97796e8a
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
| |
Task-number: QBS-1256
Change-Id: I286327f8b33ecb72851551bbbf2108717a116b1a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Problem was uncovered by d08ce8f643, after which the Depends item used
for loading a module is no longer the original one from the prototype
(i.e. the one that got the id assigned by the AST visitor).
Task-number: QBS-1264
Change-Id: Id8bdf0cc903aaabfb3eaafc56445064ed49d1cd7
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
| |
The input to the look-up function is a relative file path, not
necessarily just a file name as the code assumed.
Task-number: QBS-1261
Change-Id: Iaad4629ea92f327edc3dca7f012d82a00669994f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
| |
Change-Id: I7a67b030c53badb8de86464a8392efdc7010dfed
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit aa1c500411 inadvertently changed the behavior for cases like
this:
DynamicLibrary {
property path inclPath: "."
Export { cpp.includePaths: [product.inclPath] }
}
Before that patch, the base dir for resolving the include path was the
exporting product, afterwards it was the importing one.
This patch restores the original behavior, which is the intended one.
Change-Id: I8a56cff1163e7fc87361b5ab5e9cbd527b53b79b
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
| |
Change-Id: Id9ec3f24a80a684b73aadaabd785488490c1feab
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
| |
Change-Id: If9d17164d623ff389b5b0a6b042f67dc70daf1ae
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This does not solve the whole problem of multiplex instance selection
generically, but at least solves the immediate issue of correctly
selecting the default instance for iOS apps, which is the application
instance which also has a bundle.content tag (if it is bundled).
Task-number: QBS-1207
Change-Id: Ibdefc85679be292c1f9c518ce1e8b15b689a13b5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I7b8a3f0a05a4af793c8ded6de9642184c15fc331
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
| |
This was fixed before in 8176a4d419 and broken again in 72eedbb0a4. Fix
it for good this time using module priorities.
Task-number: QBS-1263
Change-Id: Ib1702299ef6c51b19a9082da96485ef5387dc1bb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
| |
We simply assumed the value would be a module property.
Task-number: QBS-1255
Change-Id: I3994f6db62f64ed44cb4d01f0938bc2d536fb3f3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
Move over one change that did not make it into 1.10.0.
Change-Id: Id960525fd829da133b61c1c3cfed782b50a5273c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
| |
Change-Id: Ia328393ef2914cac0a3952bce69049b18ea9fdfa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
1.10.0 -> 1.10.1
Change-Id: I302620919fffb7cb0021711adcd9446ebf2b9d8f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
Amends 7f6ec1c
Change-Id: Icc0777c62163daa9b0cb2e42cc4743d96282e0c2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use case: building an Inno Setup, NSIS, or WiX project often depends on
artifacts created by other products (executables, shared libraries,
etc.). This allows the rules which create these installer files to
depend on relevant installable artifacts.
[ChangeLog] The Inno Setup, NSIS, and WiX modules' rules now have a
dependency on installable artifacts of dependencies by default, via
the default item templates InnoSetup, NSISSetup,
and WindowsInstallerPackage. This can be explicitly controlled via the
dependsOnInstallables boolean property of those item templates.
Change-Id: Ia12f7d9965091c06ab83ba86836ec989c899f765
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
A product that is not multiplexed in the sense that additional instances
of it are created can still alter prototype values. Take this into
account when deciding whether to re-use an existing module prototype.
Task-number: QBS-1243
Change-Id: I017fc0dc9d6080d622b030e97796d254d17b3468
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
| |
This could happen if the same location appeared in the search path in
different forms. We now canonicalize the paths.
Change-Id: Ide20886e88469fbbabc74f2814754b85983e6780
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
| |
Ideally, we would also ignore Depends items in such Export items, but
that task seems to be a bit more involved.
Task-number: QBS-1250
Change-Id: Iab74873f74d5b8f0b8771c3c1866c7a1a5fa78aa
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
| |
It should be set to 'default deployment target'.
Change-Id: I0022317044c72a5f1d27fe5a1cc902fb3901d2ce
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
The default deployment target handling has since changed in a way such
that we cannot assume the 'default' target is the current host version.
Therefore, make the test explicit about the required deployment target.
Change-Id: I2547c6051def619dba8b9e6f18b26942fc6707cd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make 'unexpected files encountered' only a warning instead of an error;
it's possible and has historical precedent in the Android samples.
Further, remove th ic_launcher.png files from the list of required files
of the teapot example. These became mipmaps instead of drawables at some
point and it is not worth the effort to try to create a proper
conditional to select the right list of files.
Change-Id: If71bc394e64c19448c152b905ecff29dd436d190
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
The .c file was renamed to .cpp at some point, but both copies remain in
the samples repository. Listing both will result in duplicate
gl3stubInit symbols during linking.
Change-Id: Ifb9bbbdb9b955bc3811aa5d0bb5ce722bf6c3565
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
That name conflicts with an Apple system framework.
Change-Id: I9d8c1f3fdff813341e433578e4e48aac607a1e39
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The outerItem we created contained just one property and was quite
fragile when the 'outer' source code contained references to other
properties, especially whenever item inheritance was involved.
We now directly obtain the value of outer as soon an alternative
requests it.
Task-number: QBS-1239
Change-Id: I07f9ff85f33b445515b97f7c6f3d4f917fe3ccc8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
That can legally happen if the child artifact is a source file present
in different products.
Task-number: QBS-1241
Change-Id: Ideba1321072deee5c01b8915f32a747b45864793
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use the same code path for the evaluation of Properties.condition and
the actual values.
Task-number: QBS-1240
Change-Id: I1cfb2e13349d73bf347bf90ee5aef4b0835630f6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This simplifies the code quite a bit.
Change-Id: I07a6667276650c4b4d17bd667dd9f8f1c0f753aa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Clean up the handler function for JSSourceValue objects.
Change-Id: I04fd79c8c03016c5656f7f392e0e27388215e928
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|