aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use different names for virtual functions in INodeVisitorIvan Komissarov2019-08-1617-48/+48
| | | | | | | | This fixes compiler warnings about hidden virtual functions in derived classes Change-Id: I3b53d07263f66133a41353eb6cfe05e1f3b20cc3 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add example for MSP-EXP430F5529LP boardDenis Shienkov2019-08-159-0/+518
| | | | | | | | This commit adds a simple example for the msp430-based microcontroller which blinking of the red LED and can be built for IAR EW toolchain. Change-Id: I5025130848020e71bef449f0ed15da1f68698e79 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Auto-detect IAR toolchain for MSP430 architecture on WindowsDenis Shienkov2019-08-151-2/+7
| | | | | | Change-Id: Ifc15d008ffd64e160d40a0a3e0f1b868dde4e8a4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* 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>
* More autotest fixesChristian Kandeler2019-08-152-0/+2
| | | | | Change-Id: Icf6b9f7528bdb4b062b6586b12a08d8b410090fd Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* C++: Add support for clang on WindowsChristian Kandeler2019-08-1421-159/+454
| | | | | | | | | | | | | 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>
* Minimal Qt installer scriptRichard Weickelt2019-08-132-23/+306
| | | | | | | | | | | | | | | | | | | | | One of the main problems in virtual environments like Travis CI is how to install Qt and QtCreator. The official installer provided by the Qt Company is almost unusable from command line. It is even harder to select only certain components (especially QtScript). Luckily, all components are available online under http://download.qt.io. This script installs components from the official Qt package repository. It can be used in any bash environment to simplify the setup procedure and supports every valid combination of host OS, target platform (desktop, android, ios) as well as toolchains. Dependencies: - bash - curl - 7z Change-Id: Ia2080cb80df98551332eb02c85c5933fd3bdaa4e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Prevent from 10min timeout on Travis due to long-running testcasesRichard Weickelt2019-08-121-1/+5
| | | | | | | | | | | | | | | | TestBlackbox runs for more than 10 minutes in the Windows environment on Travis and since recently also on Mac OS. This might trigger a non-configurable 10 minutes timeout due to no output generated by Qbs. The official workaround is travis_wait. But it is flawed, because it accumulates all output before it prints something, thus making it impossible to watch the output of a running build. This problem is often not noticed because other tests may run in parallel and produce output. This patch adds a background process which outputs an empty line every 9:50 minutes while running autotests. Change-Id: I0ac5d0f581aabbc0d8641a13e7d207dc84902b95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Define jobPool for AutotestRunnerJochen Ulrich2019-08-112-0/+18
| | | | | Change-Id: Ia90ea48e414fe9c4041f4bfc6961638b8a49fec4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix autotests for older compilersChristian Kandeler2019-08-072-0/+2
| | | | | | | | | Amends 923f98062b. Change-Id: Ib98279e962128573a46d8d6f9cfd822494d0dfd8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jochen Ulrich <jochenulrich@t-online.de>
* Merge "Merge 1.14 into master"The Qt Project2019-08-072-17/+5
|\
| * Merge 1.14 into masterChristian Kandeler2019-08-022-17/+5
| |\ | | | | | | | | | Change-Id: Ib40a6fb77dfb1653910e802276571fc5dcea4d64
| | * Avoid uses of Java-style iteratorshjk2019-07-301-16/+4
| | | | | | | | | | | | | | | Change-Id: I90cece156033b5d223a86016401a2199f5b6c11e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Prepare for explicit QChar constructorshjk2019-07-291-1/+1
| | | | | | | | | | | | | | | Change-Id: I906f63236230f10e6bdfb16ef3ee25cee8c407f6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Remove actualRunTime check to fix tests on CIJochen Ulrich2019-08-071-23/+2
| | | | | | | | | | | | | | | Change-Id: I99bfb12bde67eb815f05451d4fdee48aef685699 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | doc: Add missed information about KEIL uVision generatorDenis Shienkov2019-08-021-3/+26
|/ / | | | | | | | | Change-Id: Ib69952c190555401c6acdb48971ec0833215723a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add command and AutotestRunner timeoutJochen Ulrich2019-08-0120-25/+320
| | | | | | | | | | | | | | Task-number: QBS-1454 Change-Id: I6e2514d10cca0cba0a14456ecd2abfb495539ee4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | baremetal: Call missed AvrCompilerSettingsGroup::buildCodePage() methodDenis Shienkov2019-08-011-0/+1
| | | | | | | | | | Change-Id: I3ae23881f310393c82935ef59e91609e6b13efeb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Long live the IAR EW project generator for STM8Denis Shienkov2019-08-0121-1/+2087
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now it is possible to generate a native projects for the IAR Embedded Workbench IDE, e.g. using the following command: qbs generate -g iarew3 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile> We need in a valid IAR EW QBS profile, from which the generator take a desired target architecture and other stuff. The IAR EW generator has a semi-intelligent logic, it parses a source QBS project and converts a compiler flags and other stuff to an appropriate configurations of the native IAR EW project. Currently it is supported only one 'iarew3' generator which allow to generate a projects for the IAR EW for STM8 for all versions of 3 series. Tested with the IAR EW for STM8 v3.11.1, using as the QBS bare-metal examples, and as other projects. Change-Id: I47880d62cd1e81ed7bbfba840a5af0c558065013 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Share common generators codeDenis Shienkov2019-07-31106-1740/+1885
| | | | | | | | | | | | | | | | | | | | | | Common code which are used for the 'iarew' and 'keiluv' generators was moved to the corelib/generators library. Besides, this code also can be used in future for the XML-based generators. Change-Id: I79a21e3e078d563600d7f365785731fe9e847045 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add additional filter '*-gcc-[1-9]*' stringDenis Shienkov2019-07-301-0/+2
| | | | | | | | | | | | | | | | ... that allow to auto-detect the GCC toolchains with names like 'avr-gcc-5.4.0' and so forth. Change-Id: I004f68b8aeb2a17124cfd53d3643584dc6aa1bc6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Long live the KEIL UV project generator for 8051Denis Shienkov2019-07-3050-1/+4239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now it is possible to generate a native projects for the KEIL UVision IDE, e.g. using the following command: qbs generate -g keiluv5 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile> We need in a valid KEIL QBS profile, from which the generator take a desired target architecture and other stuff. The KEIL UV generator has a semi-intelligent logic, it parses a source QBS project and converts a compiler flags and other stuff to an appropriate configurations of the native KEIL UVsion project. Currently it is supported only one 'keiluv5' generator which allow to generate a projects for the KEIL UVision v5 for 8051 architecture. Tested with the KEIL UVision v5.23 for 8051, using as the QBS bare-metal examples, and as other projects. Change-Id: I248f1d220d9c9bcae9cb07d5bfbabbb85f9c39c9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect GCC toolchains for ARM and AVR architectures on WindowsDenis Shienkov2019-07-301-1/+81
| | | | | | | | | | | | | | ... provided by Microchip (Atmel). Change-Id: I230899e53cac3029fd910c9a3cc8112c86fd1ac0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect GNU ARM toolchains on WindowsDenis Shienkov2019-07-301-1/+37
| | | | | | | | | | | | | | | | | | ... which are installed from this site: https: //developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm Change-Id: Ic7e8886e53ede7b86289ef514eccd94870e17676 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Remove target flag from the MCS51 example for SDCCDenis Shienkov2019-07-291-2/+1
| | | | | | | | | | | | | | ... as this flag automatically sets inside of SDCC module. Change-Id: If670a3a67ed66f8fe9f2209e5259e57a1fb85f49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Add support for SDCC to stm8s103f exampleDenis Shienkov2019-07-292-6/+25
| | | | | | | | | | Change-Id: I00b62a426e806bbb57526658f7a5d3cb9a210b48 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | 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-2620-65/+208
|\| | | | | | | Change-Id: Ic632b377bf10e2b320956011e9a7d4eea99f560b
| * Improve clang-cl auto-detectionIvan Komissarov2019-07-251-1/+41
| | | | | | | | | | | | | | | | | | Now also check for the clang-cl in the default install locations Task-number: QBS-1316 Change-Id: I5d0dfd2b98164b0cac08358001cd1946b4f8aadc Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * 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>
| * Work around deprecation warnings in Qthjk2019-07-245-6/+22
| | | | | | | | | | Change-Id: Iff45f56fc91f3d513440a3e2aaf519a7aa0f7744 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Avoid some deprecation warnings for QLatin1Literal useshjk2019-07-221-8/+8
| | | | | | | | | | Change-Id: I8fe64c2ab78b1cf2e1af2a6aa2dad201299a0a94 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix outdated documentation for some multiplexing propertiesChristian Kandeler2019-07-171-3/+2
| | | | | | | | | | | | | | | | Amends 38c897a0d4. Fixes: QBS-1458 Change-Id: I2b3d72f5d738cc45fa061ce47711160d54bdfdc5 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-152-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add change log for 1.14.0Christian Kandeler2019-07-151-0/+35
| | | | | | | | | | | | | | Change-Id: I1c57713abf60c2b5b6ee7bf6a0b403736b60307b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> 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 a complete example for a Rule in a ProductIvan Komissarov2019-07-104-32/+65
| | | | | | | | | | Change-Id: I4739440cb90f7ef5795f79da053246f8071aa57e 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>
| * doc: Fix JobLimit::jobCount typeIvan Komissarov2019-07-061-1/+1
| | | | | | | | | | | | | | | | Should be int, not string Change-Id: Ib0caaa1730125d6f6debbbfc4346fe4f29dba935 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
| * Set cpp.minimumIosVersion to "6.0" by defaultIvan Komissarov2019-07-052-3/+6
| | | | | | | | | | | | | | | | | | 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 example for STM8S103F3 boardDenis Shienkov2019-07-2611-4/+449
| | | | | | | | | | | | | | | | | | This commit adds a simple example for the stm8-based microcontroller which blinking of the red LED and can be built for IAR EW toolchain. Change-Id: I6df068b0a2104f7418ed01c6a8ca03b2f9aef3cf Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Add IAR STM8 toolchain supportDenis Shienkov2019-07-264-8/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Auto-detect SDCC profiles for all supported architecturesDenis Shienkov2019-07-261-45/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous SDCC toolchain auto-detection algorithm based on an assumption, that the default target architecture always is MCS51. But, the SDCC compiler support multiple architectures: * http://sdcc.sourceforge.net/ A target architecture sets by the special command-line flag (f.e. -mmcu51 for 8051, -mstm8 for STM8 and so forth). As previously we have added the STM8 architecture support to the SDCC compiler, then it is reasonable to create a multiple SDCC profiles for one compiler for the different supported architectures. Right now, the SDCC compiler will be auto-detected as two instances: * with mcs51 architecture * with stm8 architecture Change-Id: I62949a30b770dab005628dc4fbd6ae67f5cf28ff 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>
* | Fix qbs-setup-toolchainsChristian Kandeler2019-07-241-2/+2
| | | | | | | | | | | | | | | | We must not insert empty tool file paths into a profile. Change-Id: Ic2f2815e011cd98e9c690348fb1a86c9be7f17de Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Refactor the GCC/Clang/MinGW compilers auto-detectionDenis Shienkov2019-07-234-90/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now the qbs-setup-toolchains can auto detect all installed compiler versions from the directories specified in the PATH environment variable. Also it tries to ignore all duplicate compiler executables found in same directory. F.e. if some directory contains two compiler names 'arm-none-eabi-gcc-9.1.0' and 'arm-none-eabi-gcc', and they are equal, then the compiler 'arm-none-eabi-gcc-9.1.0' with a longer name will be chose. Change-Id: I395dcbf79f4fc8d4653b1a51a751388a8d8d3f12 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Add additional namespaces and ifdef guard prefixesDenis Shienkov2019-07-2237-177/+312
| | | | | | | | | | | | | | | | | | ... to avoid a possible future conflicts with a same class names (e.g. at attempt to add a new generators). Change-Id: Ib8c4218a7f76e2a001dd1354b7676a0843a109ea Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Long live the IAR EW project generator for 8051Denis Shienkov2019-07-1817-0/+2586
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now it is possible to generate a native projects for the IAR Embedded Workbench IDE, e.g. using the following command: qbs generate -g iarew10 -d <path/to/build/directory> -f <path/to/qbs/project> profile:<your/qbs/profile> We need in a valid IAR EW QBS profile, from which the generator take a desired target architecture and other stuff. The IAR EW generator has a semi-intelligent logic, it parses a source QBS project and converts a compiler flags and other stuff to an appropriate configurations of the native IAR EW project. Currently it is supported only one 'iarew10' generator which allow to generate a projects for the IAR EW for 8051 for all versions of 10 series. Tested with the IAR EW for 8051 v10.10.1, using as the QBS bare-metal examples, and as other projects. Change-Id: If8a7397bebf6176010d42cfda41230e50a499a69 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>