aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add hashing functions for tuplesHEADmasterIvan Komissarov10 hours2-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 Komissarov43 hours1-0/+27
| | | | | Change-Id: Idf14c56e88624efe63cff0a502d6d46f7fce49c8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* add .vscode to .gitignoreIvan Komissarov8 days1-0/+1
| | | | | Change-Id: Ie13d24f20e587d311fcebfab28a482fcf8acb7e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* cmake: fix build on mac with unit testsIvan Komissarov9 days1-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 Komissarov9 days1-0/+3
| | | | | Change-Id: I6a9be028f90966afed97903586091888006a319e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Make property cpp.compilerExtension as sharedDenis Shienkov10 days6-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 Shienkov10 days9-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>
* | Android: Add option to use dex compiler d8 instead of dxRaphael Cotty2021-05-265-47/+135
| | | | | | | | | | | | | | | | d8 dex compiler was introduced in Build Tools 28.0.2 to replace dx. It is the default compiler used by gradle since version 4.4 Change-Id: I603c61f6f1a151f3c5be78385bf9648929e7d81b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Use separate functions for repetitive actionsDenis Shienkov2021-05-2513-454/+433
| | | | | | | | | | | | | | | | | | It makes sense to minimize the copy-paste errors by moving the repetitive code into the separate functions to the cpp.js file. This will simplify the code and improve the maintenance. Change-Id: Id5a2914ff28619553b855cc6f09810ad370c408c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Remove Ministro supportRaphael Cotty2021-05-243-98/+27
| | | | | | | | | | | | | | Latest Qt with Ministro is 5.7. So let's remove it form Qbs. Change-Id: Iee03c06c4c2e5c806dc99025a5bf2c200894ec60 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Add profiling timer for module providersIvan Komissarov2021-05-202-0/+7
| | | | | | | | | | Change-Id: Ia1c79675a20fb3d97ae2a1aa65091fb87a03cc21 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Move module providers code to the separate classIvan Komissarov2021-05-199-211/+411
| | | | | | | | | | | | | | | | | | | | | | | | | | ModuleLoader is too big and more logic will be added to module providers, so it make sense to extract some code to a separate class. Unfortunately, it is hard to break the dependency between types completely - it is tempting to pass ModuleLoader::ProductContext into new class functions. Alternative would be to pass all necessary data via function parameters which will make the code less readable. Change-Id: Ida61192348ef7db89b21f0d58f05e61969e2d01c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Move cpp-specific JS functions to cpp.js fileDenis Shienkov2021-05-199-174/+178
| | | | | | | | | | | | | | | | | | Previous commit 79b9b02 added these functions to the ModUtils module, but seems a best place for these functions is cpp.js file. Change-Id: Id89b88e1865d003c1c7811220ed01f6d6becfba3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix using extraSearchPaths stackIvan Komissarov2021-05-184-16/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We push productContext->searchPaths via SearchPathsManager in the setupProductDependencies() and then add some paths via providers. This results to the fact that SearchPathsManager pops providers path but not the one added in setupProductDependencies(). Fix that by restoring the state completely where it was before resolveDependencies() call. This is fine, since providers paths are also added to productContext->searchPaths and second Dependency resolution pass will use it. This allows to get rid of the newlyAddedModuleProviderSearchPaths which seems to be needed only to count elemets in the stack correctly. This is implemented be remembering the extraSearchPathsStack.size() in SearchPathsManager object. Change-Id: I8f2352e652d27f2a0b770c2a026f115e5a4ded9a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | CMake: Don't add dummy target if it already is thereEike Ziller2021-05-181-2/+6
| | | | | | | | | | | | | | | | | | For example because the Qt Creator build system created it. Amends 287311ed774a86ef9ce053dd42e947cd28b48495 Change-Id: Ifba330c53d37ab44c9c6b6479dd744f11f89fbef Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | cmake: Add Qt6 buildIvan Komissarov2021-05-1810-23/+40
| | | | | | | | | | | | | | Also, switch Linux CMake job to build Qbs with Qt6 Change-Id: I188845a7cc086a8c87dbb7445ea95f99b26d94ef Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cmake: Add bundled QtScript buildIvan Komissarov2021-05-188-4/+379
| | | | | | | | | | | | | | | | | | | | | | | | Also, make QtScript dependency optional like we do in the Qbs build. Tested on macOS, Linux and Windows. CMake 3.15 is now required for the CMP0092 policy which removes default warning flags from CMAKE_CXX_FLAGS. Change-Id: I199fb802d5ad72d1ac8d5a89c05372c43581c95d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Avoid code duplication in TestBlackboxBase::runQbsIvan Komissarov2021-05-171-7/+6
| | | | | | | | | | | | | | | | Now we write log in both success and error cases, the only difference is that we reset exitCode to -1 in error case. Change-Id: I2ffe9b14c0ba1ad11acd9f81f35a0594dda26c12 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Print stderr and stdout in case of errorIvan Komissarov2021-05-171-0/+3
| | | | | | | | | | Change-Id: I72a1db91f4cce46e57af0b69d73ab0edff0fec28 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | GitHub actions: only run baremetal job when run by botIvan Komissarov2021-05-171-0/+1
| | | | | | | | | | Change-Id: I3a235b3c2ba36778f0df76e9f777e3d053d855c7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Share generation of generic lists of tags and artifactsDenis Shienkov2021-05-147-395/+179
| | | | | | | | | | | | | | | | | | | | | | It makes sense to put in separate functions the repeating code for generating a list of tags and artifacts for compilation and linking. The generic code has been moved into the ModUtils module, which simplifies maintenance and minimizes copy-paste errors. Change-Id: I28b8e5467cf6a6764cbe7b1b7b68797b1d6ec1f4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use smart pointers in Qt scannerIvan Komissarov2021-05-131-7/+6
| | | | | | | | | | Change-Id: I5ed9a9d97eeabff70b5a67f3e7fcfbe49fb13675 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Do not use manual memory management for d-pointersIvan Komissarov2021-05-1316-52/+44
| | | | | | | | | | Change-Id: Ifde88ede2f9ac65f2406ef62b4115534f6fe7135 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Use std::unique_ptr in BinaryFile and TextFileIvan Komissarov2021-05-132-24/+8
| | | | | | | | | | Change-Id: I74fae5409155eda7bbaa762bfc55c4caf3b89790 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Use std::unique_ptr in qbs::Internal::ProcessIvan Komissarov2021-05-131-10/+3
| | | | | | | | | | | | | | Allows to make dtor trivial Change-Id: I08e8ab2559a6b6314c6bbb523869deb9d20f53d9 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | Merge branch '1.19' into masterIvan Komissarov2021-05-121-0/+65
|\ \ | |/ | | | | Change-Id: Ia17abccdb683c34e82227df638d2d8f9ccb51f31
| * 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>
* | GitHub actions: fix building debug infoIvan Komissarov2021-05-104-4/+3
| | | | | | | | | | | | | | | | | | | | This fixes building and arhiving the debug information. We do not build debug info in release build for now to avoid including it in the archive - it should be in a separate archive Change-Id: I01878676190b410b3b76c9bb477dd74bf4cdd767 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | GitHub actions: fix path to mingw archiveIvan Komissarov2021-05-101-1/+1
| | | | | | | | | | | | | | This amends 4206f5d2697729436bd9cfb7bfee869c275283be. Change-Id: I14b8df04783af0d5adb7aa98593ccaba8c2844bf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Replace "product" variable by "exportingProduct" in Export itemsRaphael Cotty2021-05-0713-26/+27
| | | | | | | | | | | | | | | | | | | | | | | | "product" variable in an Export item will point to the "importingProduct" in 1.21. This patch prepares the change by replacing "product" by "importingProduct" when necessary. Task-number: QBS-1576 Change-Id: I215d46484754e76771039a750dc4beb33d8a0c9c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | GitHub actions: Update qtc version to 4.14.2 (Qbs 1.18.2)Raphael Cotty2021-05-063-4/+2
| | | | | | | | | | | | | | | | This patch completes the upgrade of the Qbs version used to compile Qbs. This amends commit 9bf5fad4fcc5961922889ef32b0e95100e50bb5b. Change-Id: Ia1da60c219db88b540eb31d0a03075b12bb8cc05 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Use 64bit QtC version instead of 32-bit oneIvan Komissarov2021-05-061-0/+5
| | | | | | | | | | Change-Id: I34347e51eecb076872181ef71094a1189f436407 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix conditionally generation for some artifacts and tagsDenis Shienkov2021-05-068-83/+157
| | | | | | | | | | | | | | | | | | | | | | | | We need to generate a list of file tags and artifacts taking into account the dependent properties from the product. For example, we should only build tags for generating linker files if the generateLinkerMapFile property has been set. Change-Id: I286c566ffe119eebf24b60113dda65403f7af3dd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>