aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix static buildChristian Kandeler2019-10-1030-41/+80
| | | | | | | | Make sure we link in the generator plugins. Fixes: QBS-1491 Change-Id: I8c48a73f972c4089cfc8c097a67e2945837e9ed4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge 1.14 into masterChristian Kandeler2019-10-087-126/+192
|\ | | | | | | Change-Id: Ief78bb9d82344e31135faca42a422c23951e87ec
| * Darwin: Adapt to Xcode 11Christian Kandeler2019-10-043-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - xcspec files can now refer to variables in variable names, as in the following line: CONTENTS_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH_SHALLOW_BUNDLE_$ (SHALLOW_BUNDLE)) - Some new environment variables have been introduced and need to be set when running our probes; e.g. "SWIFT_PLATFORM_TARGET_PREFIX". - The symbolLinkMode autotest made an invalid assumption about order of output. Change-Id: Ic845c2c4a8eafb4ece0f0bb04e6e492681a02979 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * baremetal: Add missed output artifacts for SDCC compilerDenis Shienkov2019-10-012-61/+92
| | | | | | | | | | | | | | | | | | | | Compiler produces a lot of additional ".adb", ".lst", ".asm", ".sym", ".rst", ".lk", ".mem" files. This files should be also processed in SDCC module (e.g. it allows to remove this files by 'clean' command). Change-Id: Ib07dbe63ab27e263d67025ce5cd40a967910d354 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Fix missed linker artifact for C51 compilerDenis Shienkov2019-09-302-55/+50
| | | | | | | | | | | | | | | | | | | | | | We need to add a file with extension '.m51' which is a map file, generated by BL51 linker for 8051 architecture. Also the artifacts creation code is refactored and improved a bit. Change-Id: I49b487acf87263dde818696d5a3478333839c30b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Handle missed 'driverLinkerFlags' property for SDCCDenis Shienkov2019-09-301-1/+3
| | | | | | | | | | Change-Id: Ibd58a4bdf6c05af79c0d847ccaacaec5381b35d5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: Fix assembler command for SDCC compilerv1.14.0Denis Shienkov2019-09-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use the assembler command in the followiong format: Usage: [-Options] outfile file1 [file2 file3 ...] Besides, we have added an additional assembler option '-l' to explicitly generate of a listing file; without of this option the linking fails. Change-Id: I0240b354f44edac94e3e4305fe6b1a4c34ca4bf9 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Disable glib event dispatcher in bionic Docker imageRichard Weickelt2019-10-072-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Disable glib in the bionic Docker image, as the glib event dispatcher leads to deadlocks in TestBlackbox::concurrentExecutor quite often. The problem should hardly occur in practice. This is a work-around until QTBUG-79020 is fixed. Fixes: QBS-1499 Change-Id: I8cecc979b1c13b053c0ee0787cc4bc0a0de8b701 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Refactor the map file generation propertyDenis Shienkov2019-10-0114-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. It is makes sense to define this property once inside of CppModule, instead of duplicate it in each other module. 2. A new property name 'generateLinkerMapFile' will be better than a previous, so, we can rename this property. 3. The map file generation is not necessary to be always enabled, so, we can disable this property by default. Change-Id: I0439e8b3e0273593c8456d32b1c099ff09498fad Reviewed-by: Christian Kandeler <christian.kandeler@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-268-22/+94
|\| | | | | | | Change-Id: Ie432987ee2d3ccaa6e881b1b01f142185eddabd8
| * Darwin: More filtering in SDK directoryChristian Kandeler2019-09-261-0/+3
| | | | | | | | | | | | | | | | Do not try to detect an SDK from a driver kit directory. Fixes: QBS-1495 Change-Id: I05ef565d599e83dcc02d0d18e656fabfd0aad943 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * 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>
| * Add how-to about ccacheKai Koehne2019-09-162-1/+32
| | | | | | | | | | | | | | Task-number: QBS-1325 Change-Id: Ice2e5f16b453b9bde8d2a90918eb593db81bff97 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Richard Weickelt <richard@weickelt.de>
| * Fix MSVC warningsOrgad Shaneh2019-09-132-2/+2
| | | | | | | | | | | | | | | | 'return': conversion from 'size_t' to 'int' Change-Id: I18e8fa03a9303855693da3027b722b104cee5d6d Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: hjk <hjk@qt.io>
| * Fix Qt module-provider for Qt5.13.1 and beyondRichard Weickelt2019-09-081-1/+1
| | | | | | | | | | | | Change-Id: I6eef8b28a741c417dc54a33577a2ad4b43def767 Fixes: QBS-1492 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Evaluate probes before Profile itemsRichard Weickelt2019-09-254-3/+29
| | | | | | | | | | | | | | | | | | | | Profile items can reference project properties, but accessing properties of project-level probes failed. This patch ensures that probes are executed before Profile items are evaluated. Fixes: QBS-1490 Change-Id: I5c215b91ded51ac895e433faa2e6fcfbc3d3e212 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Bump Qt version to 5.12.5 for automated buildsRichard Weickelt2019-09-232-8/+10
| | | | | | | | | | | | | | | | | | Also introduce accurate versioning for docker images. This makes it possible to use different build environments in different branches. Change-Id: I4feb83dbba886c4369d661ec746428b0c89b80b4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Change order for input parameters of addOptionsGroup() methodDenis Shienkov2019-09-2329-373/+372
| | | | | | | | | | | | | | | | | | ... and to make the 'version' as latest parameter with default value, that simplifies usage of that method a bit. Change-Id: Iad1e5097ee1d46d86d745c50090e2cd0e7343de9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Introduce the session commandChristian Kandeler2019-09-1856-36/+3477
| | | | | | | | | | | | | | | | | | | | 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>
* | Allow build of at least the html docs when cross-compilingRichard Weickelt2019-09-021-1/+3
| | | | | | | | | | | | | | | | Qch requires qhelpgenerator which is not bootstrapped, but qdoc works to some extent. Change-Id: I08ce043281c45a29829a2ec25d8ad3e38e90d4e2 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Update Xcode version to 10.3Richard Weickelt2019-09-021-7/+2
| | | | | | | | | | Change-Id: I97e475dbe493dbdd06491648ed1ebc767e7ff621 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Allow overlapping uid/gid in containerRichard Weickelt2019-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to start the container on a Linux host where the uid/gid of the current user is similar to an existing uid/gid in the container that is not the "devel" user. For instance, if the host gid is 100, then groupmod in the entrypoint script refuses to change the "devel" user to gid 100 because that gid is already taken by the "apt" group in the container. Change-Id: Ifc4980b118b9b94bf744aa1108225d3c727eb644 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | Merge 1.14 into masterChristian Kandeler2019-08-301-1/+2
|\| | | | | | | Change-Id: Iad75f8b2beb8d26c1c2369cce15e4fb1af1106e5
| * Autotests: Work around compression bug in 5.13.0Christian Kandeler2019-08-301-1/+2
| | | | | | | | | | | | | | Our QtScxml test ran into QTBUG-76521. Change-Id: Id667846acd165d5b79dd6acc9cb8c790f6e228a2 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | baremetal: Long live the IAR EW project generator for MSP430Denis Shienkov2019-08-2820-2/+2115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 iarew7 -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 'iarew7' generator which allow to generate a projects for the IAR EW for MSP430 for all versions of 7 series. Tested with the IAR EW for MSP430 v7.12.4, using as the QBS bare-metal examples, and as other projects. Change-Id: Ic0bbc82e6ebb3b04bced639797976e432809171f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge "Merge 1.14 into master"The Qt Project2019-08-288-1/+53
|\ \
| * | Merge 1.14 into masterChristian Kandeler2019-08-268-1/+53
| |\| | | | | | | | | | Change-Id: Ic9ee11d628ba278271517aae0af020aec28ecbf7
| | * Process Command: Do not needlessly interpret output as textChristian Kandeler2019-08-268-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | ... when redirecting process output. Only do that if there is an output filter function. Otherwise, we break redirection of binary data. Fixes: QBS-1488 Change-Id: Ic5a1d2653fa8fc9c4f0eb5d31b7315d7aba3e030 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | | Add Ubuntu 18.04 Docker imageRichard Weickelt2019-08-274-12/+308
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contains: - Qbs 1.13.1 (from QtCreator 4.9.2) - Qt 5.12.4 for Linux (prebuilt) - Qt 5.12.4 for Windows (compiled from source) - gcc 7.4 - mingw-w64 (7.3) This image can build Qbs and all its components for Linux and Windows targets. It might supersede Debian stretch which is not officially supported by Qt 5.12. The only limitation is that it can neither build Chocolatey packages nor run windeployqt. Change-Id: Icee1f002483f68839d39c8c152a9c5d886dabcfb Reviewed-by: Christian Kandeler <christian.kandeler@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>
* | 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>
* | Switch to Qt installer script in Docker containerRichard Weickelt2019-08-234-142/+41
| | | | | | | | | | | | | | | | | | | | | | Use the official packages instead of compiling Qt ourselves. This simplifies the Docker image a lot. For accessing the script folder, the Docker context needs to change to the root directory. Thus, we need a .dockerignore file to keep the size of the context low. Change-Id: I58ec8f364feba955518f1eaf5bff234332ae8dec Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* | baremetal: Add support for GCC to msp430f5529 exampleDenis Shienkov2019-08-234-0/+21
| | | | | | | | | | | | Change-Id: I0cb4e24f42945b88ef2ff283d4809d47cf95e81d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> 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>
* | Bump versionChristian Kandeler2019-08-211-1/+1
| | | | | | | | | | | | | | This was apparently forgotten when the 1.14 branch was created. Change-Id: I6d6d1e11566ad873f214599b2642610d31bf8ab1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | baremetal: Remove unused method in IAREW STM8 generatorDenis Shienkov2019-08-201-1/+0
| | | | | | | | | | | | Change-Id: I6b009a42e2383d792d6a22c9f7343efd342454c9 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Fix typo at data model detection in IAREW STM8 generatorDenis Shienkov2019-08-201-1/+1
| | | | | | | | | | | | Change-Id: Ibd5e115dbb1dc5ad6bfb5ee779cf3cb96aa00561 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Long live the KEIL UV project generator for ARMDenis Shienkov2019-08-2033-37/+1964
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ARM architecture. Tested with the KEIL UVision v5.23 for ARM, using as the QBS bare-metal examples, and as other projects. Change-Id: I3af9d01f25a9570a99a62d4ce2c30fec3566b9a1 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>
* | 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>