aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Darwin: Adapt to Xcode 11.4Christian Kandeler2020-04-062-19/+13
| | | | | | | | | | | | The "Version" entry in SDKSettings.plist has three digits now. Also adapt the deploymentData autotest to take into account that we no longer pass the "version_min" options. Fixes: QBS-1543 Change-Id: Ibc1bcfd44583721c4bed1db812eca892ee316eeb Reviewed-by: Leon Buckel <leon.buckel@clausmark.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix autodetecting mingw compiler in PATHIvan Komissarov2020-04-031-0/+1
| | | | | | | | | | | | | | | GccBinaryProbe failed to locate g++.exe since it tried to append ".exe" suffix which is already present in filename. Also, fix the emptyProfile() test by setting the qbs.toolchainType instead of read-only property "qbs.toolchain" which cannot be assigned from the command line. Also, prepend the original cpp.toolchainInstallPath value to the PATH variable to make sure Probe will find the desired compiler. Change-Id: I12341ee1cd4d8ea0cbcdf3781347bfc0a2780ad2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* LibraryProbe: extend search pathsIvan Komissarov2020-03-301-4/+29
| | | | | | | | | | This allows to search for libraries in Linux-specific directories such as /usr/lib/x86_64-linux-gnu on Debian. This also enables auto-testing protobufcpp module in Travis for Linux Change-Id: Ib8628bbbb25846d1338676619ffc8b3f15cf67b1 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix grpcIncludePath in protobufcpp.qbsIvan Komissarov2020-03-301-1/+1
| | | | | | Fixes: QBS-1542 Change-Id: I9eac0cbedb1d9b2f1cfa686ac75b1ba189d6990e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Do not use app.qmltypes anymoreMaximilian Goldstein2020-03-301-1/+1
| | | | | | Task-number: QTBUG-82710 Change-Id: Ibb7c94c4f5de7ecc2dc45634a31d88b3cf55b881 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix detecting older sdcc compilerIvan Komissarov2020-03-231-4/+18
| | | | | | | | | | | | Ubuntu Bionic has slightly older compiler version (3.5.0) which doesn't have macros that are used to detect compiler version. But it has the "__SDCC" macro containing the value "3_5_0". Use that as a fallback. Change-Id: I0bac78b684e64f11d00f8d915f806f7662d99766 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Convenience items can now install separated debug infoIvan Komissarov2020-03-203-0/+25
| | | | | | | | | | | | | | | This patchset adds the 'installDebugInformation' and 'debugInformationInstallDir' properties to the NativeBinary item and adds Group items that install debug info to the Library and Application items. Also, update How-To about installing debug symbols More documentation (for the Library and the NativeBinary items) will be added in a separate patchset Change-Id: I32687b99871fe40a8e26db09aa118a89ae73f922 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Darwin: Fix access to undefined moduleChristian Kandeler2020-03-191-1/+2
| | | | | | | Amends cf5562823e. Change-Id: I5844815342f9e2eae131c1d2cd94ad8119d0dcfe Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Make Library.qbs configurableIvan Komissarov2020-03-183-29/+39
| | | | | | | | | | Move all tag installation code to the Library.qbs to make it possible to switch between dynamic/static libraries in user code. Also, add test for the LoadableModule item. Change-Id: I947977e5974f9c37d27be6ccd7ad3d117a05af18 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix typo for STM8 assembler file tagging in SDCC toolchainDenis Shienkov2020-03-171-1/+1
| | | | | | Change-Id: I6a1eac610eb7af8c0ee3e09f5ce2a48a2cf58ba2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fetch ARM architecture details from KEIL toolchainDenis Shienkov2020-03-171-41/+44
| | | | | | | | | | | | | | Previously, we did not take into account the specific architecture of the target processor and always returned the abstract "arm" name. Right now we handle the '__TARGET_ARCH_ARM' and '__TARGET_ARCH_THUMB' pre-defined macroses to extend the ARM architecture name, using the table 9-22: * http://www.keil.com/support/man/docs/armcc/armcc_chr1359125007083.htm Change-Id: Iad972d5f0ee330295b84ff7841ac25f40551dfb8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add IAR Renesas 78K toolchain supportDenis Shienkov2020-03-161-7/+28
| | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas 78K processors family: * https://www.renesas.com/cn/en/products/microcontrollers-microprocessors/78k.html Change-Id: Ie1c9cbaaf7d1c883115129ebb54c1efb74e6c5ee Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add IAR Renesas V850 toolchain supportDenis Shienkov2020-03-161-0/+19
| | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas V850 processors family: * https://www.renesas.com/cn/en/products/microcontrollers-microprocessors/v850.html Change-Id: I289b2c9718ea917b04a1f14a3d2c70f4f26359d8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add IAR Renesas RH850 toolchain supportDenis Shienkov2020-03-161-0/+18
| | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas RH850 processors family: * https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rh850.html Change-Id: Iefa12ededbae78db2e376eca536534b8539f4c1d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix endianness flag detection for IAR toolchainDenis Shienkov2020-03-161-1/+3
| | | | | | | | An endianness supported only for ARM and Renesas RX architectures. Change-Id: Ia2a60c9ef99bf20ec1ce29ba6e6c345ebc88277d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Fix typo in cppLanguageOption() for IAR toolchainDenis Shienkov2020-03-161-2/+2
| | | | | | | | ... related to wrong compilers base names for the Renesas RL78 and RX architectures. Change-Id: I7600a2a36559082c2b32d280796a86d7a5cae1fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add IAR Renesas RX toolchain supportDenis Shienkov2020-03-121-1/+19
| | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the Renesas RX processors family: * https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rx.html Change-Id: I68d43eed4d89a5921eb55b56fdd3380b59c56054 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add qbs.hostArchitecture propertyIvan Komissarov2020-03-111-0/+1
| | | | | | | | | | This property can be useful when some parts of the project (e.g. helper tools) should be compiled for the host platform/architecture disregarding what targetPlatform/architecture the rest of the project is being built for Change-Id: I8c76ef65470130df59826603157083fd20809592 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt: Add support for the new QML type registration mechanismChristian Kandeler2020-03-092-2/+83
| | | | | | | | | | This implements the Qt 5.15 type registration approach via the qmltyperegistrar tool. Fixes: QBS-1531 Change-Id: Id77572a521513dc1759b02a7f7299377c2bcaabb Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Qt Support: Handle MinGW pure debug from Qt 5.14Björn Schäpers2020-03-091-2/+7
| | | | | | | | | | | Beginning with Qt 5.14 [0] the d suffix for MinGW builds is only added to debug builds when configured with debug_and_release. Pure debug builds now have the same library names as release builds. [0] QTBUG-80792 Change-Id: I260ffb262a807569985413496897ce4c63135ea7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add "profiling" build variantIvan Komissarov2020-03-061-3/+3
| | | | | | | Also known as "release-with-debug-info" Change-Id: Ieed358810ea423ea7a9a1a52a36fa35cf165dfac Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Qt support: Add support for moc metatype filesChristian Kandeler2020-03-062-6/+43
| | | | | | | | From Qt 5.15 on, moc can generate metatype information in JSON format. Task-number: QBS-1531 Change-Id: Ie6969f70bac51cc80f11057841ba8d4b7947c646 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* GccBinaryProbe: Exit early if we didn't find anythingChristian Kandeler2020-03-041-3/+4
| | | | | | | | | Otherwise, we potentially access undefined objects. Fixes: QBS-1385 Change-Id: I98aa99b51c80e5f60ebb335917552529b340a8e8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Correctly join paths in artifactInstalledFilePathIvan Komissarov2020-02-261-1/+1
| | | | | | | | | | | | When building in the root directory (e.g. Q:/) make-release-archives.bat failed to create archive with the error "share\qbs\xamples: no such file or directory". This happened because artifactInstalledFilePath expected no trailing / in installSourceBase. Luckily, FileInfo.joinPaths handles leading / correctly: FileInfo.joinPaths("Q:/foo/", "/bar") results in "Q:/foo/bar" Change-Id: I895288e6bf4c56c2b2972931c3fa1d98e8419aa0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autodetect clang-cl by using ProbeIvan Komissarov2020-02-172-2/+75
| | | | | | | | This allows to build projects without calling "qbs setup-toolchains" first by simply calling "qbs build qbs.toolchainType:clang-cl" Change-Id: I86d135ddf2cb588f322709e4e7a265cb6fd7772f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add ConanfileProbe item for querying conan recipe filesRichard Weickelt2020-02-151-0/+130
| | | | | | | | | | | | Conan is a popular C/C++ package manager. Conan packages including their configuration and dependencies are usually described as conanfile.txt/.py. ConanfileProbe runs 'conan install -g json' and parses the resulting conanbuildinfo.json. The resulting JS object tree contains relevant information about the dependencies and can be used to set module properties in Product, Profile or even Module items. Change-Id: Ied6b917f061dac67fb2260eab099bcce4037750d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Autotedect MSVC compiler by using a probeIvan Komissarov2020-02-142-1/+73
| | | | | | | | This allows to build projects without calling "qbs setup-toolchains" first by simply calling "qbs build". Change-Id: Iba4af8bf77d0ee5d209564ea371328d3c6cf2aa2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* clang-cl: Fix macro dumpingIvan Komissarov2020-02-142-4/+8
| | | | | | | | | | Previously, clang.exe was used to dump macro as clang-cl does not support the MSVC way. Also, architecture was not detected correctly because of the wrong assumption that clang-cl respects arch variables set by the vcvarsall.bat Change-Id: Ic6464c2bd90f1a2fceb2f8aa884721872179ff49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix code signing for Core Foundation bundlesLeon Buckel2020-02-132-57/+66
| | | | | | | | | | | | | | | | xcode.qbs: - Change the contents of xcode._actualSigningIdentity as expected by the actualSigningIdentity and actualSigningIdentityDisplayName properties - Use Utilities.signingIdentities() to get rid of warning ’Suspicious use of Process during property evaluation...’ - Throw error if specified identity was not found BundleModule.qbs: - Add ‘_CodeSignature/CodeResources’ to outputArtifacts with the tag ‘bundle.code-signature’ and ‘bundle.content’ - Remove local var ‘bundles’ which was always undefined - Fix ‘ModUtils.moduleProperty("qbs", "pathSeparator")’ resulting in ‘TypeError: Result of expression 'obj.moduleProperty' [undefined] is not a function.’ Change-Id: I1a529efb6164906d21203ff3f3be6e570137e8ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* 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>