aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Use consistent names in PathProbesIvan Komissarov2020-02-051-10/+10
| | | | | | | | This code is copy&paste but different variable names make it easy to make a mistake doing changes Change-Id: Iab5b923ac010e1aa1fb158ee1d66986f41a0fa2a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge "Merge branch '1.15' into master"The Qt Project2020-02-053-3/+9
|\
| * Merge branch '1.15' into masterRichard Weickelt2020-02-053-3/+9
| |\ | | | | | | | | | Change-Id: I7e348db380b836221db79c73ea3b5f1d891f114b
| | * Fix reading .prl files located in macOS frameworks with Qt 5.14Ivan Komissarov2020-01-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Since Qt 5.14, prl files were moved into 'Resources' folder within a framework Change-Id: Ia067789032e3ac9d3bde1ad5929f2436f9341a71 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * Fix version parsingBogDan Vatra2020-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Latest debian java 8 adds some extra characters at the end of the version ("javac 1.8.0_242-ea"), which confuses the existing regex. Change-Id: I96acb978d95bdb22c71da4593fe5fae4d417e5f3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| | * MSVC: Suppress "Generating code" messagesOrgad Shaneh2020-01-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Appears when passing /LTCG in cpp.linkerFlags. Change-Id: I4282ae51355a178a85985642a86bc01433bb15db Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Android: handle relative sourceset directoriesAlberto Mardegan2020-02-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the resourcesDir, sourcesDir and assetsDir to be specified as relative paths. Also, change their type to `path`, as that better fits their role. Change-Id: I76df92fe763154f80ca3759e15de3ad70173632b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Assign allResults for all PathProbe child ProbesIvan Komissarov2020-02-053-23/+45
|/ / | | | | | | | | | | | | | | Despite the fact those probes do not use selectors property, it makes sense to assign the result into the allResults property Change-Id: Ieaf084b721a20e83c02bfdcdb706d8d98c7c16ed Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: Update support to qt 5.14 and multi-arch apks for Qt appsRaphaël Cotty2020-02-047-113/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before qt 5.14. The profile property "moduleProviders.Qt.qmakeFilePaths" is set with one or more paths to the different android architectures. Each qmake path belongs to a different android architecture installation. So each qmake is used to generated the Qt module corresponding to the architecture. Although qbs can generate multi-arch apks using multiplex mode, this is not possible when the project depends on qt libraries. This is because of the restriction of the qt tool androiddeployqt used by qbs. Now with qt 5.14. All android architectures are installed in the same directory. So the profile property "moduleProviders.Qt.qmakeFilePaths" is set with one qmake path. This directly impacts the qbs-setup-android tool and the generation of the Qt modules. Because qt libraries are installed in the the same directory, they have the abi in their name (libQt5Core_armeabi-v7a.so). So the rules that generate the apks are also impacted. The new androiddeployqt have a new interface (json config file format and requires to have the input libraries installed in the deployment directory) which allows the generation of multi-arch apks. So Qt.android_support modules needs to be updated as well. Fixes: QBS-1497 Change-Id: Ibd546f356c38a05f42dfcac0a4ec92bd82d6f700 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Improve TestBlackbox::pathProbeIvan Komissarov2020-02-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add checks for the candidatePaths and the single file API. Also, this includes a behavior change - if multiple selectors are present, the filePath/fileName/path probe properties are not set up - this is because it is not clear how they should be set up in case when the first file in selectors is found, but the second is not (and thus probe.found is false). In case of multiple selectors, user should use probe.allResults but not the single file API. Change-Id: Ib56faf0de93d3ec9fc49f5dbc9d51d4b36831a2d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | MSVC: Use compiler driver for linkingIvan Komissarov2020-01-244-60/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be able to use cpp.driverFlags and cpp.driverLinkerFlags with clang- cl. This patchset makes possible to use clang-cl with "- fsanitize=address" flag without passing the sanitizer libraries manually to the linker There's also a behavior change in which linker is used - clang-cl uses native linker by default. Old behavior can be restored by setting cpp.linkerVariant to "lld" Fixes: QBS-1522 Change-Id: I9528ce40aa5fdfab987672b15fffd830fa2d6376 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Use an empty array for the qbs.targetOS if targetPlatform is undefinedIvan Komissarov2020-01-142-2/+2
| | | | | | | | | | Change-Id: I4bc1ff7cacb606e4baa9f2bfe59b8dca1b88e434 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Android: allow reading resources from local folderAlberto Mardegan2020-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding a `src/main/res` folder, the `aapt` command starts failing with a bunch of errors like this: <project-path>/default/lingualonga.38c8076f/deployqt_out/res/values-in/strings.xml:3: error: Resource at ministro_not_found_msg appears in overlay but not in the base package; use <add-resource> to add. According to some online source ([1]), this is due to the presence of multiple `-S` options to specify resource paths, and can be fixed by adding the `--auto-add-overlay` option. [1]: https://stackoverflow.com/questions/11569393/how-can-i-use-multiple-s-values-with-aapt-without-using-add-resource Change-Id: Ib1c5741e0194ac1866eb081e0461ac37c80f315c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Add freedesktop moduleAlberto Mardegan2019-12-202-0/+193
| | | | | | | | | | | | | | | | | | This module helps UNIX application developers to prepare applications following the freedesktop.org guidelines. Change-Id: I9ae4dfbdb1e672a9d152242ad2eb50651f86461f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Qt support: Remove dependency on qml-private from QtQuick moduleChristian Kandeler2019-12-181-1/+1
| | | | | | | | | | | | | | There is no apparent reason for such a dependency. Change-Id: If876265de040c15e4c244a587fe176160fea978a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | clang-cl: Fix cpp.generateLinkerMapFile when using lld-link.exeIvan Komissarov2019-12-161-3/+8
| | | | | | | | | | | | Change-Id: I0338983e1cf35e4639473db4b920f2e11cdc92b0 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.15' into masterRichard Weickelt2019-12-151-1/+9
|\| | | | | | | Change-Id: I893a0c195de293fead09db63b7fcdf48bbfab61c
| * MSVC: Remember only dependencies with librariesChristian Kandeler2019-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... when collecting link-time dependencies. This is a hack for the case where an application depends on a static library, and both depend on a statically built Qt. A Qt plugin does not declare a library artifact when pulled in by a static library, because we don't want to link against plugins in that case. As a result, when the dependency collection runs for the application and finds a Qt plugin via traversing the static library, it won't see any libraries there. Before this patch, we'd skip such plugins when encountering them again as direct dependencies of the application, so they were missing on the linker command line. Fixes: QBS-1518 Change-Id: Ia0e5b39e4a2fb80b9fd1384610942ac627978571 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix building 32-bit x86 binaries with clang-clChristian Kandeler2019-11-201-0/+7
| | | | | | | | | | | | | | | | Fixes: QBS-1509 Change-Id: I8ff042bf2006fb989c05490b6a7a3f61aa896920 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Merge branch '1.15' into masterRichard Weickelt2019-11-202-2/+2
|\| | | | | | | Change-Id: I1755128478ccaa23952a482ed3ea546898807f62
| * Do not pass macosx_version_min to the linkerIvan Komissarov2019-11-191-1/+1
| | | | | | | | | | | | | | | | | | Minimum OS version is controlled by -target flag now. For example, "-target x86_64-apple-macosx10.14" tells clang to set minimum macOS version to 10.14 Change-Id: Iaee002e80d6a02e3a2790757f640dc4a25af8e9b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * MingW: fix path of windres binaryAlberto Mardegan2019-11-081-1/+1
| | | | | | | | | | | | | | | | This was accidentally broken in 18a3b64ab07ade6bfc9bb068956beed2032d9b58. Change-Id: I87a106adda094500395049030f6ece652abc9dc9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | GCC: avoid duplicating objects in linker command lineAlberto Mardegan2019-11-122-0/+13
| | | | | | | | | | | | | | | | | | | | | | Long command lines are especially a problem when building statically in MXE. This commit tries to replicate the logic employed by qmake, where before adding a new object to the command line, all of its previous appearences get removed. Fixes: QBS-1273 Change-Id: I51c843c4a7cfc170ed4fab30deae6c4229690dd0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add IAR Renesas RL78 toolchain supportDenis Shienkov2019-10-301-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas RL78 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 RL78 v4.10.1 on Windows using the simple projects samples which come with the default IAR installer. Change-Id: I1f68f27feaac26a5cf606f326b97f8bccc5c2847 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add support for Renesas RL78 architecture to GCC toolchainDenis Shienkov2019-10-301-0/+2
|/ | | | | | | | | | This patch adds a new RL78 architecture, provided by Renesas: * https://en.wikipedia.org/wiki/RL78 Change-Id: I7679808d9b4c84ceade8dd3f76ad172f7b09140d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Allow to generate map file using MSVC toolchainDenis Shienkov2019-10-212-1/+12
| | | | | | | | | Right now it is possible to generate a linker map file using the cpp.generateLinkerMapFile property. Change-Id: Iffed6867e9829f5f2ca51b1932d6641963e66abe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Implement cpp.generateLinkerMapFile for GCC-like toolchainsDenis Shienkov2019-10-212-1/+15
| | | | | | | | | Now it is possible to generate a linker map file from the GCC, MinGW and CLang toolchains. Change-Id: I69b07e907129daac0ff29bd62034d8807cd5fdf1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Richard Weickelt <richard@weickelt.de>
* baremetal: Introduce new cpp::generate{Assembler|Compiler}ListingFilesDenis Shienkov2019-10-177-39/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This properties enables or disables generation of a compiler or assembler listing files. Reason why we need in this property is in that some compilers (e.g. KEIL C51) generates a listing files by default, that spams a project sources directory. So, we need to have a possibility e.g. to disable it or to generate to an output directory. This patch implements this feature for KEIL, IAR, SDCC compilers with the following restrictions: * IAR (8051, AVR, STM8, MSP430, ARM) - full support. * KEIL (8051) - full support. * KEIL (ARM) - has only one restriction in that a compiler does not support specifying of an output listing file name. It is possible to specify only an output listing directory. So, a listing file names will be a bit different than for other compilers (e.g. if a source file name is 'foo.c', then the listing file name will be 'foo.lst', instead of 'foo.c.lst'). * SDCC (8051, STM8) - seems, has not possibility to disable an auto-generated listing files. But it generates an output listing files to a right output directory with the object files. Besides, a listing files has a correct names (e.g. for the 'foo.c' file, the listing file will be 'foo.c.lst'). Change-Id: Ic3516101e69eed156cf71606a7144efc72d40204 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge 1.14 into masterChristian Kandeler2019-10-161-2/+2
|\ | | | | | | Change-Id: I7ee0af7942b15e889bd9dec35adbf43f9f17c839
| * Qt support: Do not put all the QML plugin list content on one lineChristian Kandeler2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | Add a newline after each PRL file entry. Otherwise, a line can get longer than 16K characters, which breaks the MSVC linker. Fixes: QBS-1465 Change-Id: Idb1e39aee8c3ae3ad6ea844723253e7d228bd7de Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Qt support: Fix reading plugin prl filesChristian Kandeler2019-10-141-1/+1
| | | | | | | | | | | | | | Amends 8c290c624d. Change-Id: I9b08b921a46ac56239dd7934f8c3aa9addf70d52 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | baremetal: Show full details of KEIL A51 errorsDenis Shienkov2019-10-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A problem is that a first lines of the following errors: 0000 24 ljmp usb_stub_isr ; (00) Setup data available. *** ________________________________________^ *** ERROR #A45 IN 24 (autovec_keil.a51, LINE 24): UNDEFINED SYMBOL 002C 46 ljmp usb_stub_isr ; (2C) EP1 out. *** _____________________________________^ *** ERROR #A45 IN 46 (autovec_keil.a51, LINE 46): UNDEFINED SYMBOL are ignored, becaue it does not match with the expected token. It does not expect that a line starts with a four hexadecimal letters. We can fix it using the regexp, like "^([0-9A-F]{4})" which is covered this use-case. Fixes: QBS-1503 Change-Id: I19c535ac1aa12bd3e8ffa33ad6c2abfa42d66dff Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Enable errors printing for KEIL A51 assemblerDenis Shienkov2019-10-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | An errors printing for A51 assembler are disabled by default: http://www.keil.com/support/man/docs/a51/a51_errorprint.htm so, we need to enable it explicitly. Change-Id: I22cb268aa7c884daf58b86424ddfbce81dbbe97b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve artifact creation code for IAR EW moduleDenis Shienkov2019-10-112-50/+45
| | | | | | | | | | | | | | ... to move this code to a separate helper functions. Change-Id: I56678be39df931105b04bec1340aa7ba09e523d9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Use 'sdar' utility to create the library on SDCCDenis Shienkov2019-10-111-2/+2
| | | | | | | | | | | | | | | | | | The 'sdcclib' utility is deprecated since SDCC v2.9.0 (which was released in 2010 year). So, we need to use the 'sdar' utility instead. Change-Id: I6a9f7f4d4d93ad3a2f63b75827fce84a011945d2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Don't interpret BL51 linker warnings as errorsDenis Shienkov2019-10-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BL51 linker (from Keil product for 8051 architecture) ends with the exit code '1' in case any linking warning occurred. It is not an error, because at errors the linker ends with the exit code '2'. So, we need just to increase the value of the linking command 'maxExitCode' property from 0 to 1, similar to the compiler command handling. Change-Id: I4917d08ca3407c8046879780e4c8696fdef7736a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Fix merging issues from 1.14 to masterDenis Shienkov2019-10-104-46/+9
| | | | | | | | | | Change-Id: Id859d95ddfb776ec534ba0e46d989bb2ba30770a Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.14 into masterChristian Kandeler2019-10-086-125/+190
|\| | | | | | | Change-Id: Ief78bb9d82344e31135faca42a422c23951e87ec
| * Darwin: Adapt to Xcode 11Christian Kandeler2019-10-042-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
* | Refactor the map file generation propertyDenis Shienkov2019-10-017-29/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge 1.14 into masterChristian Kandeler2019-09-262-1/+4
|\| | | | | | | 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>
| * 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>
* | 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>