| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This allows to build projects without calling "qbs setup-toolchains"
first by simply calling "qbs build qbs.toolchainType:clang-cl"
Change-Id: I86d135ddf2cb588f322709e4e7a265cb6fd7772f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conan is a popular C/C++ package manager. Conan packages including their
configuration and dependencies are usually described as conanfile.txt/.py.
ConanfileProbe runs 'conan install -g json' and parses the resulting
conanbuildinfo.json. The resulting JS object tree contains relevant information
about the dependencies and can be used to set module properties in Product,
Profile or even Module items.
Change-Id: Ied6b917f061dac67fb2260eab099bcce4037750d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This allows to build projects without calling "qbs setup-toolchains"
first by simply calling "qbs build".
Change-Id: Iba4af8bf77d0ee5d209564ea371328d3c6cf2aa2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xcode.qbs:
- Change the contents of xcode._actualSigningIdentity as expected by the actualSigningIdentity and
actualSigningIdentityDisplayName properties
- Use Utilities.signingIdentities() to get rid of warning ’Suspicious use of Process during property evaluation...’
- Throw error if specified identity was not found
BundleModule.qbs:
- Add ‘_CodeSignature/CodeResources’ to outputArtifacts with the tag ‘bundle.code-signature’ and ‘bundle.content’
- Remove local var ‘bundles’ which was always undefined
- Fix ‘ModUtils.moduleProperty("qbs", "pathSeparator")’ resulting in ‘TypeError: Result of expression 'obj.moduleProperty' [undefined] is not a function.’
Change-Id: I1a529efb6164906d21203ff3f3be6e570137e8ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
Otherwise, it's quite hard to understand why the test is skipped in CI
without looking into the code
Change-Id: I5e4450c22c6b0474dac291d488e8f49d0607e290
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I90865ba6908df1550c2646a57d348dcb82e244ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|\
| |
| |
| | |
Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch fixes a regression introduced in e8637511. Probes in Project items
could no longer reference project properties by writing project.xxx on the
right hand side of a property assignment expression.
Change-Id: I7d04c71f4c493481a00411f12666bd6c2caa8caa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before qt 5.14.
The profile property "moduleProviders.Qt.qmakeFilePaths" is set with one or more
paths to the different android architectures. Each qmake path belongs to a
different android architecture installation.
So each qmake is used to generated the Qt module corresponding to the architecture.
Although qbs can generate multi-arch apks using multiplex mode, this is not
possible when the project depends on qt libraries. This is because of the
restriction of the qt tool androiddeployqt used by qbs.
Now with qt 5.14.
All android architectures are installed in the same directory.
So the profile property "moduleProviders.Qt.qmakeFilePaths" is set with one
qmake path.
This directly impacts the qbs-setup-android tool and the generation of
the Qt modules.
Because qt libraries are installed in the the same directory, they have the
abi in their name (libQt5Core_armeabi-v7a.so).
So the rules that generate the apks are also impacted.
The new androiddeployqt have a new interface (json config file format and requires
to have the input libraries installed in the deployment directory) which allows
the generation of multi-arch apks.
So Qt.android_support modules needs to be updated as well.
Fixes: QBS-1497
Change-Id: Ibd546f356c38a05f42dfcac0a4ec92bd82d6f700
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add checks for the candidatePaths and the single file API.
Also, this includes a behavior change - if multiple selectors are
present, the filePath/fileName/path probe properties are not set up -
this is because it is not clear how they should be set up in case when
the first file in selectors is found, but the second is not (and thus
probe.found is false). In case of multiple selectors, user should use
probe.allResults but not the single file API.
Change-Id: Ib56faf0de93d3ec9fc49f5dbc9d51d4b36831a2d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
OpenJDK might be the 64bit version.
Change-Id: Ia215ac3ed4c111a3d127b97509d150b34f9a01fa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I283836a7009f63bc3c8c5aabae221ec7763ddcef
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a multiplexed product depends on another multiplexed product, Qbs previously
forced all multiplexed properties to match exactly. Only if Depends.profiles was
specified, the comparison was limited to the qbs.profile property and all other
properties were ignored.
While strict matching is usually the natural choice, there are corner cases
where it limits the applicability of Qbs. For example when multiplexing product
A over buildVariant, but product B over buildVariant and architecture. In such
cases a relaxed matching would be desirable, where only the common properties of
A and B are considered. As long as there is only a single resulting dependency,
the dependency is unambiguous and safe.
Task-number: QBS-1515
Change-Id: I4ae6b413229bf1577311b4198d0596447e650816
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also, treat this warning as error
This amends 936eee744db9b2fd1b9b66d168d80a113002aad2
Change-Id: I372c3b11baa08375d581052282f4546b2ba2e057
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To be able to use cpp.driverFlags and cpp.driverLinkerFlags with clang-
cl. This patchset makes possible to use clang-cl with "-
fsanitize=address" flag without passing the sanitizer libraries manually
to the linker
There's also a behavior change in which linker is used - clang-cl uses
native linker by default. Old behavior can be restored by setting
cpp.linkerVariant to "lld"
Fixes: QBS-1522
Change-Id: I9528ce40aa5fdfab987672b15fffd830fa2d6376
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Qbs sets this value unconditionally for macOS platform, so check it
Change-Id: I98c2b3f8a9ac6978411eb51a17f1104118faebe2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Checking the exact values is hard because they depend on the
targetPlatfom/architecture, but we can check that types are correct if
those values are present.
Task-number: QBS-1447
Change-Id: I4407421919ad74719ce089d059cbe36764a565d8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is still the default one on Travis and Qbs should support it
Also, only build XCode10 variant on master to avoid extra job for gerrit
builds
Change-Id: I100e7e4560aeca3c2c3d77d81ecc9097853e0a2d
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This test checks that properties can be overridden in a .qbs file
Task-number: QBS-1447
Change-Id: Ib39c7c11f26357bb4074eb9ba7cb2730f25c9441
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4bc1ff7cacb606e4baa9f2bfe59b8dca1b88e434
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Docker images contains ndk r20 and qt 5.13.2 as well as 5.14.0. Containers
can be started with the following command line:
- docker-compose pull bionic-android-513
- docker-compose run --rm bionic-android-513
The current folder is mounted under /qbs. Assuming that Qbs has been built in
the current directory and with release configuration, the autotests can be
invoked with:
docker-compose run --rm bionic-android-513 scripts/test-qt-for-android.sh \
release/install-root/usr/local/bin
A job Travis CI job is added which builds Qt and runs the Android blackbox
tests.
Change-Id: I76b1901cb7c41f8b5b0122265c99c9b37b59f261
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia58cf8c14b091372921788e76e15a2ad1267e3d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
List properties of all dependent modules were previously merged in
lexicographical order and did not take any module hierarchy into account.
This resulted in errors, for instance when multiple inter-dependent modules
specified cpp.staticLibraries and the libraries had dependencies on each other.
This patch merges list properties according to the top-sorted modules list. This
is equivalent to a breadth-first search in the dependency graph. Modules on the
same hierarchy level are merged in reverse lexicographical order for
implementation simplicitly. For instance, the modules Qt.core, Qt.gui and
Qt.network would be merged in the order Qt.network, Qt.gui, Qt.core.
The resulting order is stable and does not dependent on anything else than the
actual dependency relationships and the module names. I.e. the order of
Depends items is irrelevant.
This change leads to a much simpler implementation of ModuleMerger and has the
positive side-effect that property values are evaluated in the correct scope
more often.
A warning is now generated when multiple modules write to the same scalar
property and the warning is being tested. It was previously there as well, but
did not fire in all cases, for instance when an Export item wrote to a scalar
property as well as an exported module.
Fixes: QBS-1505
Fixes: QBS-1517
Change-Id: I450d2a84cd29afe42c17be7e946e4f755da1c49f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use more pass-by-const-ref since there is no point in passing objects by
value in these cases
Also, treat this warning as error
Change-Id: I5382dcd56639f535cf240205cc5c3ac667c4ece3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
It's possible to copy&paste old commit instead of a new one and easy to
overlook that mistake.
Change-Id: I408f256ba6b2f419b7cf90b7ed9ee582f91b081b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... when adding/removing files to/from a project.
We originally implemented this so that IDE users could edit their
project files via the UI without having to re-resolve the project, thus
saving time.
However, great care has to be taken to ensure that we really do the same
thing as would happen on a proper resolve step, and we do not seem to
manage, as demonstrated by the crashes I have observed recently when
removing files via Qt Creator.
So let's play it safe and remove the shortcut.
Change-Id: I38e7dcdba0aa129f43feec084ae140e1a57d2ee9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This module helps UNIX application developers to prepare applications
following the freedesktop.org guidelines.
Change-Id: I9ae4dfbdb1e672a9d152242ad2eb50651f86461f
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When Depends.profiles contained a non-existing profile, Qbs just crashed.
When Depends.profiles was set, but the dependency had an aggregator, the
aggregator was always selected. This behavior was wrong. When Depends.profiles
is set, it must take precedence and the aggregator must be ignored.
Fixes: QBS-1513
Fixes: QBS-1514
Change-Id: I214afe0e2921b773ea1c224732c5c5430e7af063
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: If84e3e4c832c2b3dc39e40be13e989996ab764d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I93783cfa3267f69237b0ad888d0747e4272cda0a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Iabdc777d2e8492d9903109365b0f3b1a5441ca11
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test case did not (anymore) do what it should. There was no output on stdErr
because console.info() was used and also -qq was set which would have even
suppressed warnings. Hence the test case always succeeded regardless of the
property order.
Change-Id: I8450abcdd032bb02726dc3a57353d8649b55d7df
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I865357bf74bdaf88eabae5681c70a6e5032e274d
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove distracting items not relevant for the testcase itself. This was maybe a
blackboxtest at some point in history, but now it is only an API test. We might
need to expand it in the future and thus it is important to keep it free from
irrelevant code.
Change-Id: Icc0d962c4dbd21c32b4a99987eade2f66b8b78ac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I2ada7907c2413583d6cb03d22837dfbfba368201
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
Long command lines are especially a problem when building statically in
MXE. This commit tries to replicate the logic employed by qmake, where
before adding a new object to the command line, all of its previous
appearences get removed.
Fixes: QBS-1273
Change-Id: I51c843c4a7cfc170ed4fab30deae6c4229690dd0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
Since commit 9e55ddfa97, we mistakenly passed the output artifact to the
scan script, rather than the input artifact.
Fixes: QBS-1511
Change-Id: Ieb2a2b3bdf0366ef203e96d578a30a0ef8b1838a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
It failed with mingw on Windows.
Change-Id: Ia5cc3b4590ea184106cee6119b9670138ad5fb07
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
This test cover only the applications using the MSVC and
GCC-like toolchains yet. Other toolchains and a product
types can be added later if it will required.
Change-Id: I37db96015774447e1e30b503d9853599be0177f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Let the user configure the time to wait for the next JSON packet.
Change-Id: I2336cdbfebb64a8fdf44c74c1d4ae7abaac4dc4e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ief78bb9d82344e31135faca42a422c23951e87ec
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- xcspec files can now refer to variables in variable names, as in the
following line:
CONTENTS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_$
(SHALLOW_BUNDLE))
- Some new environment variables have been introduced and need to be set
when running our probes; e.g. "SWIFT_PLATFORM_TARGET_PREFIX".
- The symbolLinkMode autotest made an invalid assumption about order of
output.
Change-Id: Ic845c2c4a8eafb4ece0f0bb04e6e492681a02979
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Profile items can reference project properties, but accessing properties of
project-level probes failed. This patch ensures that probes are executed
before Profile items are evaluated.
Fixes: QBS-1490
Change-Id: I5c215b91ded51ac895e433faa2e6fcfbc3d3e212
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Iad75f8b2beb8d26c1c2369cce15e4fb1af1106e5
|
| |
| |
| |
| |
| |
| |
| | |
Our QtScxml test ran into QTBUG-76521.
Change-Id: Id667846acd165d5b79dd6acc9cb8c790f6e228a2
Reviewed-by: Jörg Bornemann <joerg.bornemann@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>
|
| |
| |
| |
| |
| | |
Change-Id: Icf6b9f7528bdb4b062b6586b12a08d8b410090fd
Reviewed-by: Jörg Bornemann <joerg.bornemann@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>
|