aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | baremetal: Fix handling cpp.libraryPaths for IAR toolchainDenis Shienkov2020-05-061-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An IAR toolchain contains two different linkers (xlinker and ilinker), which are depend on a target architecture. These linkers have different command line options, one of which is a libraries search paths: * '-L' for xlinker * '-I' for ilinker But we always used '-L' flag, that was wrong, because we need to separate it only for xlinker. Change-Id: Ib2b482d4e9ac4aaefdf47c81f16c6c389243f56d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Auto-detect IAR toolchain for AVR32 architectureDenis Shienkov2020-05-061-2/+7
| | | | | | | | | | | | Change-Id: Ic5c614504aaebb7d2cb30098e8f408ca9d110150 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add IAR AVR32 toolchain supportDenis Shienkov2020-05-061-7/+23
| | | | | | | | | | | | | | | | | | | | | | This commit adds a basic support of the IAR Embedded Workbench toolchain for the AVR32 processors family: * https://www.iar.com/iar-embedded-workbench/#!?architecture=AVR32 Change-Id: I9e93055301f6cb0689246a4f97350b622324b04f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | doc: Fix typo in MCS51 architecture tagDenis Shienkov2020-04-291-1/+1
| | | | | | | | | | Change-Id: Ia653feb232bc6f0d5e939e075732d74469730412 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge 1.16 into masterChristian Kandeler2020-04-283-6/+16
|\| | | | | | | Change-Id: I61e285f8e9f66451553df2b69c556f995993498c
| * Fix TestBlackbox::installLocations for mingwIvan Komissarov2020-04-282-3/+13
| | | | | | | | | | | | | | | | Mingw uses ".debug" files instead of the ".pdb" files for the separated debug info Change-Id: I00d338f797200c0dba0a1cc115e0dc1b2d057416 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix TestApi::localProfiles() for mingwv1.16.0Christian Kandeler2020-04-241-3/+3
| | | | | | | | | | | | | | This test needed adaptation due to the change in d1ad96d31b. Change-Id: Ie5a0f2bbc4c939494ab499971f0f54fa811cecd3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Move toJSLiteral() to ModUtilsIvan Komissarov2020-04-282-53/+54
| | | | | | | | | | | | | | To be able to reuse this method in other providers as well Change-Id: If28c9a4fd8bc0ced8c5ab49c090b04f83efb972f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add GCC toolchain support to pca10040 exampleDenis Shienkov2020-04-284-1/+437
| | | | | | | | | | | | Change-Id: I7a482296ecbcddc91d6ab430155d6a45e32a2cc7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add GCC toolchain support to stm32f103 exampleDenis Shienkov2020-04-284-1/+380
| | | | | | | | | | Change-Id: Ida327f4ef61de58040bd949ec71b2375cbe3f4b0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add LED blink example for pca10040 board using Keil toolchainDenis Shienkov2020-04-2810-0/+893
| | | | | | | | | | | | | | | | | | This development board based on Nordic nRF52832 ARM MCU: * https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52-DK Change-Id: Ib29b2d9afcaf1d56c834557982363aa6e5493259 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Fix item scope for the "moduleProviders." itemsIvan Komissarov2020-04-272-5/+10
| | | | | | | | | | | | | | | | This patchset allows to use "product." and "project." properties on the right-hand side of the "moduleProviders." properties. Change-Id: Ib9afca4751cd4db40d3a703fd179860de362b0fa Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Add LED blink example for stm32f103 MCU using Keil toolchainDenis Shienkov2020-04-2710-1/+702
| | | | | | | | | | | | Change-Id: Id52108a5e4397efb28e6e8319653fde87a256720 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | clang-tidy: Fix 'cppcoreguidelines-pro-type-member-init' warningsIvan Komissarov2020-04-2713-43/+20
| | | | | | | | | | | | | | | | | | | | | | Also, fix undefined behavior when setting and reading different field of a union (Lexer, Token) - according to the C++ Standard, it is not allowed to use a union to zero members of a struct. Treat these warnings as errors now. Change-Id: I0f6d071217ef55e2c75c51138fcff47048eca62f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | baremetal: Improve Keil toolchain output filteringDenis Shienkov2020-04-211-45/+47
| | | | | | | | | | | | | | | | | | | | | | | | Now we use the regular expression to parse the toolchain output that simplifies a code. This code tested with the Keil C51/251/166 and ARM toolchains with the basic set of a use-cases (e.g. with simulation of some compilation and linking warings and errors). Change-Id: Ia843df7361b14820d7a2f9c210d1c4bbc2ec3e82 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Enable QT_NO_CAST_FROM_BYTEARRAYIvan Komissarov2020-04-213-7/+11
| | | | | | | | | | | | | | | | | | Silently casting QByteArray to char* is dangerous and it's hard to find an error in the code. Thus, forbid implicit casting and fix code accordingly. Change-Id: I216f1b19768ad529ff050df0e81bfc4ad10b7c00 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | clang-tidy: Fix 'readability-*' warningsIvan Komissarov2020-04-206-12/+11
| | | | | | | | | | | | | | Treat those as errors except for the 'readability-container-size-empty' Change-Id: I6a8bb9d68fb5bc89697cc42179337d338a51035e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Move some Visual Studio generator parts into libqbsmsbuildJake Petroules2020-04-1768-188/+279
| | | | | | | | | | | | | | | | | | | | | | | | This static library contains the MSBuild and Visual Studio solution object model classes and serialization code, without any qbs project model specifics. The latter goes into the generator plugin itself. The Xcode generator will follow the same separation of concerns design when it is introduced. Change-Id: I0a7aca2457c7b7474e0a0a127a3ce5fbec7682f6 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | clang-tidy: Suppress 'cppcoreguidelines-pro-type-cstyle-cast' warningIvan Komissarov2020-04-172-1/+2
| | | | | | | | | | | | | | Also, treat it as an error Change-Id: Ia2918ce83f2b27d8a039d2651c7edc2d40ccdbdc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge branch '1.16' into masterRichard Weickelt2020-04-1556-493/+877
|\| | | | | | | Change-Id: Ie3f341fe18e2ffaf676721748279c6b027590727
| * GCC: fix detection of Mingw prefix in MXEAlberto Mardegan2020-04-152-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The toolchain paths in MXE are of the form $MXE_PATH/usr/bin/x86_64-w64-mingw32.shared-g++ so we should not assume that what follows the dot is an extension that needs to be stripped (like QFileInfo::completeBaseName() does). Instead, only strip the know executable extensions. Change-Id: I51040d65e372ef3152ddd9229dd33011661c2b46 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Richard Weickelt <richard@weickelt.de> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * Add changelog for the 1.16 releaseRichard Weickelt2020-04-151-0/+126
| | | | | | | | | | Change-Id: Ifaca92559983990b52064edf7ef85fb7a4569bca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Session handling: Do not ignore return value of I/O functionsChristian Kandeler2020-04-151-4/+12
| | | | | | | | | | | | | | | | ... on Windows. Task-number: QTCREATORBUG-23839 Change-Id: I7b2bc8318dd5fe39583bc7ed0367425e1d062171 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * qbs session: Keep checking whether stdin is still presentChristian Kandeler2020-04-151-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise, we will continue to lock the build directory if the controlling process dies. This patch implements the solution for Unix. The Windows one will follow shortly. Task-number: QTCREATORBUG-23839 Change-Id: I95ca7f6666e520c78521af1e85b765bc2e266e0f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Do not hardcode qbs.targetPlatform in CocoaTouchApplication.qbsIvan Komissarov2020-04-141-4/+1
| | | | | | | | | | | | | | | | | | To be able to choose between ios and ios-simulator. Same applies to qbs.architecture, pick it from the given profile Change-Id: I695c87d187dc5fd01cb1ae52ec146f76ad2899f8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * session: Fix reading values from JSONIvan Komissarov2020-04-131-3/+3
| | | | | | | | | | | | | | | | | | | | Apparently, QJsonObject.isNull() returns false in case if key is not present in the map. This leads to wrong default values e.g. in case of the "fallback-provider-enabled" key. Fixes: QTCREATORBUG-23852 Change-Id: Idc85b3fd3a21fc4ce704c112c8c5b7a842cf57ba Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Enable coredumps on macOSRichard Weickelt2020-04-072-0/+11
| | | | | | | | | | | | | | | | | | This patch enables backtraces in case a program crashes during the build/test. We want to see the backtrace of Qbs when it crashes. Change-Id: Ie90f805a68ca9b2d01644b25e81d4d60ab467d0c Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Exclude VariantValues when checking for conflictsRichard Weickelt2020-04-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Qbs prints a warning when different modules contain conflicting assignments to scalar properties. This check assumed that the source values were always of type JSSourceValue and thus performed a invalid static cast which caused sporadic crashes on macOS in TestLanguage::moduleMergingVariantValues. No crashes were obtained on other platforms, but that was only a coincidence. This patch amends 8ff1dd00. Change-Id: Id4809496a5fbc4985d040118a4684f3ac040cdc0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix accessing temporary object dataIvan Komissarov2020-04-061-3/+3
| | | | | | | | | | | | | | Dectected by the 'clazy-returning-data-from-temporary' check Change-Id: I2ab979bb1d58ea96a36d0331aeffa6a719d2f423 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix helloworld-complex in "profiling" build on WindowsIvan Komissarov2020-04-062-3/+3
| | | | | | | | | | | | | | | | | | _DEBUG macro is used by the MSVC compiler internally to enable/disable some features (like debug iterators) and defining it manually leads to obscure compilation errors Change-Id: I10e79ccbbfd40fe378fe9b754ecfc6066497eee5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Darwin: Adapt to Xcode 11.4Christian Kandeler2020-04-064-32/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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-032-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * doc: Add mention about all supported architecturesDenis Shienkov2020-03-311-0/+96
| | | | | | | | | | | | | | Change-Id: Ia09a3ca5f8f6b44a408b2fa190f9fa59b198637b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Export framework search path in qtscxml blackbox test on macOSRichard Weickelt2020-03-311-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qtscxml testcase builds a Qt binary and runs it. This relies on library search paths being correctly exported so that the Qt libraries and framework files are found by the binary. The testcase exports LD_LIBRARY_PATH, but does neither export DYLD_LIBRARY_PATH nor DYLD_FRAMEWORK_PATH which is needed on macOS as well. Therefore the binary cannot be loaded. This error is only visible when running tst_blackbox-qt stand-alone. It is usually hidden because the QbsAutoTestRunner exports both DYLD variables. But if the user builds the autotests against Qt installation A while testing installation B, then the binary in the qtscxml testcase uses the wrong DYLD_LIBRARY_PATH. This patch exports both DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH on macOS. Change-Id: I348d50ec0417e35ff379aad2f93cf80b5ed50c95 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>
| * doc: Provide info about Library itemIvan Komissarov2020-03-306-80/+165
| | | | | | | | | | | | | | | | Also, document the installDebugInformation and debugInformationInstallDir properties Change-Id: I7f98590cfb0c2194f9f64ce8aecac0095ec465d0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * doc: Add info about LibraryProbeIvan Komissarov2020-03-301-0/+62
| | | | | | | | | | | | Task-nubmer: QBS-1187 Change-Id: Iaf91ebc1bdf8013806e74b7fc251b4749f464fb5 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-303-5/+6
| | | | | | | | | | | | Task-number: QTBUG-82710 Change-Id: Ibb7c94c4f5de7ecc2dc45634a31d88b3cf55b881 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Doc: Document cpp::compilerVersion propertyDenis Shienkov2020-03-301-0/+9
| | | | | | | | | | | | Change-Id: I0fc96e94dad773b9a827e4b1fea7a3e2089332a2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix wrong property name in code snippetRichard Weickelt2020-03-261-1/+1
| | | | | | | | | | | | | | | | | | The property has been renamed while writing the documentation and this location has not been updated. Change-Id: Ib8c26e95addd12015b9c1c3726276fc18fda2cd4 Fixes: QBS-1541 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Use docker-compose exclusively for managing Docker imagesRichard Weickelt2020-03-264-110/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qbs used to have docker products and a module for building the images, but this became obsolet and was superseded by the docker-compose infrastructure. Docker-compose is a much better fit for our use-case (which is mostly CI). It allows us to use unique (and complicated) tags both when building and running the images without exposing that to the user. Unique tags like bionic-5.12.6_1.14.1-2 instead of just bionic ensure that changes in the infrastructure don't suddenly break builds in older branches using the same image. This patch also updates the documentation to emphasize the usage of docker-compose. Change-Id: I45335d37034d10dda5ab5079ee3be1f81cb3e5c5 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Remove Debian stretch from Docker build environmentsRichard Weickelt2020-03-243-153/+0
| | | | | | | | | | | | | | | | | | We have not been able to build Qbs with it for a while and it was superseded by Ubuntu Bionic. Change-Id: I8fe0d40baf8f522d4fd0b94a0b403b324c300e74 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * baremetal: fix greenblink example with old sdcc compilerIvan Komissarov2020-03-231-0/+3
| | | | | | | | | | | | | | There is no NOP macro defined in mcs51/compiler.h, provide a fallback. Change-Id: Ifaeb8b54ec87e05f6bb4ba5060e1b18a2c94c78e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
| * baremetal: Fix detecting older sdcc compilerIvan Komissarov2020-03-232-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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-206-9/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * doc: Add info about first capital letter in custom items file namesIvan Komissarov2020-03-201-0/+2
| | | | | | | | | | | | | | Task-number: QBS-667 Change-Id: Ia3f946c0bf4c4047f1dc15044d68f554a8a73a21 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Refactor TestBlackbox::installLocations()Ivan Komissarov2020-03-201-21/+38
| | | | | | | | | | | | | | To be able to test debug info directories Change-Id: Ifde3ceef40e3face12c40e670675c641d42a561e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix crash in operator==(ArtifactProperties, ArtifactProperties)Ivan Komissarov2020-03-202-0/+2
| | | | | | | | | | | | | | | | Also, make operator==(SourceArtifactInternal, SourceArtifactInternal) more robust Change-Id: I2eb276621d304c7ac5fa7c78af00db09b0c2e3c4 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>