aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* docker: Update Qt version to 6.1.2Ivan Komissarov2021-07-301-3/+3
| | | | | Change-Id: Ic75271f17ab4bbfbaccad605adf0bb9f16189a06 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cmake: fix QtC buildIvan Komissarov2021-07-292-4/+2
| | | | | Change-Id: I4f5ac22c5a58af984598d772c4f95cf1c9a465cf Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Always build with project file updates supportIvan Komissarov2021-07-2719-72/+11
| | | | | | | | Since QtGui dependency was removed, there is no reason not to Change-Id: Ib8975451f3c36a77e22a077bba18b5659f414767 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* Do not modify the global state after running providerIvan Komissarov2021-07-275-51/+36
| | | | | | | | | | | Instead, cache the result of the provider in a QHash using the provider/ module name and config as the key. This allows to have a clean state for each Depends item, so the order in which they appear does not influence which modules are generated. This is required for the later patch that implements "named" providers. Change-Id: Ia395cc94430763ed33d7ff5f2ee39e36d64f195e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Wrap ModuleProviderInfoList in a structIvan Komissarov2021-07-2712-23/+38
| | | | | | | Required for ongoing patchsets - later patches will add more members. Change-Id: Iad57e17139b104e55221059eedb8c0f057f6f4e0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge "Merge branch '1.19' into 1.20" into 1.20The Qt Project2021-07-2710-18/+78
|\
| * Merge branch '1.19' into 1.20Ivan Komissarov2021-07-2710-18/+78
| |\ | | | | | | | | | Change-Id: I2c7c200d4b0057bf7115306d000c13e60d2e8bd2
| | * 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>
* | | Use the fallback mode from parametersIvan Komissarov2021-07-271-1/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | ... when looking for transitive deps It makes sense to use the same logic for both scoped and fallback providers when looking for transitive deps. In any case, providers should have been run during normal dependency search and we should not execute any new providers here. Change-Id: I2053fe84adab327b8ab5fcb414ce53d7cf83bdb7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Long live Digital Mars toolchainDenis Shienkov2021-07-2715-20/+1241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds an experimental support for the Digital Mars C/C++ compiler for Windows: * https://www.digitalmars.com/ This compiler is only distributed for Windows host platform, but allows to create the binaries for Win32, Win16, DOS32 and DOS targets. This patch implements only the Win32 targets and has the following limitations: * Support for precompiled headers is not implemented yet (but which is supported by the compiler). * There is no support for the CI autotests due to the fact that the compiler has the following restrictions: - it needs a separate masm386 assembler. - it needs a special format of DLL library sources (required the DLL main function). - it needs the `kernel32.lib` to be always explicitly linked. - and, maybe other unexpected stuff. The following features are currently supported: * Compiling a source files in the C or the C++ mode. * Compiling the source resource (RC) files. * Creation of an applications (both console and GUI). * Creation of an dynamic (DLL) libraries with its import files. * Creation of a static libraries. Task-number: QBS-1598 Change-Id: I5a6ac05a7e7513a1c6d2403db037c309b0f12b90 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix some gcc warningsChristian Kandeler2021-07-261-2/+2
| | | | | | | | | | | | | | ... about hidden copies. Change-Id: I8f3a18bb308bd6e5a93575c92e487e45d7a8666b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Give more details on a property values mismatchChristian Kandeler2021-07-221-2/+17
| | | | | | | | | | | | | | | | The user might not remember which properties were originally passed on the command line, so show them if they don't match the new ones. Change-Id: I41fbfc84832c0bf56a950a6b546bccca50c88564 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Switch qbs-benchmarker to QbsIvan Komissarov2021-07-032-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | This allows to better utilize processor cores when building qbs as well as use ccache when set via profile: profiles.gcc.cpp.compilerWrapper: "/usr/bin/ccache" profiles.gcc.cpp.toolchainInstallPath: "/usr/bin" profiles.gcc.qbs.toolchain: "gcc" Change-Id: I4ba622777f1dd5d7c650a3d7399534043094c0b9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add hashing functions for QVariantIvan Komissarov2021-07-022-0/+74
| | | | | | | | | | | | | | | | | | | | Required for faster hash lookups of the providers by their config. Only small subset of types included in the hash function - types that can appear in Qbs properties Change-Id: I0ef80c7c4117b048596f307dcccb0a94d030b48a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Separate Cpp.{assembler|compiler}Output{Tags|Artifacts}Denis Shienkov2021-06-295-17/+35
| | | | | | | | | | | | | | | | | | We need to separate the functionality of these functions, since their content will differ in the future (for example, the 'intermediate_obj' tag will be added for the compiler). Change-Id: Ife65aed95966b92a3646d73512a0a0add4cd1aac Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix usage of Cpp.collectMiscAssemblerArguments() functionDenis Shienkov2021-06-296-21/+7
| | | | | | | | | | | | | | | | * We need to pass the 'asm' tag for this function. * We need to use this function also in MSVC toolchain. Change-Id: I3dfc7b79ec17b855da76dab35428d875c39548a1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Account for more QML-related binaries being in libexecMitch Curtis2021-06-284-4/+10
| | | | | | | | | | | | | | | | This amends b69b569ff43299dec625d573b08fec642039afea. Task-number: QBS-1636 Change-Id: I9d113d735ad0f9d4e517a675d9af9d3f0a25b802 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add unittests for the new hashing functionsIvan Komissarov2021-06-282-0/+47
| | | | | | | | | | Change-Id: I80336e4329fe0daed82e48421016c2a59d92fd02 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Don't use download.qt.io by defaultIvan Komissarov2021-06-241-1/+1
| | | | | | | | | | Change-Id: I8f12950125a7e9b5d79ef732ce306895170e61ea Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add hashing functions for tuplesIvan Komissarov2021-06-232-0/+59
| | | | | | | | | | | | | | | | Also, add hashRange function that allows to implement hashing functions for complex containers such as vectors and maps. Change-Id: Ib0af1e15bf59b5f845eafae6424afb30b9702db4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Implement Persistence::store/load functions for tuplesIvan Komissarov2021-06-221-0/+27
| | | | | | | | | | Change-Id: Idf14c56e88624efe63cff0a502d6d46f7fce49c8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | add .vscode to .gitignoreIvan Komissarov2021-06-161-0/+1
| | | | | | | | | | Change-Id: Ie13d24f20e587d311fcebfab28a482fcf8acb7e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cmake: fix build on mac with unit testsIvan Komissarov2021-06-151-1/+1
| | | | | | | | | | | | | | Foundation framework should be public dep Change-Id: I11160159ae28dbc5b34b175aabcbd840e56f5047 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cmake: fix build with unittests and external QtScriptIvan Komissarov2021-06-151-0/+3
| | | | | | | | | | Change-Id: I6a9be028f90966afed97903586091888006a319e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Make property cpp.compilerExtension as sharedDenis Shienkov2021-06-146-9/+1
| | | | | | | | | | | | | | | | It makes sense to share the cpp.compilerExtension property, because this property is used in almost all CPP modules. Change-Id: I0bf44a83c722772b93d7f2febbef7b4e38d11103 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Introduce new toolchainDetails propertyDenis Shienkov2021-06-139-431/+242
| | | | | | | | | | | | | | .. to reduce the number of if/else conditions and to simplify the code. Change-Id: Id4e6574b719986d3fc7f8b27106a60b00cbd67ea Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Implement validate script in CPP toolchain modulesDenis Shienkov2021-06-0710-79/+33
| | | | | | | | | | | | | | | | It makes sense to check the architecture inside of the 'validate' script in the module; and then we can throw an error only once. Change-Id: I17821404ad854e38bafc70f1ca6904c33c48147f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add missing inputsFromDependencies for COSMIC compilerDenis Shienkov2021-06-041-0/+2
| | | | | | | | | | Change-Id: I13053090dbd6eb5242d32e1dabd8799f25d8f133 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Remove some unused codeIvan Komissarov2021-06-031-11/+0
| | | | | | | | | | | | | | This amends 2f8a1b03cb047d95b74aab4301f78eaf7cbdee12. Change-Id: Idd894af891731d048d9f8c48d7fd2dcd2c43837b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Avoid copy&pasting code in gcc.js/darwin.jsIvan Komissarov2021-06-032-56/+61
| | | | | | | | | | | | | | | | Copy&paste leaded to 2 bugs in separating debug info, thus it makes sense to avoid code duplication. Change-Id: I031b9b7da937d35014f2c1c0a804ca13111dad12 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Move provider instantiation to a separate functionIvan Komissarov2021-06-022-39/+65
| | | | | | | | | | Change-Id: I9d9bb55c4341405d488a9d96e8c91cc90b719c4f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Extract provider file search to a separate functionIvan Komissarov2021-06-022-80/+93
| | | | | | | | | | Change-Id: I123b6a524cba1e250a70859b2529df7aba6e6a51 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.19' into masterIvan Komissarov2021-06-025-8/+15
|\| | | | | | | Change-Id: If67803997308ac02ce75daa2f22f12e3426079c8
| * 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>
* | baremetal: Use isMcs{51|251}Architecture() functions moreDenis Shienkov2021-06-011-9/+9
| | | | | | | | | | Change-Id: Ife56097ac36a406549e480537161d71a825d87ea Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for COLDFIRE architectureDenis Shienkov2021-05-315-9/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1648 Change-Id: I39dfeef1c5696e69bed8969890cf4f8fdb3c2741 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for HCS12 architectureDenis Shienkov2021-05-305-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1640 Change-Id: I7ab0c8099437fce962632ff87177e37fd04f82d2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for HCS08 architectureDenis Shienkov2021-05-295-7/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1641 Change-Id: I755fcd3b2a89d0d40fda8b7f9da3d72ee1918df5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for STM8 architectureDenis Shienkov2021-05-285-8/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Also the COSMIC toolchain has been added to the Github CI. Fixes: QBS-1639 Change-Id: Iffba0bc550c5d168fb453c7a325b2c9be06d4195 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Long live COSMIC toolchain for STM32 ARM architectureDenis Shienkov2021-05-2817-2/+978
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Cosmic Software compiler for the bare metal platforms: * https://www.cosmicsoftware.com/download.php Note that this compiler only works on Windows host platforms. Right now this patch implements support for ARM architecture for STM32 microcontrollers. But in the future it is simple to extend it and for other architectures (e.g. for STM8, HC08 and so on). Also the COSMIC toolchain has been added to the Github CI. Change-Id: Iabdfd61cc427155117730db46e067004ceb07102 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>