aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* codesign: skip test for mingw toolchainIvan Komissarov2021-04-272-3/+7
| | | | | | | | Also, skipt the test for MSVC when certificate was not found. Change-Id: I27103f9cab4793947eb3f5b1afd0bac557fe68ac Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* codesign: do not use signtool for mingw toolchainIvan Komissarov2021-04-261-1/+3
| | | | | Change-Id: Ic6d3df6210c1af174e6caa8ba46e365e42f79273 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* codesign: Long live `signtool` signing on WindowsDenis Shienkov2021-04-2316-32/+658
| | | | | | Change-Id: I320cd1a1f3d8a1eed11d1c70007214f19a109b6e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* msvc: Pass -vcvars_ver to vcvarsall.bat when detecting environmentIvan Komissarov2021-04-235-8/+41
| | | | | | | | | This is required to properly support multiple MSVC toolchains (also now supported). Fixes: QBS-1498 Change-Id: I1274379496d47ebf7842eaed05f498b7af111b5b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.18' into 1.19Ivan Komissarov2021-04-221-0/+41
|\ | | | | | | Change-Id: I998d74e10ad9082f7d76af354135b2b4602d9d1a
| * Add changelog for the 1.18.2 releasev1.18.21.18Richard Weickelt2021-04-061-0/+41
| | | | | | | | | | Change-Id: I950ec79e270e09407312fdad958f067f1db6b32c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use binary search in Set::find()Ivan Komissarov2021-04-214-2/+42
| | | | | | | | | | Change-Id: I5ed154633233dfeedf6b69b52fc5339fef3a956a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Compensate Qt issue in network dependencies for 5.15.0 < Qt < 5.15.3Raphael Cotty2021-04-201-3/+77
| | | | | | | | | | | | | | | | | | Because of QTBUG-87288 the Qt5Network_ARCH-android-dependencies.xml is not properly generated. The bug is only corrected in Qt 5.13. This patch automatically updates the android manifest for version prior to 5.15.3. Change-Id: I0e7ea7f316f8af2d6c7b05340d9db3a72ba0110c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix build with older compilersIvan Komissarov2021-04-201-1/+1
| | | | | | | | | | | | | | | | This amends d38fd9fa9. Change-Id: I55661497de04749dfd27134ef7c8c9cc436053e2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Allow to specify windowsSdkVersionIvan Komissarov2021-04-199-17/+64
| | | | | | | | | | | | | | | | | | Previously, it was not possible to use older windows SDK version. Fix that by introducing the new property that is passed to vcvarsall.bat Task-number: QBS-1498 Change-Id: Ic526eabb8ff82ddd85c93e90fd20421595a121f4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix detecting MSVC via Probe when multiple versions are presentIvan Komissarov2021-04-192-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, Qbs iterated over different versions in the ascending order. During the setup-toolchains this means that the newest one will be written in the settings as only the last one is actually written. When running ClBinaryProbe, the first one (i.e. the oldest was picked up) which did not work well with vcvarsall (without -vcvars_ver parameter, it uses the newest one). So, pick up the newest compiler both when running setup-toolchains and when detecting via Probe. Task-number: QBS-1498 Change-Id: Ib1b433ca7e17747dee986ba383a3c01ee91851fb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | update dmgbuild to master branchIvan Komissarov2021-04-191-13/+66
| | | | | | | | | | | | | | | | | | | | This contains fixes for Python 3.9 Change-Id: I087e21a4208c9091aab4cd9fcb9b3c2d1bf9945a Fixes: QBS-1642 Reviewed-by: Max Bespalov <bespalov.maxim.a@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix setting PATH on Windows when invoking QbsIvan Komissarov2021-04-163-7/+6
| | | | | | | | | | | | | | | | | | The original approach did not work when using NMake or MinGW Makefiles (but worked with Ninja) Change-Id: I1bfdb213b3007b100bb4cdcdbe4deb3935b6e266 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not try to generate FwdHeaders when not using bundled Qt.ScriptIvan Komissarov2021-04-121-0/+7
| | | | | | | | | | | | | | | | | | Apparently, if the submodule is not present, the Rule is not invoked at all, but it fails on Windows when submodule is there but Perl is not found in PATH Change-Id: I3edb4d3679f4528f05996c630c55c052c8202369 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Qt support: Fix possible command line length issue with qmlimportscannerChristian Kandeler2021-04-122-5/+22
| | | | | | | | | | | | | | | | | | | | When there's a lot of QML files, we can hit the dreaded Windows limit for maximum command line length. Detect this condition and call the tool repeatedly if necessary. Fixes: QBS-1633 Change-Id: I20d123d6184eab08c5fa280a7c4811a753275f1f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Fix generation of compiler listing filesDenis Shienkov2021-04-122-19/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... with custom extension for SDCC compiler. The SDCC compiler always generates the listing files in the format of 'module.c.lst', and there is no way to disable a generation, or to specify a different name for the listing file. In addition, we cannot change or delete the generated listing file until the linking is complete (this is such a feature of the SDCC compiler). So, to turn off the listing file generation, or to specify a custom listing file extension, we need to do the following extra steps: 1. If the custom cpp.compilerListingSuffix property is set, then we need to make a copy of the generated listing file after the compilation completes. And then to delete the all listing files with the '*.lst' extension after the linking completes. 2. If the cpp.generateCompilerListingFiles property is disabled, then we need to remove the all generated listing files with the '*.lst' extension after the linking completes. Change-Id: Ia235f7e2ebf88695e4648fb894624c7420968079 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Fix generation compiler listing using ARMCC compilerDenis Shienkov2021-04-083-23/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARMCC compiler has no options for specifying the name of the output listing file; it only has an options for specifying an output directory. In addition, the generated listing files are in truncated format, e.g. instead of the 'module.{c|cpp}.lst' file will be generated the 'module.lst' file. This behavior complicates the writing of unit tests, and also complicates the implementation if the user wants to change the cpp.compilerListingSuffix property. A workaround is to post-process the compiler listing files after they are generated. In this case, we only need to rename the generated compiler listing file to the desired one. Change-Id: I89c81896711b90b146a94c35d2ec75e296824752 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Move post linker commands to separate functions for SDCCDenis Shienkov2021-04-081-53/+72
| | | | | | | | | | | | | | | | | | It makes sense to move an additional post-build linker commands (that delete or change the linker map files, delete the listing files) into separate functions. Change-Id: I636347a9417f76f3f3dcfa000518437721357431 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve 'compiler-listing' testDenis Shienkov2021-04-077-38/+26
| | | | | | | | | | | | | | | | | | | | | | We do not need multiple test data instances (*.qbs) for each property, because we can pass the required properties from the C++ code directly. Also now we can know about the compiler listing file suffix directly, through the cpp.compilerListingSuffix property. Change-Id: I644277458e3ae460cbfb6bba4a24583d9e6ba3e1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Fix aapt compiling command on WindowsMax Bespalov2021-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | When building appt2 package on windows aapt expects to see paths with windows separators. If path isn't converted you get "bad resource path" error. https://android.googlesource.com/platform/frameworks/base/+/9ba47d8/tools/aapt2/compile/Compile.cpp#59 Change-Id: Iabacb020920310533b034138e47d1839b845573a Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Avoid using unicode characters in apple.qbsIvan Komissarov2021-04-061-7/+7
| | | | | | | | | | | | | | | | Some editors struggle with them Change-Id: I61672b6ca83facd7a2b2bf2fa763245aee94bce5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Share cpp::{assembler|compiler}ListingSuffix propertiesDenis Shienkov2021-04-069-22/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes sense to add the cpp.assemblerListingSuffix and the cpp.compilerListingSuffix properties to the base CppModule due the following reasons: 1. It is possible that the user wants to change the extension for the generated listing files, which makes working with Qbs more flexible. 2. It will be easier to write an autotests that check the generation of the listing files for a bare metal platforms, where listing files can have various extensions such as ".lst", ".ls", and so forth. Change-Id: I9989288bff0659dd3e8b7a443d0354bb78475270 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Improve linkerMapFile() testDenis Shienkov2021-04-053-32/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now we can use the cpp.linkerMapSuffix property to find out the currently used linker map suffix. Also we can set a custom cpp.linkerMapSuffix value to make sure that this applies to the module. In addition, the generation of a custom linker map file for SDCC toolchain has been fixed. Change-Id: I8798cd6bea0ab6b5ea9728400827b8c98b11ba7b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | baremetal: Pass externalStaticLibraries() test for KEIL C51/C251/C166Denis Shienkov2021-04-052-23/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Toolchains C51, C251, C166 do not support configuring library search paths to link. They support linking with libraries specified with full absolute paths to them. To work around this we supplement the absolute library paths using the cpp.libraryPaths property, if the library is specified without an absolute or relative path. Change-Id: Ic11fd8b87356b3a07ba5fd5c9763c8df39d0d4ac Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Share cpp::linkerMapSuffix propertyDenis Shienkov2021-04-018-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes sense to add the cpp.linkerMapSuffix property to the base CppModule due the following reasons: 1. It is possible that the user wants to change the extension for the generated map files, which makes working with Qbs more flexible. 2. It will be easier to write an autotests that check the generation of the map files for a bare metal platforms, where object files can have various extensions such as ".map", ".m51", ".m66", and so forth. Change-Id: I1e5e3b39bf84fddfe8c06f2db9d3936c6a3ff027 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Code signing moduleRaphaël Cotty2021-04-019-118/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Android.sdk was already signing the apk package but it was using hardcoded debug key and could only be used to run the application locally. The signing part of the android apk/aab package generation is now in the new codesign module. By default the same debug key is used. But it is now also possible to configure a different key. Task-number: QBS-899 Change-Id: I49c54a4d55578c48363805e927392b3a468805f0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve 'linker-map' testDenis Shienkov2021-04-015-26/+11
| | | | | | | | | | | | | | | | We don't need in multiple test data instances (*.qbs) for each property, because we can pass the required properties from the C++ code directly. Change-Id: I3bc05db5f6c0d2533f9799cbadb830c0c687e1e5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Add support for ndk 22.1.7171670Raphael Cotty2021-03-312-41/+35
| | | | | | | | | | | | | | | | | | | | | | | | Android ndk 19 introduced a new layout for the platforms and sysroot directory. They are merged into the toolchain directory. Android ndk 22 removed the deprecated platforms and sysroot. Since the minimum required version of Android.ndk is 19 this patch switches Qbs to the new layout. Fixes: QBS-1637 Change-Id: Ie69d305ba77ac1689205e2fb2fd3414a3bada2bd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix installing artifacts when multiplexingIvan Komissarov2021-03-313-5/+10
| | | | | | | | | | Change-Id: Ice07b4b6cc918bd27e13b66c3c892a9be482a482 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Don't use Windows separators for KEIL toolchainsDenis Shienkov2021-03-311-32/+16
| | | | | | | | | | | | | | | | | | We don't need to use the Windows path separators for the C51, C251 and C166 toolchains. These delimiters only complicate the code maintenance. Change-Id: Id87fd11259a1a1456a28e755eefa7e014b7f34d6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix accessing binaries from libexecIvan Komissarov2021-03-306-7/+33
| | | | | | | | | | | | | | | | | | Starting from Qt 6.1, some binaries were moved to libexec/ directory from bin/ (e.g. moc, rcc, uic). Fixes: QBS-1636 Change-Id: Iaa329773a3ffcea5f09c0663dd4159d839980525 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | codesign: do not sign intermediate products when multiplexingIvan Komissarov2021-03-307-10/+46
| | | | | | | | | | | | | | We should only sign the resulting binary during the lipo step. Change-Id: If4d508bcdf347bf2fc68d345ed8d5913a7457f8d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge "Merge branch '1.18' into master"The Qt Project2021-03-302-26/+40
|\ \
| * | Merge branch '1.18' into masterIvan Komissarov2021-03-182-26/+40
| |\| | | | | | | | | | Change-Id: If4dfeed28c475b8d0db13b5a39a0d6752b2a5052
| | * protobuf: fix setting includePath in nanopb.qbsIvan Komissarov2021-03-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This amends 0d42ca4d0f8b0866b51ac9587f68a6550ca6d3fe. Change-Id: I3650056431c51ae8d67575e217bfaebcf49b4f08 Reviewed-by: Kai Dohmen <psykai1993@googlemail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| | * protobuf: fix accessing undefined objectIvan Komissarov2021-03-152-26/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always execute Probes to find files protobuf libs and headers even when the user passes path to those manually. This is required for the correct search of different library variants. This amends 87fdf5002. Change-Id: Ic7b9368b2b17925da33fd16299e31fd016043466 Reviewed-by: Kai Dohmen <psykai1993@googlemail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Bump version to 1.18.2Ivan Komissarov2021-03-091-1/+1
| | | | | | | | | | | | | | | Change-Id: I45dd78f2579555959742693d021613735d58c764 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | doc: Add how-to about signing for Apple platformsIvan Komissarov2021-03-301-0/+43
| | | | | | | | | | | | | | | | | | Change-Id: Ic2f84fbe24a6980f6ac78201ca418aef83490fa2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Share cpp::objectSuffix propertyDenis Shienkov2021-03-309-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes sense to add the cpp.objectSuffix property to the base CppModule due the following reasons: 1. It is possible that the user wants to change the extension for the generated object files, which makes working with Qbs more flexible. 2. It will be easier to write an autotests that check the generation of the object files for a bare metal platforms, where object files can have various extensions such as ".rel", ".r90", ".r43", and so forth. Change-Id: Ib73836d5e614a6924d312d061f02437c3b318785 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Do not run joblimits in parallel with other testsIvan Komissarov2021-03-251-1/+5
| | | | | | | | | | | | | | | | | | | | | To avoid concurrent access to QSettings Change-Id: I99e43d0b7cb19352fad4b16abb80fc88b0a11fd0 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | Add missing artifact tags for loadable modules when multiplexingIvan Komissarov2021-03-211-1/+2
| | | | | | | | | | | | | | | Change-Id: I910e56161c815822f87f9754ad8ce5aceed2bd3a Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | Run appleMultiConfig test with arm64 on newer XcodeIvan Komissarov2021-03-211-7/+14
| | | | | | | | | | | | | | | Change-Id: If8d579b612d8c44f697495d2ca985f7c34310682 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | CI: Add new job to run bare-metal tests on self-hosted Windows PCDenis Shienkov2021-03-211-1/+134
| | | | | | | | | | | | | | | Change-Id: I5ce176a143c4df3b6dca97a79da0c2e5983dd478 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | | GitHub actions: Run tests with Qt6Ivan Komissarov2021-03-193-3/+96
| | | | | | | | | | | | | | | | | | | | | On MacOS, Linux and Windows with Qt 6.0.2. Change-Id: I12255d8ba5bb5277378d52a1cc5caca84f0dc98b Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | Add Qt6 docker image and update Qt5 imageIvan Komissarov2021-03-192-2/+14
| | | | | | | | | | | | | | | | | | | | | ...to add additional packages required for the Qt6 image Change-Id: I42791440eaa754a1ae4ea3c24f86dd0ccedc1ed6 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | qt6: fix setting up Qt.uitools module on MacIvan Komissarov2021-03-191-1/+6
| | | | | | | | | | | | | | | | | | | | | Since Qt6 it is a framework, not a standalone library Change-Id: I1561cea04a0472704d21f4ebbb5d5bc07d9c758d Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | | qt6: do not use QHash in adjustDefiningItemsInGroupModuleInstancesIvan Komissarov2021-03-191-1/+1
|/ / | | | | | | | | Change-Id: Ibee969b9811e964569aa437e15e7c239f41d5918 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Fix building unit tests with bundled Qt.scriptIvan Komissarov2021-03-174-8/+25
| | | | | | | | | | | | | | | | | | Some of those tests require Qt.script headers which are used in corelib's headers. Introduce a new QbsUnitTest item type that pulls in the dependency on Qt.script/scriptengine for those tests. Change-Id: I5b981b910191ba690eded14bdf64b540f334bd53 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Remove QTextCursor API from ChangeSetIvan Komissarov2021-03-176-32/+4
| | | | | | | | | | | | | | | | | | | | | | It appears that neither Qbs not QtCreator use that API. Also, remove QtGui dependency in corelib and enable project files updates by default. Change-Id: I2eb90d0a7bc74bca4f1007eb63164111f52adb1b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | qt6: Fix installing Qt on LinuxIvan Komissarov2021-03-171-2/+9
| | | | | | | | | | Change-Id: Id9aa640f013271ff9f3a7f4e0cd70f974efcc116 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>