aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Switch to Qt 5.15.0 and drop CI support for MinGW on LinuxRichard Weickelt2020-07-205-137/+35
| | | | | | | | | | | Cross-builds with MinGW on Linux are dropped mainly because of build issues and because MinGW support bloats the resulting Docker image. We have CI jobs running on Windows with MSVC and Clang-cl which should be sufficient. Change-Id: Iac4e0eaf1270844836697bebf52f9c056457caaf Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong array iterationRichard Weickelt2020-07-133-7/+6
| | | | | | | | | | It is not recommended to use 'for in' loops to iterate over arrays because additional properties in Array.prototype would be iterated over as well. For unknown reasons this is not the case when using QtScript, but it would be a problem when running on QJSEngine. Change-Id: I4404c03a6277dae471a9beb162b539edb9ace426 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Pass 'one-object-asm-application' test for IAR MCS51Denis Shienkov2020-07-092-0/+10
| | | | | Change-Id: I4c0a63d9ba06aec32cdc138be5aeb0078e55658f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Return 0 in ASM main function for KEIL MCS51 toolchainDenis Shienkov2020-07-091-3/+4
| | | | | Change-Id: I18ade9e8382c539ba1a29268f7101e656793541f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Replace '.asm' extension with '.s' extensionDenis Shienkov2020-07-082-1/+1
| | | | | | | | | | | ... for an assembler source files in a tests. Reason is that the '*.s' extension is a more popular, besides, this extension also requires for the GCC compiler for a future tests. Change-Id: I0dd764f76e8f9731ee96db110831392616ccae44 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* protobuf: make outputDir property "private"Ivan Komissarov2020-07-084-6/+6
| | | | | Change-Id: I0b6d77a6ca2333feafa67bfd904862fb318f05e6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add 'one-object-asm-application' test for KEIL MCS51Denis Shienkov2020-07-073-1/+47
| | | | | | | | | This commit adds an auto-test which compiles an application using one asm-source main module to check that an assembler does work correctly. Change-Id: I38d512f62bab2e96781405632822f81c13673064 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Initialize Depends item in aggregator Product properlyRichard Weickelt2020-07-071-0/+2
| | | | | | | Default properties were not initialized, but we do it everywhere else. Change-Id: I43226b7e683efe9295f1d587e374ef786d602ddb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong variable scope in protobuf.jsIvan Komissarov2020-07-071-1/+1
| | | | | | Change-Id: Ife096ede8ac7a929fb1ae2c7323c79258a0f1d8e Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: get rid of the unused 'product' parameterIvan Komissarov2020-07-073-11/+11
| | | | | Change-Id: I1f1c5d04d2c3e87c39eb668e4dc3feebb9fc452c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Avoid unwanted defines when building bundled QtScriptChristian Stenger2020-07-071-0/+6
| | | | | | | | | When building Qbs there might be project defines present that make the compile fail. Drop these defines if present. Change-Id: I24532efca94560a21690f3016282a8f9420abe54 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* visualstudiogenerator: fix generating projects for the new VSIvan Komissarov2020-07-061-1/+1
| | | | | | Fixes: QBS-1569 Change-Id: I190b4c0cc6f83078f7e16ed3263510e0bc208f4b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: get rid of the validateFunc()Ivan Komissarov2020-07-064-45/+41
| | | | | | | | Copy & pasting the base validate script leads to a cleaner and shorter code Change-Id: I67b3c5c4776d8cc321dc1f26e00c301c1a66f7fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix wrong variable scope in conanfile-probe testcaseRichard Weickelt2020-07-031-1/+1
| | | | | | | Although defining tf without var seems to work, it is wrong. Change-Id: I444395e79e722f6df58d7b82c751338104c0c840 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* protobuf: fix condition in addressbook_cpp exampleIvan Komissarov2020-07-031-1/+1
| | | | | | | It is not allowed to compare lists using operator== Change-Id: I6c3ad9e70a7f2ecd0cfbc7f85ad7ce84a19532d0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* protobuf: Rename protocBinary property to compilerPathIvan Komissarov2020-07-034-16/+50
| | | | | | | | For consistency with the cpp module Change-Id: I16b9facc1c5befa6b8860dc1a51f8302ffac7a4d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not use id property in protobuf examplesIvan Komissarov2020-07-032-4/+4
| | | | | Change-Id: Ia7128e89624d874755e699dde791ac0d7c4029b2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Don't use startsWith("xtensa") in testsDenis Shienkov2020-07-032-2/+2
| | | | | | | ... because it is better to use the direct comparison instead. Change-Id: Ie1b84b722beae3a263840ebbf9984f7061e71f07 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Simplify cpp.prefixHeaders handling using KEIL ARM toolchainsDenis Shienkov2020-07-032-18/+18
| | | | | | | | | | | | | | | | It seems it makes no sense to add the 'pre-include' flags before the 'defines' and 'includes', because all pre-includes will be pre-processed after the 'defines' and 'includes'. At least this note belongs to the 'armclang' compiler: * http://www.keil.com/support/man/docs/armclang_ref/armclang_ref_sam1452772182261.htm So, we can simplify the cpp.prefixHeaders handling to minimize the JS code duplication. Change-Id: I7c6dd7b5545294ff6aba866c2be9ebbcff190f6f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for MSP430 architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | | We need to specify an existing MCU type to make it possible to use an appropriate linker script for linking. Change-Id: I7fac9a4856448cafbb1365f67badf685f737e268 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix cpp.prefixHeaders for KEIL ARM clang toolchainDenis Shienkov2020-07-021-9/+18
| | | | | | | | The 'armclang' compiler does not have the '--preinclude' option, it has the '-include' option instead. Change-Id: Idfb537c0cead1152b4444aa152220a173ce30f5e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix order of known {C|Cpp} language versions for KEIL ARMDenis Shienkov2020-07-021-4/+2
| | | | | | | | | | | According to the QBS documentation, an element with the lowest index should contain a highest language version. Also, we don't need to handle the non-standard language extensions, e.g. as 'GNU' and so forth. Change-Id: Ieca02f040fa847f3c27249fa8c7971f59ebe5da1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for XTENSA architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | We need to exclude the system libraries from the linking. Change-Id: I9f1935a7aac8955302e0771193963feeba2368e3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow to pass tests with GCC compiler for ARM architectureDenis Shienkov2020-07-022-0/+10
| | | | | | | We need to exclude the system libraries from the linking. Change-Id: I9a20cf8b979666831b6f7cc32c4e3e352fa1a861 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add support for c99 language version for SDCC toolchainDenis Shienkov2020-07-021-1/+4
| | | | | Change-Id: I7159e58fb15c7d8c131664ec0a4ee1c2deecc5a9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Allow libraries linking with SDCC on Windows hostDenis Shienkov2020-07-021-1/+24
| | | | | | | | | | | | | | | | This commit implements a workaround for the SDCC bug on a Windows host: * https://sourceforge.net/p/sdcc/bugs/2970/ A bug is in that the SDCC generates an object files with the DOS line endings '\r\n' instead of the UNIX line endings '\n' on a Windows host, that leads to the linking errors. We need to patch the generated object files to use only the UNIX line endings. Change-Id: I055169d0e707b49434af3a7a8c488ae597d1c889 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix cpp.warningLevel for SDCC compilerDenis Shienkov2020-07-011-1/+6
| | | | | | | | | It turns out that it is possible to pass the '-Wall' and '-w' options directly to the preprocessor, due to the compiler does not support this options. Change-Id: I7624378fb4ae4e161fc19d0f4dfb8e66763ae6f6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.{system|distribution}IncludePaths for SDCC compilerDenis Shienkov2020-07-011-1/+2
| | | | | Change-Id: I80d21f1d7761b5ff9a834ef51949684846592f03 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.prefixHeaders for SDCC compilerDenis Shienkov2020-07-011-0/+15
| | | | | | | | The SDCC compiler has the -Wp option which allows to pass the preprocessor options directly to the sdcpp preprocessor. Change-Id: I3b2c1bd5accb1bbdc7f7d7309384efc6649f4cfd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Implement cpp.prefixHeaders for IAR and KEIL toolchainsDenis Shienkov2020-06-297-0/+33
| | | | | | | | | | | Right now it is possible to use the cpp.prefixHeaders property for the KEIL ARM MDK and the IAR EW toolchains. Take into account that the IAR EW toolchain support only one preinclude file. Change-Id: I9e367825575409fa446f3b012a0e1e8d156643ef Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix {c|cpp}LanguageVersion handling on KEIL ARM Clang toolchainDenis Shienkov2020-06-283-4/+22
| | | | | | | | We need to skip the 'undefined' language version returned from the Cpp.languageVersion() function. Change-Id: I3345c2fbdde8b50c8fb9035ec10ca21e0024e6d3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix architecture code detection for ARM using IAR toolchainDenis Shienkov2020-06-281-1/+5
| | | | | | | | We need to use architecture.startsWith("arm") for the ARM architecture, because now the ARM architecture has detailed name (like 'armv7 and etc). Change-Id: Ia9bed35af66de954ec47d8b4a0622a6ad78bf074 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Derive all applications and libraries from common productsDenis Shienkov2020-06-258-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that for different architectures and different toolchains we need in a minimal set of a platform-specific flags and etc. Previously (e.g. for MCS51 architecture and IAR/KEIL/SDCC toolchains) we are not faced with this problem, because there by default we don't need to specify a platform-specific flags for a minimal test. But, for other platforms and compilers we need in this basic flags (e.g. for ARM architecture and KEIL toolchain, we need to set the CPU target flag, e.g. '--cpu cortex-m0'). So, it makes sense to derive all tested baremetal applications and libraries from the basic BareMetal{Application|StaticLibrary} products. In this case we can configure the desired flags once, using the QBS Properties item. Tested with the following architectures and toolchains: * MCS51 (KEIL, IAR, SDCC) * STM8 (SDCC) * ARM (KEIL) Change-Id: I484ed3abf78050fe2dd27e96e9442a3a03cecfa5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Add support to generation of aab packageRaphaƫl Cotty2020-06-2516-262/+562
| | | | | | | | | This patch adds the Android.sdk packageType property which sets the target application. By default (previous behavior) qbs generates an apk package. When set to aab, qbs generates instead an aab package Change-Id: Ic09776d08e2a2ecd68fb4c08881201a7a0a25240 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add auto-test for 'static library' dependentiesDenis Shienkov2020-06-2510-0/+92
| | | | | | | | | | | | | This commit adds a blackbox auto-test which provides a project with a multiple static library products 'a-e' and an one application product. An application depends on the 'e' library, but this library also depends on other libraries 'a-d'. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: Ib79f4f7bed4ac0bf6f06d39705bb19bd4284f22d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix linker name detection for ARM using IAR toolchainDenis Shienkov2020-06-221-1/+1
| | | | | | | | | | | | | | | | | | | This commit ab0abfc introduced a regression in the detection of a linker name for the ARM architecture. A problem is that now the ARM architecture has a detailed name, e.g. "armv7", "armv6", against the previous "arm" name. In this case the following code: "ilink" + architecture returns a wrong linker name, e.g. "ilinkarmv7" instead of "ilinkarm". So, we need to check on ARM architecture and then return a valid linker name directly. Change-Id: I4f44cdc9875f00676bc36cfa4fc36b36b92a8190 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add autotest for renaming a qbs project fileChristian Kandeler2020-06-224-0/+52
| | | | | | | | | | ... that is also a normal source file in a different product. Unfortunately, this does not trigger the behavior described in the linked bug report, but it can serve as a starting point. Task-number: QTCREATORBUG-24037 Change-Id: I78ffb7429b04db5f0eca45b9197ecb2b8bb31211 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add a test case for source files disappearing during the buildChristian Kandeler2020-06-225-0/+52
| | | | | Change-Id: I4585c054b575168a5a90ae0c5a417c2a7f0e39ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix static library creation from multiple objects for KEIL toolchainDenis Shienkov2020-06-171-1/+1
| | | | | | | | | | | The problem was in that the 'input' parameter becomes undefined for a multiple input files. We need to use the 'product' parameter instead. Tested for MCS51 architecture. Change-Id: I147d8d9b483dc6c567669364375ed78ef70b94d2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.distributionIncludePaths propertyDenis Shienkov2020-06-176-0/+30
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: I0eb480ee700ee1d44df69bbcfe9d7d87681212d6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.systemIncludePaths propertyDenis Shienkov2020-06-176-0/+30
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: If68be8f120a0ef760f6ca5b3674dfd49f2cf8a7f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Add auto-test for cpp.includePaths propertyDenis Shienkov2020-06-176-0/+31
| | | | | | | | | | | This commit adds a blackbox auto-test which compiles an application using two include paths foo and bar. Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: I4d6114ac2d0b4d8afaf976d5752da8e08d6c73a7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix generation of static libraries using IAR toolchainDenis Shienkov2020-06-161-13/+22
| | | | | | | | | | | | | | A problem was in that we use wrong 'xlib' utility to create the static libraries; we need to use the 'xar' utility instead. This utility delivered only for the following architectures: mcs51, avr, avr32, msp430, v850, 78k, m68k, m32c, r32c, m16c, cr16 in other cases we need to use the 'iarchive' utility. Change-Id: I69660d22842e2011aa02187021f491f270491144 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Long live "application" product type testDenis Shienkov2020-06-1611-0/+166
| | | | | | | | | | | | | | This commit adds a blackbox auto-test which compiles two applications: * first - is an application from the one object file * second - is an application from the two object files Tested for MCS51 architecture with IAR, KEIL, and SDCC toolchains. Change-Id: Ib33430a6d87d3cdda48861e688b233e182d96b51 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Qt 5.15 deprecation warningsChristian Kandeler2020-06-1624-38/+81
| | | | | Change-Id: I1d6968de823c43e42ca53eb68972ba5e69dc29ed Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix possible race in ~InternalJobThreadWrapper()Ivan Komissarov2020-06-161-4/+3
| | | | | | | | | | | It might happen that finished() is emitted before the call to connect() to the QEventLoop::quit slot resulting in endless loop. Fix that by calling QCoreApplication::processEvents() directly. Change-Id: Ic0899c4d5b04d095b26912b9693ae245df6da4f2 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Change the order of pip packages on WindowsIvan Komissarov2020-06-161-1/+1
| | | | | | | This somehow fixes the SSL error Change-Id: I19d0d03eebc5247af1abcfb6e2b704cec662df26 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* MSVC: Add missing handling for cpp.distributionIncludePaths propertyDenis Shienkov2020-06-156-0/+27
| | | | | | | | | This commit adds handling of cpp.distributionIncludePaths property, which were ignored at all on MSVC toolchain. Fixes: QBS-1572 Change-Id: I30b6697bee2b1140a56a04931dd5d91369ef86fc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Suppress leaks from QThreadPrivate()Ivan Komissarov2020-06-151-0/+2
| | | | | | | | | | | It looks like there's a leak in Qt code - the QThreadData object is leaking in some obscure cases (or the bug in Qbs is too tricky to be spotted in reasonable time), so suppress those leaks for now. Note that QArrayData::allocate leaks from the posted event list object which is stored in QThreadData too, so this is the same leak. Change-Id: I64a2cce1746ce5565dc79b5a142c7c146e1a7391 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* XCode: fix filePath of provisioning profiles artifactsIvan Komissarov2020-06-151-6/+3
| | | | | | | | | | It is not correct to copy provisioning profiles to destination directory since 2 products can set it to the same location (e.g. external-libs test). Copy those to the project build directory instead, it is guaranteed to be unique. Change-Id: Ia895b1cfe46931197fccfa155ca323d65137408b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>