aboutsummaryrefslogtreecommitdiffstats
path: root/src/app
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch '1.15' into masterRichard Weickelt2019-12-151-6/+23
|\ | | | | | | Change-Id: I893a0c195de293fead09db63b7fcdf48bbfab61c
| * Fix auto-detection of the clang-cl installed with Visual Studiov1.15.0Ivan Komissarov2019-12-101-6/+23
| | | | | | | | | | | | | | | | | | It is possible (since VS 2017) to install LLVM tools using Visual Studio installer. These are not registered in Windows registry, but can be detected manually Change-Id: I80b29f14c73c331f1812ee6c995e83b3207e0816 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix 'performance-move-const-arg' warningsIvan Komissarov2019-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Also, treat that warning as error In some places move is redundant (e.g. when moving int or enum), in others it wasn't working as expected (i.e. not moving, but copying instead), in some, const-ref was (uselessly) moved. Fix those places Change-Id: I0b38667a71967fa35ca627990d3c12124fb62af0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use std::unique_ptr in SessionPacketReaderIvan Komissarov2019-12-042-6/+8
| | | | | | | | | | | | | | This allows to have a defaulted destructor Change-Id: I7c5c5819460d37f162a93319d23efaf2ad98def6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply 'modernize-make-unique' fix-itIvan Komissarov2019-11-281-1/+1
| | | | | | | | | | Change-Id: I93783cfa3267f69237b0ad888d0747e4272cda0a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply 'readability-container-size-empty' fix-itIvan Komissarov2019-11-251-1/+1
| | | | | | | | | | Change-Id: I4693b9a2c941b63e8b60bbe5d188031e648354f6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Replace QList<qbs::Profile> with std::vector<qbs::Profile>Ivan Komissarov2019-11-2515-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | First, QList is not very good with qbs::Profile since sizeof(qbs::Profile) > sizeof(void*) Second, there's a common pattern to move value when appending to a list: profiles.push_back(std::move(profile)), but it doesn't work with QList since it doesn't have push_back(T&&) overload Change-Id: Idc288390d8a89687ba5fe8be678d4fbd803c4249 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply 'modernize-use-equals-default' fix-itIvan Komissarov2019-11-253-16/+5
| | | | | | | | | | Change-Id: Iabdc777d2e8492d9903109365b0f3b1a5441ca11 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply 'modernize-use-override' fix-itIvan Komissarov2019-11-251-1/+1
| | | | | | | | | | Change-Id: I1e31b2983568848db8af7139244fe96821ac3b1e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix -Wunused-but-set-variable on Ubuntu/mingwIvan Komissarov2019-11-201-1/+1
| | | | | | | | | | Change-Id: I4d837f47f9a2783060fe5832005015ea9adaf5e7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Don't duplicate "HKLM\\..\\Uninstall" registry keyDenis Shienkov2019-11-151-15/+9
| | | | | | | | | | | | Change-Id: I3a6f5d200acfec3bf5dd9716be756e15de056279 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect MPLAB X32 GCC toolchain on WindowsDenis Shienkov2019-10-311-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microchip Technology Inc. provides set of own GCC toolchains to use it with the PIC32 microcontrollers: * https://www.microchip.com/mplab/compilers On Windows these toolchains distributed in a form of the installer packages. So, it will be good to auto-detect such toolchains there. But, this patch do it partially, it can not detect each installed toolchain as separate instance. For example, if we have a two toolchains v2.20 and v2.30 installed, then it will looks like this: Profile 'xc32-gcc' created for 'C:/microchip/xc32/v2.20/bin/xc32-gcc.exe'. Profile 'xc32-gcc' created for 'C:/microchip/xc32/v2.30/bin/xc32-gcc.exe'. In resulting, the toolchain v2.20 will be overwritten by toolchain v2.30, because its names are identical, and then the one last profile will be created. Seems, to solve this issue we need to dump the compiler version. But a problem is in that both compilers has same 4.8.3 version. So, it is not possible to separate there two compilers in a simple way. Maybe, in future, we can look on the __XC_VERSION__ macro, and to interpret it as 'build' version (which is 2200 vs 2300). But, for this purpose we need to refactor the logic in gccprobe.cpp. Change-Id: Id804a411ed6046b31e57b0468d75830eef92693c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect IAR toolchain for Renesas RL78 architectureDenis Shienkov2019-10-301-2/+6
| | | | | | | | | | | | Change-Id: I49dec9b3d33de7a1bf69c785f485e3db7baaa3d5 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect the Renesas RL78 GCC toolchain on WindowsDenis Shienkov2019-10-301-7/+54
|/ | | | | | | | | | | | | | | | | | | This patch impplements an auto-detection of installed GCC toolchain for RL78 architecture from the Renesas: * https://gcc-renesas.com/rl78/rl78-download-toolchains/ I had surprised that Renesas RL78 toolchain has a "non-standard" name, like: * rl78-elf-gcc-4.9.2.201902-GNURL78.exe As you can see, this name ends with "GNURL78" text, which causes a wrong prefix and suffix detection. So, now we use a scary regular expression to right compiler name parsing. Change-Id: Ibf820f8fb44419be4cf02894b1ab9dad9e18d77e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix static buildChristian Kandeler2019-10-102-0/+19
| | | | | | | | Make sure we link in the generator plugins. Fixes: QBS-1491 Change-Id: I8c48a73f972c4089cfc8c097a67e2945837e9ed4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* JSON API: Force binary mode for stdout on WindowsChristian Kandeler2019-09-301-0/+15
| | | | | | | | Otherwise, the line feed character will get expanded to \r\n. Change-Id: I90e83d80625c59978986541fb2d04f49e75afaf0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Merge 1.14 into masterChristian Kandeler2019-09-262-18/+56
|\ | | | | | | Change-Id: Ie432987ee2d3ccaa6e881b1b01f142185eddabd8
| * baremetal: Fix auto detection of SDCC toolchain on WindowsDenis Shienkov2019-09-232-18/+49
| | | | | | | | | | | | | | | | | | | | | | | | The SDCC toolchain package can be provided as 32-bit or as 64-bit installer. If the SDCC 64-bit package will be installed on the 32-bit Windows, then it will not be found in the system registry, because we use the QSettings::NativeFormat. So, we need to check the data for the 32-bit and 64-bit registry sequentially. Change-Id: I15981f39274308e3690cf072396cf1ae82b6743d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Introduce the session commandChristian Kandeler2019-09-1816-1/+1416
| | | | | | | | | | | | | | | | | | | | Offers a JSON-based API for interaction with other tools via stdin/ stdout. This allows for proper qbs support in IDEs that do not use Qt or even C++. Change-Id: Ib051a40b7ebe1c6e0c3147cca9bd96e7daec1fde Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Fix wrong capitalization of Windows-specific header fileRichard Weickelt2019-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This header file is lower-case, even on Windows. But it would remain undetected because NTFS is not case-sensitive by default. Correct capitalization is required when cross-compiling with MinGW on Linux. Change-Id: I584ae7c9dcf81597a2b9b6481e95fc65ec6e125a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
* | 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>
* | C++: Add support for clang on WindowsChristian Kandeler2019-08-141-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: 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: 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>
* | Merge 1.14 into masterChristian Kandeler2019-07-261-3/+43
|\| | | | | | | 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>
* | bare-metal: Add IAR STM8 toolchain supportDenis Shienkov2019-07-261-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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>
* | qbs-setup-toolchains: Refactor and improve the code a bitDenis Shienkov2019-07-1613-44/+57
| | | | | | | | | | | | | | | | | | | | * Added 'QBS_SETUPTOOLCHAINS_' prefix to all ifdef guards. * Unified the parameters order for the createXyzProfile() functions. * Used QFileInfo instead of QString as a compiler path variable. Change-Id: Ib4cfafa8d5ad4fe9e8ca8b06e4cfc17eafc67626 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Move GCC/MinGW/Clang stuff to separate gccProbe moduleDenis Shienkov2019-07-156-185/+321
| | | | | | | | | | | | | | ... that simplifies a code bit. Change-Id: I4688e7b28986687d7cca5ad5fc8ab333cb50d8d2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix compare '<' operator for ToolchainInstallInfoDenis Shienkov2019-07-111-2/+7
| | | | | | | | | | | | Change-Id: Ie411f0f2316a46eb8e6d4b39f5f1e8c20d8927eb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Detect KEIL compiler version if it is found in a pathDenis Shienkov2019-07-091-4/+84
| | | | | | | | | | | | | | | | | | | | | | | | Previously we have only the KEIL toolchain version detection from the Windows registry. This patch adds a compiler version detection in case the compiler path specified in a PATH environment variable. Change-Id: Ic3b183adbe4f655c18a2a96b7e30cba343f9d0d0 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Detect SDCC compiler version if it is found in a pathDenis Shienkov2019-07-091-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously we have only the SDCC toolchain version detection from the Windows registry. This patch adds a compiler version detection in case the compiler path specified in a PATH environment variable. Change-Id: I6a9b74efbd8e4a8cd7a596bdf4946745d820f7f9 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Detect IAREW compiler version if it is found in a pathDenis Shienkov2019-07-033-4/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously we have only the IAR toolchain version detection from the Windows registry. This patch adds a compiler version detection in case the compiler path specified in a PATH environment variable. Change-Id: I61578723e15f109542aba1e231753aec611439eb Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Insert the version into auto-detected SDCC profileDenis Shienkov2019-07-032-21/+25
| | | | | | | | | | | | | | | | | | This is useful in case we have installed a multiple toolchain versions. Change-Id: I4a2030589c21394da1b951eeeee99cbb5e1116a3 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Insert the version into auto-detected KEIL profileDenis Shienkov2019-07-032-21/+25
| | | | | | | | | | | | | | | | | | This is useful in case we have installed a multiple toolchain versions. Change-Id: I842cc5c5d281427385306e9d4aaaee7736a8a227 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Insert the version into auto-detected IAREW profileDenis Shienkov2019-07-023-22/+34
|/ | | | | | | | | This is useful in case we have installed a multiple toolchain versions. Change-Id: Ia6d5fa1be16199d5e5f1eea8a077fcb885ba42e6 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* 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 some warnings about null pointersIvan Komissarov2019-06-041-2/+2
| | | | | | | | | | | | | | Some of them are false positives, some of them are possible bugs. Change-Id: Ic9c8a2970587e5152659b5b19f6b6d6df67e6809 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix build with namespaced QtChristian Stenger2019-06-033-0/+6
| | | | | | | | | | | | | | | | Amends f08904c155ad, 39462767f9c8, c3f90175c389. Change-Id: If3535ba8502ab3de4eccc6b33c29b205c9a0b889 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | Fix readability-static-definition-in-anonymous-namespace warningsIvan Komissarov2019-05-214-55/+43
| | | | | | | | | | | | | | Move static functions out of anonymous namespaces Change-Id: Iae6d13189b716e47b21f4c11e1c337487f78fad5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply modernize-loop-convert fix-itIvan Komissarov2019-05-211-2/+2
| | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: Ic29b552572719ea58c7ad385cc6e1d68cef9eedc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Apply modernize-use-auto fix-itIvan Komissarov2019-05-201-2/+2
| | | | | | | | | | | | | | | | Makes clang-tidy happier Change-Id: I75f3b6409b425b9a7054d7886ab0160a040b25d5 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the KEIL toolchain auto detectionDenis Shienkov2019-05-175-62/+265
| | | | | | | | | | | | | | | | Now the KEIL compiler path also extracts from the Windows registry in addition to the path feature Change-Id: I8a92233ff58119ea7c3cc40e6da95408e0ced1ba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the IAR toolchain auto detectionDenis Shienkov2019-05-175-64/+270
| | | | | | | | | | | | | | | | Now the IAR compiler path also extracts from the Windows registry in addition to the path feature. Change-Id: I77d2cc13924afac751445df98ea60f1f62f9d892 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | bare-metal: Improve the SDCC toolchain auto detectionDenis Shienkov2019-05-175-64/+244
| | | | | | | | | | | | | | | | Now the SDCC compiler path also extracts from the Windows registry in addition to the path feature. Change-Id: I84148e464696fdfffc6342d22baa1d75c6caa0ce Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>