summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add changelog for the 1.19.2 release1.19Ivan Komissarov2021-07-261-0/+5
| | | | | | Change-Id: If0710367d0d99b0923c4b4fdcb4651b7b024d8f9 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Revert usage of toWindowsSeparators() for KEIL C51/251/166v1.19.2Denis Shienkov2021-06-281-13/+17
| | | | | | | | | | | | Previous commit 9e5ef99 introduces regression where the non Windows path separators does not work in some cases, that lead to the compilation errors (although CI tests are succeed). This strange behavior seems related to the old engine of these toolchains. Thus, we need to use the Windows path separators again, besides everywhere in the KEIL documentation are used only the Windows separators. Change-Id: I2aa0f28651b914414bcd6b67bf451b0af1b73c18 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* codesign: Add additional signing flags at end of commandDenis Shienkov2021-06-161-4/+7
| | | | | Change-Id: I4133d6716ee6f226cdd56637f86c2b1f3e1cda65 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* codesign: Add new codesign.timestampAlgorithm propertyDenis Shienkov2021-06-164-0/+29
| | | | | | | | | | | | We need this property on Windows when we use the codesign.signingTimestamp property. This property should be set with the "sha256" value in case when the app is to be distributed over the App Store; otherwise the the codesign.signingTimestamp property is quite useless. Fixes: QBS-1651 Change-Id: Iacc5f80b8acf81ea1a34f55416e6966c41b0e727 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* codesign: Fix checking if product is a frameworkIvan Komissarov2021-06-143-3/+7
| | | | | | | | | | | | | It is not correct to check for the frameworkVersion to determine if product is a Framework - e.g. Xcode always sets this variable. Instead, product.type or product.bundle.packageType should be checked instead. This fixes the problem when codesign incorrectly determines bundle as a framework if product.version is set. Fixes: QBS-1649 Change-Id: I067e852df82a43897000d45e27908dd5e22eac70 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Bump version to 1.19.2Ivan Komissarov2021-06-141-1/+1
| | | | | Change-Id: Icad305a9ccfe2b4da13a609205ef9af2b4a6f1e0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add changelog for the 1.19.1 releaseIvan Komissarov2021-06-141-0/+12
| | | | | Change-Id: Iaf880423147b82b8bd664e6360f0999c9968dc93 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: Add missing note about "qcc" toolchainv1.19.1Ivan Komissarov2021-06-031-0/+3
| | | | | Change-Id: I93b8d7c08d864939c6b6c8b9fcef966f49a5abb5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* msvc: fix system include support with MSVC >= 19.29.30037Ivan Komissarov2021-06-011-0/+4
| | | | | | | | Otherwise, compiler fails with "ERROR: cl : Command line warning D9007 : '/external:I' requires '/external:W'; option ignored" Change-Id: I45b01175e5d868370368d31dafa19d0d455f267c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* darwin: do not strip debug symbols when dsyms are built-inIvan Komissarov2021-05-312-5/+8
| | | | | | | | | | | | | | | We do not need to strip debugging symbols (strip -S) when compiling with 'cpp.separateDebugInformation: false' on Darwin platforms. At least, gcc does not do that when building non-aggregated products, it only strips symbols when separate debug info is enabled. Also, stip symbols from all primary outputs (aka build variants), not only from the first one (which happens to be "release". This seems to be correct since we separate debug info from all build variants Fixes: QBS-1647 Change-Id: I7a0c0883c6b7f74fa4a2c7d4b7bdadc9ee23923a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use qbs.hostOS instead of qbs.targetOS in qml.jsIvan Komissarov2021-05-312-3/+3
| | | | | | | | | | | ... to check for the dreaded Windows limit for maximum command line length. Amends bf0a3750e0845eeba3814a4f16c20d112181e280. Task-number: QBS-1633 Change-Id: I3735d4f327d440a261666f5722a5715b9a31b320 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Bump version to 1.19.1Ivan Komissarov2021-05-291-1/+1
| | | | | Change-Id: Ifbedbe16b2efb085c969896b9bae4ed39ff3144a Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Add changelog for the 1.19.0 releaseIvan Komissarov2021-05-101-0/+65
| | | | | | | | Change-Id: Ic5f7e50320f8b8e16fa08fbdcee204e805553dc6 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Max Bespalov <bespalov.maxim.a@gmail.com> Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix reading Xcode 12.5 specsv1.19.0Ivan Komissarov2021-05-036-31/+78
| | | | | | | | | | | | | | | Since Xcode 12.5, common specs for darwin platforms were moved to "Darwin Package/Product Types.xcspec" in the different folder. However, the old configs are still present, so we need to merge info from both variants. Also, allow to use undefined variables in .xcspec files - since 12.5, this is a valid use-case. Also, implement the "default=" variable formatter used as a fallback when variable is not set. Fixes: QBS-1644 Change-Id: I9a55c5d511cbb01f30219478ee9f3b85763a08d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix compiler warning on MSVC64Orgad Shaneh2021-04-281-1/+1
| | | | | | | C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data Change-Id: I8bc3f90bc27f7142f6095123e30b956f07b1b618 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* 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>