aboutsummaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
...
* | Do not rely on leaked context variablesRichard Weickelt2021-02-132-5/+5
| | | | | | | | | | | | | | | | | | | | | | The current QtScript implementation seems to leak variables of the prepare script context to invoked JS functions. This will become an error in the JS port. Amends d3fa7fe. Change-Id: I5618efe7e1e8a19656f6a2e6a086267405dd69ec Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Avoid writing to the global objectRichard Weickelt2021-02-132-3/+3
| | | | | | | | | | | | | | | | Some variables were accidently created in the global object. This will become an error in the QJS port. Change-Id: Ifa4d929bb7a97af3e49de5c3d7d87924f9c3ad81 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Do not rely on leaked context variablesRichard Weickelt2021-02-131-1/+1
| | | | | | | | | | | | | | | | | | The current QtScript implementation seems to leak variables of the prepare script context to invoked JS functions. This will become an error in the JS port. Change-Id: If4b43e6162b4c3ea1f1ec8f118474064dc9586c0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Add missing import statementsRichard Weickelt2021-02-133-0/+4
| | | | | | | | | | | | | | | | | | The current QtScript implementation does not warn about missing import statements in some cases. Imported .js files should never inherit imports. This will become an error in the JS port. Change-Id: I880afabba64c0766063304c723242e242ac89b81 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | protobufcpp: add linkLibraries option to disable modifiying linked libs + ↵Jan Blackquill2021-02-061-4/+15
| | | | | | | | | | | | | | | | | | | | include paths This allows one to use Qbs' support for protoc without causing libprotobuf/libgrpc to be linked automatically, which is useful for when you want to build libprotobuf/libgrpc as part of your project. Change-Id: Ia40ebf6d79682b4ed88631f0ea540eeb6aad0bff Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add support for HCS08 architectures to SDCC toolchainDenis Shienkov2021-02-021-0/+8
| | | | | | | | | | | | | | | | | | | | This patch adds the HCS08 architectures, provided by Freescale Semiconductor: * https://en.wikipedia.org/wiki/Motorola_S08 Change-Id: I0a08c6433041eb8a00cb3705c5e65857188f4830 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Improve detection of IAR compiler includesDenis Shienkov2021-02-021-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IAR compiler has an undocumented command line option `--IDE3`, which allows you to print a list of compiler include paths as: `$$TOOL_BEGIN $$VERSION "3" $$INC_BEGIN $$FILEPATH "<path\\to\\directory>" $$TOOL_END` Besides, the same approach is used in the IAR extension for the VSCode IDE. So we can use this approach to implement it the Qbs module as well. In addition, this commit contains an autotest to check the `cpp.compilerIncludePaths` property. Change-Id: I434dd630913e5afd6cba5b4e31e1021ee0c5fe31 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Return only existing SDCC compiler include pathsDenis Shienkov2021-02-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some architectures, the compiler may return nonexistent header paths. For example, for the `stm8` architecture, it returns the path: c:\Program Files (x86)\SDCC\bin\..\include\stm8 which is not present on the file system. This can be confusing intellisense for IDEs, and will also make it harder to write tests for `cpp.compilerIncludePaths` property. So, it makes sense to return only existing paths. Change-Id: Ibe7078485db900eba2e17710e5de0abeda28f645 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Handle cpp.prefixHeaders property in IAR assemblerDenis Shienkov2021-01-291-1/+10
| | | | | | | | | | | | | | | | | | | | | | We need to pass the `--preinclude` option and to the assembler too in case the `cpp.prefixHeaders` is not empty. One caveat is that this option is not supported on all architectures and we need to handle it properly. Change-Id: I31eda38a8f400a0534a43d141ee64aef405fa683 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Handle cpp.endianness property in IAR assemblerDenis Shienkov2021-01-291-0/+5
| | | | | | | | | | | | | | | | | | The IAR assembler for ARM and RX architectures allows you to specify a target endiannes parameter. So we need to handle this use case as well. Change-Id: Ifa6c237fb2d4fc7de361290edcaa491bb23e3165 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve JS code in IAR toolchain moduleDenis Shienkov2021-01-291-171/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a small refactoring in the cpp module for IAR, containing the following changes: 1. Alphabetical sorting by architectures and compiler names has been performed. 2. Some common logical parts are divided into separate functions. 3. Improved logic for checking compilers for supported options depending on the architecture. Also, the command line options of toolchains have been rechecked for all supported architectures. Change-Id: I5d274240682cb16c073d146ce47541d10783738f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Android: Conditionnally depends on cpp remove old fixRaphaël Cotty2021-01-291-3/+9
| | | | | | | | | | | | | | | | | | | | Cpp module is not required when used in the aggregate in multi-arch mode. Only define "ANDROID_HAS_WSTRING" for Qt < 5.14.0 Change-Id: Ibb0ed6f23352466ec703c96488233eda1940daad Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Add support for HCS12 architectures to GCC toolchainDenis Shienkov2021-01-281-0/+2
| | | | | | | | | | | | | | | | | | | | This patch adds the HCS12 architectures, provided by Freescale Semiconductor: * https://en.wikipedia.org/wiki/Motorola_68HC12 Change-Id: If4e671f4d894f9c305b9fda2c4412c19b971ee3d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add support for HCS08 architectures to IAR toolchainDenis Shienkov2021-01-261-5/+17
| | | | | | | | | | | | | | | | | | | | This patch adds the HCS08 architectures, provided by Freescale Semiconductor: * https://en.wikipedia.org/wiki/Motorola_S08 Change-Id: Idd668e30bfeb69e588b93b15131e741924b66f40 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add support for HCS12 architectures to IAR toolchainDenis Shienkov2021-01-211-5/+14
| | | | | | | | | | | | | | | | | | | | This patch adds the HCS12 architectures, provided by Freescale Semiconductor: * https://en.wikipedia.org/wiki/Motorola_68HC12 Change-Id: I9083bac9997e0dec50e0392040ce63beaa8a8f05 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Do not modify the product objectRichard Weickelt2021-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | Since the script creates and modifies a local 'imports' variable, the local variable should also be used for iteration. Otherwise we rely on 'imports' being a reference only. While this is the way how copying objects works in JS, it is still not clean, especially since we view the product object as read-only. Change-Id: I1ffe61e03b793d5ed36d069e983014172db85463 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Merge branch '1.18'Ivan Komissarov2020-12-1814-70/+78
|\| | | | | | | Change-Id: I37c359289dcd957fbc964a35fab381a047f7d04a
| * Add missing nanopb generator file extension on windowsKai Dohmen2020-12-171-4/+4
| | | | | | | | | | | | | | | | When using nanopb on windows the generator script has the ".bat" extension. Change-Id: Ia7a836784a0709d30dcf2e8b9c26c2a38b703c86 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Fix qt4 binary path detectionv1.18.0Raphaël Cotty2020-12-141-1/+2
| | | | | | | | | | | | | | | | | | | | Commit e8b186610738a16fe8ddaacd39797d863828c7aa removed the use of QT_INSTALL_BINS property if QT_HOST_BINS doesn't exists to set the binaryPath. But qt4 needs it because QT_HOST_BINS doesn't exist. Change-Id: I3e5bc10d3b4839bd62a1202ff5cbc939f0a3b2b0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix building .xcassetsIvan Komissarov2020-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | In several cases, actool can create an Info.plist file which is assigned "partial_infoplist" tag and incorrectly used as an output parameter for the "--output-partial-info-plist". Fix that by using the last element in the array which is prepended to the list of artifacts returned by actool in actoolOutputArtifacts() Change-Id: Ide41ceb0f984a5ded91d13b38cc019ab8d804586 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * protobuf: explicitly disable auto refcount for generated filesIvan Komissarov2020-12-141-0/+1
| | | | | | | | | | | | | | | | ...for objective-C. Otherwise, enabling this property on a product level breaks compilation of these files. Change-Id: Iddf1c12f580a22b751607a20bd10a79963f775f8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Probe for release and debug version of protobuf librariesKai Dohmen2020-12-122-4/+30
| | | | | | | | | | | | | | | | | | | | When cpp protobuf or nanopb gets compiled as debug build the library gets the suffix "d". The library probe will search for the release name and the debug name. If no library could be found let the user set the library name. Change-Id: I6574986e527fe4484935e58ccf45c86feee230e5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * cmake build: Fix dependencies of BuildQbsResourcesEike Ziller2020-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | It requires qbs_processlauncher to exist, otherwise ERROR: Failed to start process launcher at '<path_to_build>/qbs_processlauncher': execvp: No such file or directory Change-Id: I1dc2760889f6f74b9371d89803ce3131a3494532 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * baremetal: Handle preprocessor flags for SDCC toolchainDenis Shienkov2020-12-081-0/+1
| | | | | | | | | | Change-Id: I6a82b1334e3f8e160ea1a48181fe1ac438844c35 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Android: Fix debugging supportRaphaël Cotty2020-12-086-41/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add archSuffix to generate the library with the architecture name for Qt > 5.14 (before the lib was renamed which prevented debugging). Remove rpaths as they are not used on android and generate warnings. Update target and defines to comply with android's Build System Maintainers Guide. Remove stripping step in Qt.android_support as androiddeployqt actually does the stripping. Change-Id: I46a273c1cded753223c7b759670477815b625267 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix installing standalone loadable modulesIvan Komissarov2020-12-081-0/+2
| | | | | | | | | | Change-Id: I0d233878a6f18d29e6228431fa6cbc3cde3c99a5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix that target was accessed before it was createdEike Ziller2020-12-041-0/+1
| | | | | | | | | | | | | | Amends c21932163779bcfe4577ac2e3326b8c113884829 Change-Id: I078df77ebfd7921c9c8bcaf131ae06a3a1fcd181 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * cmake: fix path to qml resourcesIvan Komissarov2020-12-041-2/+2
| | | | | | | | | | | | | | | | This amends c21932163 Task-number: QBS-1618 Change-Id: I88f8d00d11603d7cc236531605511c92db3de9b0 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
| * Pass import paths as nanopb_opt to support `.options` filesKai Dohmen2020-12-032-2/+10
| | | | | | | | | | | | | | | | | | | | | | To make use of nanopb specific options defined in a separate `.options` file pass import paths to nanopb generator script. This is needed because protoc doesn’t currently pass include path into plugins. Therefore if your .proto is in a subdirectory, nanopb may have trouble finding the associated .options file. Change-Id: I28eb2e9c2f353df88aa1a1e772dfb57a36800434 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * cmake: Fix building documentationIvan Komissarov2020-12-031-14/+9
| | | | | | | | | | | | | | | | It was never implemented Fixes: QBS-1618 Change-Id: I702410b546cacd439989268d3d4fbb18051d1819 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Make `cpp.toolchainInstallPath` property as public for toolchainsDenis Shienkov2020-12-026-9/+10
|/ | | | | | | | This property re-declared in each of toolchain modules. So, it makes sense to declare this property once in a base CppModule. Change-Id: I1df76b288660d4b999c918a0019a01825ee0890a Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Disable moc for the aggregate product when multiplexingRaphaël Cotty2020-11-261-0/+5
| | | | | | | | | | | Running moc in the aggregate can't happen anymore because it generates an error when accessing cpp.defines. Before 527d5a8ec54e44291d4968754bdf574ebe57822b cpp.defines was not accessed for hpp files. Anyway it doesn't make sense to call moc in the aggregate as the generated files won't be compiled. Change-Id: I25ada3c8c54b199efb0877b59025fff88dc84dd8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Update sdk/ndk/tools versionsRaphaël Cotty2020-11-181-1/+1
| | | | | | | | | build-tools: 29.0.3 NDK: 21.3.6528147 SDK Platform: 29 Change-Id: I6d281aa2e914d7567fa2d57698146465b41838d7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* baremetal: Fix dumping of compiler includes for IAR toolchainDenis Shienkov2020-11-181-6/+3
| | | | | Change-Id: I176db33bcd1ea270e890f8422d10bc5133c891bf Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Update for Qt 6Raphaël Cotty2020-11-174-7/+45
| | | | | | | | | | Manage the new directory layout of Qt6. Update generation of the input file for androiddeployqt. Fixes: QBS-1613 Fixes: QBS-1609 Change-Id: Ie633fad467f310bfc4cd42e9c32d9cfc2e734582 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix parsing compiler definesIvan Komissarov2020-11-171-3/+5
| | | | | | | | | We should not stop at the second space but include the rest of the string. Change-Id: I94d18fb0aed968ab8ecd2b46fbb22d3cba89ac88 Fixes: QBS-1621 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Implement missing check for allowed values in PropertyOptionsIvan Komissarov2020-10-281-2/+0
| | | | | | | | | | | | | | ========== Performance data for Resolving ========== Old instruction count: 10195378481 New instruction count: 10238464294 Relative change: 0 % [ChangeLog] Qbs now checks string and stringList values according to the allowedValues property in PropertyOptions Change-Id: Ide88987c74b35f4172ffaf71aacd991536131ee5 Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge branch '1.17'Ivan Komissarov2020-10-264-7/+34
|\ | | | | | | Change-Id: Ifcd65b201f060506d53dcffc0031d186a6dc227e
| * Xcode: fix compilation for ios-simulator with Xcode 12v1.17.11.17Ivan Komissarov2020-10-261-0/+8
| | | | | | | | | | | | | | | | The triplet -target x86_64-apple-ios-macho is no longer valid, it should be -target x86_64-apple-ios8.0-macho Change-Id: Ib7ce96100e1751625784db7385b44c53a2747e07 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Remove targetName suffix from QtApplicationRaphaël Cotty2020-10-233-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.14 target suffix is required for the multi arch packaging. This only affects android applications using Qt. The suffix can't be applied in QtApplication because a project using CppApplication and depending on Qt.core won't have it. Beside using targetName is error prone as the user can change it. So instead of using targetName for the suffix this patch adds the suffix when deploying the "android.nativelibrary" for packaging and only for Qt applications. Fixes: QBS-1608 Change-Id: I0704d5433c8a1d513dfdef71cecbc99ea5458181 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Android: Update for Qt 5.15Raphaël Cotty2020-10-212-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | Use java.additionalClassPaths property to allow compilation of binding classes because starting with Qt 5.15 they depend on QtAndroid.jar Update AndroidManifest.xml with uses-sdk node using new properties Android.sdk.minVersion and Android.sdk.targetVersion because Qt 5.15 uses androiddeployqt to set it. Fixes: QBS-1580 Change-Id: I2fa5e77bb183be1b55e9dd9756fb7b6eb1f3c9d4 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Android: Allow exporting of Qt modules by using importingProductRaphaël Cotty2020-10-211-2/+10
| | | | | | | | | | | | | | | | | | | | | | The product variable in the Export item refers to the exporting item. If a qbs property is changed (example: qbs.architecture for the multiplexing in Android) then the Depend failed because the qbs module was not loaded yet for the exporting item. Fixes: QBS-1576 Change-Id: I220c47b3094727fe169d3dccd244ab2785a782b7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | capnp: Make outputDir variable publicIvan Komissarov2020-10-263-3/+3
| | | | | | | | | | | | | | To be consistent with protobuf Change-Id: Ib31956797f7b1ebcf37ab511dee502436900d899 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Fix detection for IAR compiler include pathsDenis Shienkov2020-10-151-4/+5
| | | | | | | | | | | | | | | | We need to return an approproate compiler include paths depending on the language tag ('cpp' or 'c'). Change-Id: I5b526cf67a8e2300bf9302862ed67535866997ee Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | cmake: Fix issues with configuring locations on WindowsEike Ziller2020-10-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Make DLL destination configurable independently of LIB destination. In Qt Creator we put DLLs into bin\, but LIBs into lib\. Fix installation of plugin DLLs by adding corresponding RUNTIME section. Fix setting PATH to Qt & Qbs libraries for BuildQbsResources. Change-Id: I5029e82b8822c7e3ad43afe69530b2d4e2f918b3 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | cmake: Make build output & install locations configurableEike Ziller2020-10-081-21/+16
| | | | | | | | | | | | | | | | So we can configure the right paths for direct inclusion in the Qt Creator build. Change-Id: Ie83eb402f0d9ce5f1ef32737921dc2ec8b43a315 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Fix usage of @VAR@ in info plist filesIvan Komissarov2020-10-082-2/+9
| | | | | | | | | | | | | | Fixes: QBS-1601 Change-Id: Iead18bf5fd25f965cf9f9748469f2469488eabc8 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | cmake: Make it possible to use --prefix option when installingEike Ziller2020-10-061-7/+13
| | | | | | | | | | | | | | | | Use relative paths for install commands, otherwise the install prefix is fixed at configure time. Change-Id: I985105016803e3fa1dfbceecfa9ecfbb7fad068e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | baremetal: Improve macros dumping for KEIL C51/C251/C166 toolchainsDenis Shienkov2020-09-301-126/+84
| | | | | | | | | | | | | | | | 1. We can write the required entries in a loop. 2. We can use the regular expressions to parse the compiler output. Change-Id: Idb8d9dca1b5ba3b1436e40333abf66b226cbdc9d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Make protobuf.*.outputDir public againKai Dohmen2020-09-245-20/+24
| | | | | | | | | | | | | | | | | | | | Make protobuf outputDir public again for usage with installSourceBase when creating/installing a separate proto-only library product. Make outputDir readonly since it should not be set by the user. Changed artifacts tag hpp to protobuf.hpp for better filtering. Change-Id: I8697e880aacfe4d3029fd6f547a5d8c1eee7ee7e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>