summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add changelog for 1.22.0v1.22.0Christian Kandeler2022-03-011-0/+31
| | | | | | | Change-Id: I757fd3f325b8e679da1d473322e26f1ac1d9752c Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add test to check the SDCC compiler probeDenis Shienkov2022-02-282-0/+30
| | | | | Change-Id: Iaeb8ff81f37e152667aace86156de2c96397d9e3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add test to check the Digital Mars compiler probeDenis Shienkov2022-02-283-0/+34
| | | | | Change-Id: If43314a34cbae3b66d6221cb21e6ba32e4aaae38 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Skip `shared-libraries` test for GCC toolchainsDenis Shienkov2022-02-281-2/+0
| | | | | | | | | | | ... because we can't detect the target 'none' platform in case of a bare-metal GCC (this feature is not implemented yet). In other words, the barametal platforms do not support the shared libraries. Change-Id: I8ea62e649474e57ecc363b556e5f901a35c3fa85 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectResolver: Fix disabled dependencies with Qt6Björn Schäpers2022-02-281-1/+4
| | | | | | | | | Since the QHash references aren't stable anymore we had some fun here. Either qbs crashed or we hit the assertion in projectbuilddata.cpp:399 QBS_CHECK(dependency->enabled); Change-Id: I9be34e5a315c4c0834c40782972fb358ead31457 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix Windows CIIvan Komissarov2022-02-241-3/+3
| | | | | Change-Id: I982d647067155820ae51b707aa4b303ee64fe4ff Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add test to check toolchain probesDenis Shienkov2022-02-215-1/+59
| | | | | | | | | | | | | | | | Right now we don't have tests that could check the correctness of the properties returned by toolchain probes. For example, such as `architecture`, `targetPlatform`, `endianness` and so forth. The number of returned parameters depends on the type of toolchain. This patch adds a test for the probe for the `watcom` toolchain and can be used as a template for adding the tests for other probes in the future. Change-Id: I5ebda0deb7538f746406f5b0925bdd60fdb4c3fb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add simple test for linking with shared librariesDenis Shienkov2022-02-218-33/+103
| | | | | | | | | | | | | | | | As we use the baremetal tests for non-baremetal compilers (for example, for `watcom` and `dmc`), then we need a test for linking the application and the shared library. We cannot use the existing tests for `watcom` and `dmc` toolchains, because these toolchains have specific behavior and also do not fully support the STL. Therefore, the simplest dependency linking test is used here. Also fixed the shared library creation for these toolchains. Change-Id: I0e5d5ede39fa0c9b4bf7db54adc3f161e0aea91c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix compilation on Qt6Denis Shienkov2022-02-181-1/+1
| | | | | Change-Id: I23182467f28a20e981563ec9f77173ea87e4c693 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Refactor SDCC compiler detectionDenis Shienkov2022-02-171-63/+33
| | | | | | | | | | | | | | | | | | | | This patch fixes a bug with the missing profiles.push_back() call in the createSdccProfileHelper() function. Also this patch simplifies a code: * Used the common public dumpMacros() function to dump the pre-defined compiler macros. * It is enough to read only the `__SDCC` macro to parse the compiler version, because this macro exists on all compiler versions (unlike the `__SDCC_VERSION_xxx` macro which is available only on the versions more than 3.x). * Removed extra line breaks to make the code as compact as possible. Change-Id: Icda1bc0189ef4e374db4b82a29af490b1d2931db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for other platforms supported by Digital MarsDenis Shienkov2022-02-178-129/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the following target platforms: * DOS - both 32/16 bit. * Windows - 16 bit. Also, more specifically, the target is controlled by the `cpp.extenderName` property, which is the DOS extender to use. The Digital Mars support the following DOS extenders: * Rational 16 bit DOS Extender * ZPM 16 bit DOS Extender * DOSX 32 bit DOS Extender * Pharlap 32 bit DOS Extender which have the following names `dosr`, `dosz`, `dosx`, `dosp`. The user can set any of the desired values in the `cpp.extenderName` property (also this property can be empty that means no any extender is used). Right now the `qbs-setup-toolchain` utility creates all possible supported profiles with the required pre-configured properties: Profile 'dmc-8_57_0-windows-x86' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-windows-x86_16' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-dosx-x86' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-dosp-x86' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-dosr-x86_16' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-dosz-x86_16' created for 'C:/dm/bin/dmc.exe'. Profile 'dmc-8_57_0-dos-x86_16' created for 'C:/dm/bin/dmc.exe'. Compiling with DOS extenders requires additional external utilities and libraries (depending on the extender type). Some of them are no longer available at the moment, so the tests in CI are only done for the `dmc-windows-x86`, `dmc-windows-x86_16`, and `dmc-dos-x86_16` profiles. Change-Id: I221d2995900c63605c8552b825bf0c4d55171f5c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Update documentation about WatcomProbeDenis Shienkov2022-02-151-2/+2
| | | | | Change-Id: Ic06f4d2ff28425a7fb76c38ca69144a0db1a3ab2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Add launch of test application target if possibleDenis Shienkov2022-02-154-1/+29
| | | | | | | | | | | | | | | | | | The idea is to check that the compiled application works correctly by running it and reading its output. This will only work if the host platform and target platform are the same, otherwise the launch is simply skipped. Since we use baremetal tests also to test other platforms (for example, using the OpenWatcom or DigitalMars toolchains), the base application `BareMetalApplication.qbs` is created as a console application. The reason is that for baremetal it is always a console, but for non-baremetal it can also be a GUI which requires a different main function. Change-Id: I520ba411582223950521b4b06c2e01bce49fe089 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Darwin: Set MinimumOSVersion property for mobile Apple platformsChristian Kandeler2022-02-151-0/+7
| | | | | | Fixes: QBS-1690 Change-Id: I34b4d3f96ec2790d47e33a018892c67fea5f838d Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix detection of architectures and target platforms for Open WatcomDenis Shienkov2022-02-151-2/+9
| | | | | | | | ... inside of a probe by using the functions from the ModUtils library. Change-Id: If84bc393e9e85ba50bed105dd645aaef2cff004f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Android: Allow to generate multi-arch package with Qt >= 6.3Raphael Cotty2022-02-092-1/+24
| | | | | | | | | | In Qt 6.0, android installation was split in different directories and the androiddeployqt could not work with multiple install dir. This is fixed in Qt 6.3.0 and requires this change to call androiddeployqt. Change-Id: Ia402950fb835e956045ec28a9896c0b5cafbd9e8 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Disable Windows Baremetal testsIvan Komissarov2022-02-091-1/+2
| | | | | | | We no longer have access to the VM and it was shutted down. Change-Id: I5ec6f09e10b87c9a4898ee5494dc42a9d9962371 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for other platforms supported by Open WatcomDenis Shienkov2022-02-097-172/+259
| | | | | | | | | | | | | This patch adds support for the following target platforms: * DOS - both 32/16 bit. * OS/2 - both 32/16 bit. * Windows - 16 bit. Also all these platforms covered in CI tests. Change-Id: Ie75d9203c50f4d61546b19328992ff0e107d9942 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Configure CI for Digital Mars compilerDenis Shienkov2022-02-084-1/+140
| | | | | | | ... and also as fix the typo in the DmcProbe.qbs file. Change-Id: I2f62b862b900c92be97c6eb6a9b461ac5973b8ea Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add probe items in module providersRaphael Cotty2022-02-0811-5/+64
| | | | | | | | Probes can now be used in the ModuleProvider item. Change-Id: If1bf07269aa7d9c3c9dd8a41ac4bd3d259393a49 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add Qt 6.3 Android image and update ANDROID_PLATFORMRaphael Cotty2022-02-064-26/+53
| | | | | | | | | | | | | Add docker image focal-android-630 and corresponding github action. Update ANDROID_PLATFORM to "android-30" because Qt AndroidManifest uses property allowNativeHeapPointerTagging (QTBUG-97009) since 6.2.1 which was added in API30. Also update android test because bug QTBUG-97834 was solved in Qt 6.3. Change-Id: Id45701433a779d2c6cb8dfdbfb0676e2daad6f88 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Do not use std::string in HostOsInfoIvan Komissarov2022-02-049-62/+58
| | | | | | | | We are not going away from Qt and converting QString to std::strgin and vice versa does not make any sense. Change-Id: I99c0067a4738566728c503fe39f0d0a945d4e977 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Long live Open Watcom toolchainDenis Shienkov2022-02-0419-6/+1470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds basic support for the Open Watcom toolchain. This patch uses the `owcc` compiler (supplied with the toolchain), which is a wrapper that supports the POSIX standard. Reason is that the native OW compiler and linker has a limitations in the command line arguments (e.g. they have wrong quotes handling and so on). This patch supports both the latest official version v1.9 and also its fork v2.0. Also added the CI autotests for the version v2.0 for the Windows host. These autotests only perform a limited number of tests (only the bare-metal tests) due to the following toolchain limitations: * The toolchain does not have STL support (there seems to be some kind of the partial support in the form of separate legacy STL ports). * The toolchain support something compatible with the C++98 standard. * The toolchain does not support the shared libraries on Linux hosts. These limitations make it impossible or unjustified to reuse most of the available tests (it requires a lot of work). There was also an attempt to set up CI for tests on Linux host, but for some reason the toolchain installer crashes on CI (although it works fine on a local PC with Ubuntu). Change-Id: Iecf76f51f0b09d31a89683f786b9cd7a825f235e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Add qmlImportPaths property to Qt.android_supportJan Blackquill2022-02-033-2/+15
| | | | | | Change-Id: I3fd73b5053562b139324d3a473184e9c520c2587 Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix typoIvan Komissarov2022-02-031-1/+1
| | | | | | | | Amends 54ec5e8851f0573beb466ddec2e20a1f3c2b7f7a. Change-Id: Ie527099f16092715b3d11d65e5d6bdbf575bbc64 Reviewed-by: Raphaël Cotty <raphael.cotty@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add support for new MSVC2022 toolset version in VisualStudioVersionInfoDenis Shienkov2022-02-021-2/+3
| | | | | | | ... that uses by the Visual Studio project generator. Change-Id: I653604c77b2ab3b431dedb4cc2d031d4ddea5aed Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix auto-detection for MSVC2022Denis Shienkov2022-02-021-0/+2
| | | | | | | | | | | | | | ... otherwise the profile names will be incorrect: Setting up profile 'MSVC0-x64'. Setting up profile 'MSVC0-x64_x86'. Setting up profile 'MSVC0-x86_x64'. Setting up profile 'MSVC0-x86'. they should start with `MSVC2022` instead. Change-Id: Ibf45677d89c716d6c149a94faee65220101fa83e Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* baremetal: Allow to configure job limitsDenis Shienkov2022-02-015-0/+21
| | | | | Change-Id: Ie79f92852ab4895f472d247cfd3dd51c6fb1228f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Create Host service and update FileInfoRaphael Cotty2022-02-0115-125/+469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to use PathProbe and BinaryProbe in module providers, the qbs properties used in the probes will be replaced by the Host and the FileInfo services. The new Host service implements these host related properties: architecture, os, platform, osVersion, osBuildVersion, osVersionParts, osVersionMajor, osVersionMinor, osVersionPatch, nullDevice The FileInfo service implements these properties: pathSeparator, pathListSeparator Task-number: QBS-1612 Change-Id: Icecde3d82a531a5b143ce150ffd544ee674e6f4d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Use Host and FileInfo serviceRaphael Cotty2022-01-31126-201/+357
| | | | | | | | Replace all the possible use of the qbs module that can be replaced by the Host and FileInfo services. Change-Id: I0d6f820bb2577eacd9081ec2df1eb53adf94d50e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix buildIvan Komissarov2022-01-281-2/+2
| | | | | | | Both branches of the ternary operator have to have the same type. Change-Id: I429509adec209aacadf85bb5f8ea0573d92a4e95 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use std::transform where it is possibleDenis Shienkov2022-01-2729-134/+124
| | | | | | | ... to unify and simplify a code. Change-Id: Ia493c5f428c1da4df3c8623e448be8ac72fd4f44 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Factorize out probe code from module loaderRaphael Cotty2022-01-227-232/+410
| | | | | Change-Id: I349589aa5d92f221e43c61722e53a80d59f183b0 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Doc: Update copyright year to 2022 in the online footerLeena Miettinen2022-01-191-1/+1
| | | | | Change-Id: I9c3cf494036a624a2f2a3fde628373cd4388ce32 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: Use the new way to prevent autolinkingLeena Miettinen2022-01-192-7/+4
| | | | | | | | Instead of "\externalpage nolink" entries, add "ignorewords" to the .qdocconf file. Change-Id: Ic3f0da4d91145d98223972dd93d79443b4eaeca2 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add wrapper 'content' div to QDoc conf for Hugo siteJan Blackquill2022-01-121-0/+3
| | | | | | | | This is needed to distinguish the sidebar from the rest of the page, to allow styling it separately Change-Id: I5b8039f0b51a02b24778bab140b6402e6db94ee7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix detection of MSVC environment for cross-compilersDenis Shienkov2022-01-071-1/+18
| | | | | | | | | | | | | | | | The MSVC profile has no mention of the host architecture, since it contains only the target architecture. Therefore, in the probe for the MSVC cross-compilers such as HostX64\x86, HostX86\x64, only the target architecture is passed to determine their build environment, which is incorrect. We need to pass the combined cross-architecture as x86_x64, x64_x86 by analogy as it is done in the qbs-setup-toolchains. Fixes: QBS-1681 Change-Id: I549d8673cd6d4b0e46bf714355206b9efb2f5b1f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* tests: Make sure we handle prefix cases where libPath have arch tripletMarius Gripsgard2021-12-311-1/+3
| | | | | | | | | | | | Example for this case is on debian where libPath is equal to /usr/lib/[arch]/ this would then end up with a prefix of /usr/lib, this is wrong as it should be /usr. This also adds an additional check to see if its starts with /lib as this might be a correct path on some systems, so we ignore this case. Change-Id: Idc706892ba70ebb3f212a6938a6285c24e4a75b1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Replace std::erase && std::remove_if chains with Internal::remove_ifDenis Shienkov2021-12-228-25/+20
| | | | | Change-Id: Ia267b9419227db5f4382a33aa99eb7dbe0ada45f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Document how to append files to base properties in derived typesMitch Curtis2021-12-152-0/+33
| | | | | | | Change-Id: I5ee6d7bce9aa6479f7603356304e0a0f99f05610 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Fix typo in codesign::certificatePassword property typeDenis Shienkov2021-12-151-1/+1
| | | | | | | | ... this property should be string instead of path. Fixes: QBS-1682 Change-Id: Ic6b1e59ba7b737c97aa87f19f95f1cff5301da73 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Merge branch '1.21' into masterIvan Komissarov2021-12-1330-34/+165
|\ | | | | | | Change-Id: Ia540ffdfbcb1e51146dba53337defd09ded66f1a
| * Fix CI for building releasev1.21.0Raphael Cotty2021-12-133-3/+2
| | | | | | | | | | | | | | .. by partially cherry-picking d5fa3a4eb279c1ad9f0247156e5cf015261e39f0. Change-Id: I646b1ca34d5955de7b7770ccd8328a3eea797ee3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * cpp Module: Implement runtimeLibrary property for MinGWBjörn Schäpers2021-11-293-2/+5
| | | | | | | | | | | | | | | | Otherwise there is no possibility to add these arguments, since cpp.linkerFlags are put into -Wl which is not correct for them. Change-Id: I4b9355e082269d390b2afc20bec1376c5d1fcd59 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * Add changelog for the 1.21.0 releaseIvan Komissarov2021-11-111-0/+56
| | | | | | | | | | | | Change-Id: Ia9d2a5bfdd8407f7520de98fe6c09c36be43c6cc Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * Fix size_t -> uint conversion warnings with Qt 6Orgad Shaneh2021-11-0823-30/+99
| | | | | | | | | | | | | | | | | | | | Example: codelocation.h(88): warning C4267: 'return': conversion from 'size_t' to 'uint', possible loss of data Change-Id: I06fa98d1e6d8eec85720bd6c5150a505ea98bdd1 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
| * qmake: fix public dependency on scriptengineIvan Komissarov2021-11-052-1/+4
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-26516 Change-Id: I32ea47948bbf92ee512c964f069f911226c2b6a2 Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
| * qmake: fix build with clang on MacIvan Komissarov2021-11-041-1/+1
| | | | | | | | | | Change-Id: I9941963bb721fe4e8b6480c82139d6abae8891a9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Convenience products: Make installDebugInformation consistentChristian Kandeler2021-12-134-1/+13
| | | | | | | | | | | | | | | | | | | | ... with install by default. If we have an installable product with debug info, it's likely we want to install the debug info as well. Task-number: QTCREATORBUG-26419 Change-Id: I6057bcd1620bcf207b38397b7f6f45be4187e44e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* | Docker/github action: update mirrors and use Qtc 5.0.3Raphael Cotty2021-12-104-11/+10
| | | | | | | | | | | | | | Update available mirrors which all provide Qtc 5.0.3. Change-Id: I9315c607bbdfd6a7fdb8a8e00f99df41aba8b97f Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>