| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows to build Qbs using CMake build tool
Tested platforms
- Linux (gcc)
- macOS (clang)
- Windows (msvc2017)
Missing features (compared to Qbs build)
- Documentation build
- Bundled QtScript support
- Static build
- .pc file for qbscore
- qbs module for qbscore
Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
| |
Change-Id: I9894098b05004bb99273e091e3d1821f88d7c4af
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
The warning says 'c++11 range-loop might detach Qt container'
Change-Id: I6b6a91d6b3298702246da94f05d21623d5f13faa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
| |
This allow to have android settings install system wide,
similar to qbs-setup-qt and qbs-setup-toolchains.
Change-Id: Idc01e0ebe6e3f6f17b2e48e84f6fe2b0e95f0c63
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>
|
|
|
|
|
| |
Change-Id: Iabdc777d2e8492d9903109365b0f3b1a5441ca11
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Makes clang-tidy happier
Change-Id: Ic29b552572719ea58c7ad385cc6e1d68cef9eedc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This fixes most of clang analyzer warnings about uninitialized variables
in ctors
Change-Id: I879c785594307ed3fe7140588338a6b2a1e4db65
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
Now we have automatic Qt detection, and that set is not needed anymore.
Change-Id: I9c01dad173ac70cbeaab64b412255057d7ce8cbd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
| |
This fixes this clang-tidy warning:
warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
Change-Id: I421e1e47462fe0e97788672684d47943af7df850
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
| |
Change-Id: I7419cc3fbc1e8776de3943852dcedab4c95d1c32
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creation of qbs modules for Qt is now done on demand during project
resolving. The qmake executable(s) are looked up via PATH or taken from
the Qt.qmakeFilePaths provider property. As a result, Qt projects can
now be built without a profile.
The qtprofilesetup library is gone; its code is now in the module
provider. I kept the C++ -> JavaScript conversion as straightforward as
possible and mostly resisted the temptation to "optimize".
The setup-qt tool still exists and mainly sets Qt.qmakeFilePaths.
[ChangeLog] It is no longer required to call setup-qt before building Qt
projects.
Change-Id: I5b7e4711ec47b996911c499f29d8129d90e4731e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id535625f198f10a920f32e198d39b38d46b35668
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... 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>
|
|/
|
|
|
|
|
|
|
| |
... instead of silently ignoring them.
Fixes: QBS-1412
Change-Id: If6687372132a03b3ca04194f7525856eb82b8bb7
Reviewed-by: Erik Schilling <ablu.erikschilling@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@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>
|
|
|
|
|
|
|
|
| |
There is no multiplexing in that case, so we have to set
qbs.architecture instead of qbs.architectures.
Change-Id: I2f96bfd6b67a6ef45882ba5ce9eb35ab2317e8b2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows users to set the target platform from within project files,
since it is a scalar value. The values of qbs.targetOS and qbs.hostOS
are now derived from these new scalar properties.
[ChangeLog] Added qbs.targetPlatform and qbs.hostPlatform properties
which are scalar versions of qbs.targetOS and qbs.hostOS.
qbs.targetPlatform is a "write-only" property that can be used to
set the OS/platform that is being targeted, while qbs.targetOS
and qbs.hostOS should continue to be used to *read* the OS/platform
that is being targeted. qbs.targetOS is also now read-only.
Task-number: QBS-1070
Change-Id: Id3fd206a5b2ebee2d626f3e5ab02ecd1dc90d90a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This is a simple find and replace with manual sanity check.
Change-Id: Iab6d46dcc3be246d1650aae2b1730f933b717be8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This is a simple find and replace with manual sanity check.
Change-Id: Ia733befe7885dc3c643d5c84e151312bfd86a3c6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
This is a simple find and replace with manual sanity check.
Change-Id: I82f0eb38b6a5a3b75a4ed38d97bdb6ce164d09b3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|
|
|
|
|
|
| |
We can do this now that we require MSVC 2015.
Change-Id: I77be55435d4db6c6ff17afeff779e163cf3803fb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
| |
We forgot to update the help text when we got dropped the "one profile
per architecture" approach.
Change-Id: I81d7634e6228e4058d97031fc5bdf2a997f35429
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
It was only applied to qbs-setup-qt, but missing from the others.
Change-Id: I3f2dd63c717d9117a8699fc76bac93e573cad60c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
The extra per-architecture profiles are gone now.
Change-Id: I78017d0840f46ee3654dadc4cf9402c63bfc7883
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QBS-992
Change-Id: Id5685caa40bc430c345b5632e3c9c7fefe71b02d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|
|
|
|
|
|
| |
The -h option was not recognized.
Change-Id: I8ee264f24646b4be01bbd9954d208f94b80c51cb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By using q<lowercase>.h headers, we become more bootstrap-friendly, as no
full syncqt is required any more.
In the same go, prefix all includes with the module name. This helps
grep-based analysis of which parts of Qt are used and where. It's also
consistent with Qt's public headers (where syncqt enforces the style).
Testdata and examples are excluded from the change, as they are not
relevant for bootstrapping.
Change-Id: I9539b1d795e87fca6e5fc6c91acbb775b79208d9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Patch-set 2 includes *.cpp *.c
Every source file needs to have up-to-date license
headers in order to pass ci.
Change-Id: Ie6e493097af6f7dd6a8adff170eb856f496e689e
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Patch-set 1 includes *.h
Every source file needs to have up-to-date license
headers in order to pass ci.
Change-Id: Ib6cf3ac47dfba6dff262fded44bc952aef3bda8b
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
doc/reference/items/transformer.qdoc
share/qbs/modules/cpp/GenericGCC.qbs
Change-Id: I45560834560019b18274c373c45651eb8aadd206
|
| |
| |
| |
| |
| |
| | |
Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, do extensive validation on the result by ensuring that the arch
specified by the user is what which the compiler will actually generate
when invoked, by constructing an appropriate argument list and doing a
dump of the compiler's macros.
This ensures a user cannot specify a bogus architecture which is not
actually the one the compiler will generate. Furthermore, compiler
probes will no longer generate the wrong value for qbs.architecture
for ARM-family architectures, since the triple returned by
$(CC) -dumpmachine does not include the subarch which needs to be passed
to the compiler.
Users will also be prevented from subverting proper operation by
attempting to pass raw ABI-related flags in the flags properties.
Change-Id: I2aed8e0afefdf7e5a4112183f2f9ea96b1e22b51
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
In light of the Android SDK and NDK probes which find the paths
automatically, this is not a particularly useful restriction.
Change-Id: Iab1a00f29b095ee2a6de45ac15f0d4200c402f4b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I74a6f3cef1ec22a2e3f3d5e263396ea06c3d905d
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This is more consistent with the rest of qbs and as a helpful side
effect, encourages Android profiles to be re-created since their
generation was recently completely overhauled.
Change-Id: I1041584eb197b39d9ca3634687ea86d2fb95a2d5
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I7a8059b6a73950405fd4756b9dc2240c2722aaa8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
|
|
|
|
|
|
|
| |
This moves a step closer to making profiles as thin as possible.
Change-Id: I35fa165c2fa50e9830a460521ba0e3c2c97284c6
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ie7c61fde802921b48d588b2760f798431fab81bf
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
| |
This paves the way for Clang-based toolchain support.
Change-Id: I426ea434c562a03cd96ece6a3f19e86a2480de07
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Idcac4fd8a51847f27c47a35e2be033fd0251d498
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The value "undefined" now indicates an architecture-independent target
like the CLR or JVM.
The cpp module's copy of the architecture property is not required
unconditionally either, because there exist implementations that compile
C/C++ to architecture-independent targets (Emscripten). However it
remains required for GCC and MSVC toolchains where a specific
architecture is always targeted.
Change-Id: I0810e71bd561d3b9bc1f83d70329ee78d129e9db
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
| |
QStringList::join supports QLatin1Char arguments in Qt5.
Change-Id: Ic840473f0cb54c8c2a781bec3356c3c3c8e113af
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I36d825db3a5ef32c162c3063aab1e8a1f2696f4f
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Conflicts:
doc/reference/jsextensions/jsextensions-general.qdoc
src/lib/corelib/language/evaluatorscriptclass.cpp
src/lib/corelib/language/evaluatorscriptclass.h
Change-Id: Ic9b77b56e8fc8bf93e0a553930757de8c93fed22
|
|
|
|
|
|
|
| |
Covers SDK and NDK functionality.
Change-Id: I5f252ba43918a2440848b6f7d027c9082946ff1e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Iacfec11a305d46b1707456b01f1d413bb9161228
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ic88cbdfab66bb2433e822d5f129d744a88d25ed3
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
|
Supports building debug APKs with or without native libraries.
Features to be added in subsequent patches:
- Things related to release packages (release signing,
code obfuscation, image crunching)
- AAR packages
- Test projects
- Qt-specific stuff
- Possibly deployment & running
Also, the setup tool should become a library at some point, namely
once we know what the interface should look like in order to make sense
with Qt Creator.
Change-Id: I1e9bc950e8c95e136d2a6a702dc95059e9047072
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|