aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Clean up version treatment in cpp moduleRichard Weickelt2019-08-232-21/+11
| | | | | | | | | | | | | The handling of version numbers in the cpp module was overly complicated and too restrictive. Version numbers that are valid according to SemVer (for instance 1.2.3-beta+47) were not accepted although being valid. This patch allows the usage of any version number as long as it starts with x[.y[.z]]. It also simplifies version number handling in the cpp module. Task-number: QBS-1486 Change-Id: I2790f8a80bd78bf549f5d46c0748f88c788addec Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add new MSP430 architecture to GCC toolchainDenis Shienkov2019-08-221-0/+2
| | | | | | Change-Id: I4747e3e99015fef93cc2c072a49c787d8c42811f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Improve JS code in SDCC module a bitDenis Shienkov2019-08-193-72/+123
| | | | | | | | | | | | | * Move an architecture-specific code to a functions in the sdcc.js file. * Remove the redundant copy-paste code. * Align order for assembler, compiler, linker and archiver flags to the unified form, like: <inputs> <outputs> <defines> <includes> <flags> * Add some comments. * Fix handling of cLanguageVersion property. Change-Id: Id787b4455847ac5dde4a926d850e7c076edc34d2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Improve JS code in KEIL module a bitDenis Shienkov2019-08-193-176/+273
| | | | | | | | | | | | | | * Move an architecture-specific code to a functions in the keil.js file. * Remove the redundant copy-paste code. * Align order for assembler, compiler, linker and archiver flags to the unified form, like: <inputs> <outputs> <defines> <includes> <flags> * Add some comments. * Fix handling of c{xx}LanguageVersion property. * Fix JS warnings about the variables re-definition. Change-Id: I708a446292e6f5c6bfb56ef3fa92815123808ccf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix KEIL assembler file tagsDenis Shienkov2019-08-191-8/+1
| | | | | | | | | | | | | The KEIL IDE examples contains the following patterns [*.s, *.a51, *.asm] for the assembler files. So, we will use same patterns too, which are intended: '*.s' - for ARM architecture. '*.a51' - for 8051 architecture. Change-Id: I8268d309bb6e9237a0f64d3280163afa997bfb81 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix IAR assembler file tagsDenis Shienkov2019-08-191-8/+1
| | | | | | | | | | | | | | | | The IAR EW IDE provides the following file patterns [*.s*, *.msa, *.asm] for the assembler files. So, we will use same patterns too. But, instead of '*.s*' pattern we will use a set of the following patterns: '*.s' - for ARM and/or STM8 architectures. '*.s43' - for MSP430 architecture. '*.s51' - for 8051 architecture. '*.s90' - for AVR architecture. Change-Id: I5aad9ee7a81325e65be18d0ae0e0c1c9a9f6cf27 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Improve JS code in IAR module a bitDenis Shienkov2019-08-193-291/+324
| | | | | | | | | | | | * Move an architecture-specific code to a functions in the iar.js file. * Remove the redundant copy-paste code. * Align order for assembler, compiler, linker and archiver flags to the unified form, like: <inputs> <outputs> <defines> <includes> <flags> Change-Id: Ibfdc536f78d1145f6e1190da33f67b0fb7063f05 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Richard Weickelt <richard@weickelt.de>
* baremetal: Add IAR MSP430 toolchain supportDenis Shienkov2019-08-153-5/+42
| | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the MSP430 processors family. To use it with Qt Creator, it is enough to add there a desired Kit with a custom IAR C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: iar Tested with EW for MSP430 v7.12.4 on Windows using the simple projects samples which come with the default IAR installer. Change-Id: I6a31da1823fd08ba7bf41a315ac20e98f5ba77f6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* C++: Add support for clang on WindowsChristian Kandeler2019-08-148-142/+296
| | | | | | | | | | | | | This is about clang in "mingw mode", not clang-cl. When targeting Windows, clang is a lot like mingw, so factor out the common parts into a new base module. Testing uncovered a number of invalid assumptions in our autotests, which are also fixed in this patch. In addition, minor adjustments had to be made to the Qt.core module and to the qbscore lib. Change-Id: I73085dc62a65e2a9d0397cf234c8641989246f22 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* baremetal: Fix detection of C++ language option for IAREW STM8Denis Shienkov2019-08-141-1/+1
| | | | | | Change-Id: I340c66090f0934eb2bc6dccdd0c2dbe1b1e1db2f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Define jobPool for AutotestRunnerJochen Ulrich2019-08-111-0/+2
| | | | | Change-Id: Ia90ea48e414fe9c4041f4bfc6961638b8a49fec4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add command and AutotestRunner timeoutJochen Ulrich2019-08-012-0/+7
| | | | | | | Task-number: QBS-1454 Change-Id: I6e2514d10cca0cba0a14456ecd2abfb495539ee4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* bare-metal: Fix SDCC toolchain moduleDenis Shienkov2019-07-292-24/+11
| | | | | | | | | | | | | * SDCC support only the '.lib' library suffix. * SDCC support only the '.rel' object suffix. * SDCC produce the 'ihx' default image format. Besides, SDCC expect same target flag for both compiler and linker. We automatically take this flag from the cpp.architecture property. Change-Id: If7eac1d5ddc0c571d3c6a870f46f78d61d699f12 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.14 into masterChristian Kandeler2019-07-265-9/+23
|\ | | | | | | Change-Id: Ic632b377bf10e2b320956011e9a7d4eea99f560b
| * baremetal: Fix detection of C++ language option for IARDenis Shienkov2019-07-241-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... which is used at dumping of predefined macros and a header paths. Reason is that for the different architectures the IAR use different C++ language options: * for ARM: --c++ * for AVR or 8051: --ec++ Change-Id: Ic2b4d50e9e2a978a5cbc69ed5353d5953e83c85d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Fix binutils pathChristian Kandeler2019-07-161-1/+1
| | | | | | | | | | | | | | | | Amends 65cb0d3e2d. Fixes: QBS-1459 Change-Id: I771cc179bcc996559d76c85d785780a1b044812b Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * Set minimumTvosVersion to "6.0" by defaultIvan Komissarov2019-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes (at least) two compile errors: - clang: error: invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later) - ld: library not found for -ldylib1.o The dylib1 is only present on macOS and not present in recent tvOS/iOS SDKs, clang tries to link to it if deployment target is less or equal to "5.0". Change-Id: Ie77a514bb2661312823df054f0dfca07d69e3059 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * ios: Move cpp.entryPoint from Qt.Core to Qt.guiIvan Komissarov2019-07-102-4/+6
| | | | | | | | | | | | | | | | | | It seems, that console ios apps should not try to do a _qt_main_wrapper trick since there's no platform plugin linked to the app and linker fails to find wrapper. Change-Id: I607db658d5e25d6029626b4a7efb46b2e228ab52 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Add hasLibrary property to Qt.coreRichard Weickelt2019-07-091-0/+1
| | | | | | | | | | | | | | | | This allows us to treat Qt.core similar to other Qt modules based upon QtModule.qbs when bundling Qt libraries together with an application. Change-Id: I9ae54ec40c3fb7506181afbd437f4e2f03b02e41 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Set cpp.minimumIosVersion to "6.0" by defaultIvan Komissarov2019-07-051-1/+1
| | | | | | | | | | | | | | | | | | This is required because earlier iOS versions are broken in recent XCode installations (at least, for XCode >= 7.0.0) Change-Id: Ib55e2eafcf26357695ab057da8109921518b7fea Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Add IAR STM8 toolchain supportDenis Shienkov2019-07-263-6/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the STM8 processors family. To use it with Qt Creator, it is enough to add there a desired Kit with a custom IAR C/C++ compiler, and then set the following in the Kit's Qbs profile settings: * Key: qbs.toolchainType * Value: iar Tested with EW for STM8 v3.11.1 on Windows using the simple projects samples which come with the default IAR installer. Change-Id: Ibc116ceb33b7df49c3241d26fa97136255ba06dd Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Add STM8 architecture for SDCC toolchainDenis Shienkov2019-07-262-3/+32
|/ | | | | | | | | | | | | | | | Previous implementation of SDCC toolchain based on an assumption, that the default target architecture always is MCS51. But, the SDCC compiler support multiple architectures: * http://sdcc.sourceforge.net/ So, it is makes sense to add support and for STM8 architecture to the SDCC toolchain. Change-Id: Ibbd32764fe2fac3e45fda93ac3d903c3619efb18 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix typo in option to enable C++ language for IARDenis Shienkov2019-07-031-2/+2
| | | | | | | | | We need to use the '--c++' option instead of '--ec++' to dump the macroses and headers for the C++ language. Change-Id: I545e661babc1ffa84ef189d28b2dd59be3cef29e Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for gRPC to the protobuf.cpp moduleIvan Komissarov2019-06-272-9/+100
| | | | | | | | This implements support for the gRPC framework: https://www.grpc.io Change-Id: Ia85461b9618e73827114c137fce8615e5a8139e3 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Assume that libc++ is present on iOS if cpp.minimumIosVersion is not setIvan Komissarov2019-06-261-2/+2
| | | | | | | | Otherwise, tests fail to locate old c++ library on recent Macs. Change-Id: I6ff5ceb0753dea73a5da1c70cfeb97b848cb7948 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add PathProbe::candidateFilter propertyIvan Komissarov2019-06-265-13/+15
| | | | | | | | | | | | | | | This property can be used to check if candidate conforms with some conditions. For example, an architecture of a shared library candidate should match the current qbs.architecture. Also, this will allow to implement support for the "text based stub libraries" (yaml files that point to a real library in a system) on macOS - instead of checking real file architecture, it should be read from .tbd file Change-Id: Ie84a3e70d883dec949440358e2f08213a8501982 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Allow PathProbe to search multiple filesIvan Komissarov2019-06-255-54/+119
| | | | | | Change-Id: I6ae2dd130cbafb03e51bc6e8e8a3e262d6d45fc6 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Android: Fix build with NDKr20BogDan Vatra2019-06-171-1/+1
| | | | | | | | In NDK r20 clang adds -lc++ library automatically which leads to link fails. Change-Id: Ifa5ae1f4be7d8a93146ef08a5dc312596dd19147 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge "Merge 1.13 into master"The Qt Project2019-06-171-1/+1
|\
| * Merge 1.13 into masterChristian Kandeler2019-06-141-1/+1
| |\ | | | | | | | | | Change-Id: Idab53d6bd9b6f2841e30d4a31f53ac53a05c2f09
| | * Add Visual Studio 2019 support1.13Joerg Bornemann2019-06-071-1/+1
| | | | | | | | | | | | | | | | | | Fixes: QBS-1451 Change-Id: I644835cf8ce18d546e6c8e2c75f689766456555d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | | Fix javac version detectionIvan Komissarov2019-06-143-5/+19
|/ / | | | | | | | | | | | | It seems, that javac -version can return "12" instead of "12.0.0" Change-Id: I804cbadb410dc11f566fda122f3082a8607ebb36 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Do not use pathSuffixes in IncludeProbeIvan Komissarov2019-06-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | This is wrong - on Windows, INCLUDE variable already contains /include suffix. This also makes IncludeProbe consistent with LibraryProbe. Change-Id: I166de8d4274842743886b0e234fff48688fd4c44 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add pkgconfig.sysroot propertyIvan Komissarov2019-05-272-0/+6
| | | | | | | | | | | | | | | | | | | | | | By default, pkg-config uses qbs.sysroot property which is not desirable in some cases - for example, on macOS, even build for current system is sysrooted to the SDK folder within XCode installation. pkg-config installed with brew resides in /usr/local and can't be found within an SDK dir. For that reason, it make sense to override it manually Change-Id: Ibf779fd1bf0e87189abb2eab23d4e9e153fcca17 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | C/C++: Prevent adjacent duplicate libsChristian Kandeler2019-05-272-1/+10
| | | | | | | | | | | | | | | | It is never necessary to have the same library on the linker command line twice in a row, so we can safely remove such duplicates. Change-Id: Ie6ebe489862702828996fb78533eb4ac400df1cd Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.13 into masterChristian Kandeler2019-05-234-16/+36
|\| | | | | | | Change-Id: Ic8e80604deb03e48fe264271de2e0add5023af87
| * Qt Support: Properly handle host libsChristian Kandeler2019-05-231-1/+13
| | | | | | | | | | | | | | | | | | | | We did not take into account that these might be located in a different place than the target libs. Change-Id: I2c27b6be6c8962416f1c062cd1d51ebed45f1796 Fixes: QBS-1445 Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| * Qt Support: Fix dependency de-duplicationChristian Kandeler2019-05-231-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | This functionality broke completely in c4e60ed828, which went unnoticed because it turned into a no-op rather than causing an error. As a result, Qt libraries tended to appear more than once on the linker command line. Task-number: QBS-1441 Change-Id: Ic2634b4501f0360a1adb13aa847e34e9d38674f7 Reviewed-by: Ola Røer Thorsen <ola@silentwings.no> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| * Do not override properties that are present in user plistIvan Komissarov2019-05-161-1/+2
| | | | | | | | | | | | Fixes: QBS-1447 Change-Id: Ie03530e960cbcf0ab14a9cb501a169aec311ec1a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix generation of the default Info.plist when building for iOSIvan Komissarov2019-05-162-4/+9
| | | | | | | | | | | | Task-number: QBS-1447 Change-Id: Icdd94b7731d1c84a225c53f780e339f9c7034320 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use validateFunc property in protobuf modulesIvan Komissarov2019-05-223-14/+22
| | | | | | | | | | | | | | | | | | This allows to use more native .base property to call super class validate function. Change-Id: I0f68be8e5823796502c53d719a00825075666b43 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Remove unused property in protobufbaseIvan Komissarov2019-05-201-1/+0
| | | | | | | | | | Change-Id: I52239c01a0e6dff3c22353c3ec4b354fd73a7662 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for KEIL toolchainDenis Shienkov2019-05-163-0/+23
| | | | | | | | | | Change-Id: I3a70a4a1045444bf053ebf5ac7f32dbe72c827a5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for KEIL toolchainDenis Shienkov2019-05-153-10/+32
| | | | | | | | | | Change-Id: Id689c4e0290ba83e8755b6787601338a01af07c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for SDCC toolchainDenis Shienkov2019-05-142-1/+7
| | | | | | | | | | Change-Id: I934a7bf3679dfda15ef245a9d14e834dc5136861 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for SDCC toolchainDenis Shienkov2019-05-143-0/+36
| | | | | | | | | | Change-Id: If9143a5af10c842bbb2b6dd08d201f8d9963012f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Use preferred architecture to dump macrosDenis Shienkov2019-05-143-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | .. for SDCC toolchain. The SDCC compiler binary support multiple architectures (aka 8051, z80, and others). So, it is necessary to set a target architecture option before getting the macros. We will take a preferred target architecture from the qbs.architecture property. If this property initially is undefined, then will be returned macros for default compiler architecture (usually it is mcs51). Change-Id: I379ffe90895b62e2786c3ffba2da47b1864da75d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerIncludePaths for IAR toolchainDenis Shienkov2019-05-103-0/+55
| | | | | | | | | | Change-Id: I3b8a3607e1e5c252731dea783acd9c1a0867a127 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Implement cpp.compilerDefinesByLanguage for IAR toolchainDenis Shienkov2019-05-103-7/+25
| | | | | | | | | | | | Change-Id: Id18528b1f6f6a98bec3f877e70c660180078a66c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.13 into masterChristian Kandeler2019-05-105-5/+13
|\| | | | | | | Change-Id: Ic02d717f80f5d831f0cedb3b7c565a9bfef3a2a3