Commit Graph

96 Commits

Author SHA1 Message Date
Christian Kandeler
020883c47f ProjectExplorer: Stop pretending that C and C++ compilers are unrelated
Motivation:
  a) It was ridiculous that when users wanted to manually
     add a new toolchain, they had to do the entire setup twice.
  b) It was equally weird that users had to take care to choose
     matching toolchains when setting up a kit, or indeed that it was
     even possible to mix random toolchains in the first place.

User-visible changes:
  - The "C" and "C++" categories in the toolchain settings page have
    been merged into a single "C/C++" category.
  - When adding a new toolchain, the "C" and "C++" sub-menus are gone.
    Instead, the toolchain config widget offers two path choosers if
    the respective toolchain type supports C and C++ compilers.
  - By default, the C++ compiler file path is derived from the C
    compiler file path automatically, so the user usually has
    to enter only the former.
  - In the kit settings page, the "C" and "C++" toolchain combo boxes
    have been replaced by a single "C/C++" combo box, relieving the user
    of the responsibility to choose two matching toolchains.

Implementation:
The notion that a Toolchain object corresponds to a single compiler is so
deeply engrained in the code that it cannot realistically be changed in
the short term. We therefore introduce the concept of a "toolchain
bundle" as an additional layer that groups matching C and C++ toolchains
together. This way, most code dealing with toolchains stays unchanged,
and only the presentation layer (i.e. the toolchain and kit settings
pages) needed to be rewritten. Once set up in a bundle, toolchains stay
implicitly linked together so the matching only needs to be done once.

In follow-up patches, we will make use of toolchain bundles in all the
places where kits are auto-created, eliminating the risk of mixing
incompatible toolchains in a kit.

Change-Id: Ie6c5add9963e7c1096268dd77acd624671b2674f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2024-08-05 15:35:48 +00:00
Christian Kandeler
9d0c144892 ProjectExplorer: Let toolchains be (de)registered in bulk
When some code adds or removes a bunch of toolchains at once, that
should be made explicit and also be reflected by the respective signal
emissions.
Fix some leaks and typos along the way.

Change-Id: I4a1f12a2378316c5faf70e85a88adc467f076caf
Reviewed-by: hjk <hjk@qt.io>
2024-07-19 14:44:47 +00:00
Sivert Krøvel
108ed5a400 McuSupport: Update getPath() test expectations
After the recent change 3be0b263a8,
SettingsHandler::getPath() can be called one additional time in the
McuPackage constructor. Take this into account in test expectations

Change-Id: Ib302de2b2d446a9b8884f8c3d0bfabd4223b8d87
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-12 10:25:38 +00:00
hjk
d7c1fe129f McuSupport: Rename remaining ToolChain things to Toolchain
Change-Id: Icd90402501b3ca2197e124731e26d2f9b0704e0a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-01-23 11:09:23 +00:00
Yasser Grimes
f7950acd94 McuSupport: Accept wildcards in detectionPath and executableVersionDetector
In case the g++ symbolic link does not point to any g++ executable it
should be possible to pick other installed g++ versions

Fixes: QTCREATORBUG-29891
Change-Id: I3070e38617a85489e1e6bfb3b1a6368af684829f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-01-05 16:32:48 +00:00
hjk
ddf39cd0dc ProjectExplorer: Rename various items in the Toolchain class
Change-Id: I544763d3b4d521f6bbed0dc5a767c15c49055a19
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-12-04 15:10:08 +00:00
hjk
c463f944e9 ProjectExplorer: Rename ToolchainManager signals and members
Change-Id: I5195cb785f91dbaafdeeb8bb8c71939a6e3ff9e5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-27 16:45:02 +00:00
hjk
b5937836f4 ProjectExplorer: Rename ToolChainManager to ToolchainManager
Plus the private and some comments.

Change-Id: I95d72d77f25cb1c969a1a6148e7186150a697d1f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-27 16:33:34 +00:00
hjk
c28fb1fdbe ProjectExplorer: Rename ToolChain to Toolchain
Change-Id: Ibb520f14ff3e2a6147ca5d419b9351c50c141063
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-24 15:18:24 +00:00
hjk
2d4867e73f ProjectExplorer: Rename Tool{C,h}ainFactory
Also adapt derived classes.

Change-Id: Iebf654c974730333c42b6994269ad1a4d5f7f428
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-11-24 13:55:25 +00:00
Christian Stenger
f401d51a66 McuSupport: Fix dependencies and tests
There is nowadays a hard dependency on QmlJSTools as there is
need to access its QmlJSModelManager.
Beside this adapt the tests to reflect the Key / QString changes
happened inside the settings to avoid crashing the tests.

Change-Id: I71cd0457e5f567da28cc089b514655418bd60b7d
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-10-24 05:18:54 +00:00
hjk
d6fe357d81 Utils: Use a proper class as Key
The Key encapsulates now a QByteArray.

Plan is to use QByteArray::fromRawData on literals, but that's not
active yet due to an unclear ASAN report, see the gerrit discussion.

For now we also paddle back when interfacing QSettings, instead of mimicing
writing a QVariantMap (and fail in some corners), always convert
the Store. This is meant to go away in the future when code paths
are better controled.

Change-Id: Id1206a434d511f8003903d5322c7c9bd5f5fb859
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-27 09:41:44 +00:00
hjk
d7d78df9da Plugins: And more Store and Key
After this one, is compiles with the opt-in macro. Not changed yet,
though.

Change-Id: I29a66ecb5daa71d0d97566b81fd9f47d92f6368a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-25 11:45:22 +00:00
hjk
4e0c4b0f23 CMake: Rename cmakekitinformation.{h,cpp} to cmakekitaspect.{h,cpp}
Follow up after renaming the contained classes.

Change-Id: I9393c367abdd4eac487e17676c98a357ff33c98c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-22 05:56:39 +00:00
hjk
017d7c0e47 ProjectExplorer: Rename kitinformation.{h,cpp} to kitaspects.{h,cpp}
Change-Id: I069bddeb457366210d339edcbb8ffb359a40fab8
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-15 07:31:03 +00:00
Eike Ziller
68915713bf Merge remote-tracking branch 'origin/10.0' into tr
Conflicts:
	src/shared/qbs
	tests/system/suite_general/tst_opencreator_qbs/test.py

Change-Id: I683ebb489e7c2112b343bb3631f6343fdc84cc4a
2023-06-15 09:43:24 +02:00
Sivert Krøvel
65a7d3a200 McuSupport: Update test data
Change-Id: I56a82274bd34ac9a34a785c43cc066ca6598fbaa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
2023-06-01 10:04:39 +00:00
Eike Ziller
66c0c36bc1 Fix compiler warnings
Change-Id: I9b0b4a60d1152142f62bf3f76885cf8019714623
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-05-02 09:05:16 +00:00
Christian Stenger
6f7934226e McuSupport: Adapt plugin unit test expectations
Amends 22909726eb.

Change-Id: Icd586fe7724ce4ba9b12780f6044a3f35e5a4fa5
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-30 04:48:20 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Sivert Krøvel
572747db37 McuSupport: Make legacy kit creation match QtCreator 8
The default path for the STM32 Cube Programmer was recently changed for
legacy packages. This means that Qt for MCUs 2.2 kits created with
QtCreator 9 and kits created with QtCreator 8 would have different
paths. This is not ideal as a basis for automatically creating new
kits when changing Qt for MCUs version.

This change makes QtCreator 9 create legacy kits in the same way
QtCreator 8 did.

Change-Id: I8b1fa4a0d673f746edf058aee292e6d42ca2cdcf
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-04 16:28:09 +00:00
Sivert Krøvel
6d992c9f3c Revert "McuSupport: CMake expects programmer path to include the bin folder"
This reverts commit e558fc4d1f.

Reason for revert: Because this is incompatible with how QtCreator 8
makes kits, it breaks the kit when changing versions. A fix for the
original issue was made in Qt for MCUs to accommodate not having bin
the path, allowing the detectionPath to be bin/... in matching with
legacy code.

Change-Id: I64c670398287b3ec9beec0aa6fac02325b322664
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-04 16:27:58 +00:00
Yasser Grimes
3c6a40b30e McuSupport: Support expanding multiple wildcards in a path
To support defining default paths such as "Microsoft Visual Studio/2019
/*/VC/Tools/MSVC/*/bin/Hostx64/x64"

Change-Id: I889439a0f2a05b15121a28fbf2b50acde2e74968
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-04 10:33:57 +00:00
Sivert Krøvel
8fa0c2c390 McuSupport: Implement support for parsing path type from json
The json kit files have an entry named "type" which is intended to
specify whether a specific path points to a file or a directory (or
something else). Until now, this entry has not been handled and all
lineEdits expect a path, thus appearing red in the UI if supplied with
a file. With this patch, support for the type "file" is added, with the
possibility to support further types in parseLineEditType.

Currently, only File and ExistingDirectory are supported, with the
latter being used by default whenever no "type" entry is specified.

Task-number: UL-6610
Change-Id: I252d4eff76d4a11b92ce55a0c0964446072e48c1
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-02 14:00:36 +00:00
Yasser Grimes
71ae73119e McuSupport: Support globbing in default paths
With this change default paths containing globbing characters will be
expanded to an available path.
example:  "sdk-*" will be replaced with "sdk-1.2.3" if the latter is
available.

To test the wildcards and make sure it works with QtCreator macros
a fake_kit was added containing fake packages.

Task-number: QTCREATORBUG-26900
Change-Id: I31440d24e42a6170fc5f1905f884bb3be43c57bc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-01 15:11:14 +00:00
Sivert Krøvel
f06958f908 McuSupport: Add more missing detection paths to test jsons
Sync test jsons with board jsons from qul repo. Add detection path to
JLink package creation test case.

Change-Id: I0a19e53c16fd83ec3cf4bf414c7027bf9eab6eb9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-01 10:52:18 +00:00
Rainer Keller
e558fc4d1f McuSupport: CMake expects programmer path to include the bin folder
Change-Id: I193dc5d30abfa50830ca93c61af8eeb985fe9c4f
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-01 08:58:02 +00:00
Daniele Bortolotti
eb0649ba05 McuSupport: Enable os-specific executable version detection
Currently version detection fails in either Linux or Windows based on
the content of versionDetection.filePattern in the json kit file.

This change enables os-specific filePattern fields:

"versionDetection": {
    "filePattern": {
        "windows": "bin/arm-none-eabi-g++.exe",
        "linux": "bin/arm-none-eabi-g++"
    }
    "executableArgs": "--version",
    "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b"
}

Simply appending the binary extension with withExecutableSuffix()
is less portable and does not reflect the validationPath field.

For McuPackageDirectoryEntriesVersionDetector and
McuPackageXmlVersionDetector to work correctly, they rely on
filePattern not having os-specific fields.

Also make getOsSpecificValue and parseVersionDetection static.

Change-Id: Ieacf376126043d732eeb5d5a2f4125963022ae76
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-31 15:10:31 +00:00
Yasser Grimes
7938a8a80f McuSupport: Store macros as part of McuSdkRepository
To support extending the macros and calling the
McuTargetFactory::expandVariables function statically, the macros are
added as part of the SdkRepository.

This commit also adds helper functions to extend macros other than the
ones created from the packages.

Change-Id: Ie7d2a9ad626782eec18738bdd3472ffd202e7a36
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-28 11:57:37 +00:00
Rainer Keller
9257a15a68 McuSupport: The armgcc version string does not contain 'v'
Change-Id: Ic259bed17a97bccb64f427ce2054efc9d05b55f2
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 09:26:58 +00:00
Daniele Bortolotti
16261ad472 McuSupport: Improve version detector logic
McuPackageDirectoryVersionDetector class name was misleading,
McuPackageDirectoryEntriesVersionDetector better describes its
purpose as it can be used to search for a regex match among the
entries in packagePath filtered by filePattern. Also, remove
isFile boolean member variable since is not needed for current
use cases, ie Renesas Graphics library (RGL), and filePattern
can be used instead.

Also, improve version detector creation logic. If no filePattern
is present in the Json kit file, the regex match is based on
packagePath only, which is the correct way to detect the version
for RGL.

Task-number: UL-6642
Change-Id: I3ee2fdb623bdd77aea60f9eae3672b9b5aa40433
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-24 11:40:11 +00:00
Rainer Keller
34d0f2e678 McuSupport: Fix invalid version detector being instantiatied
In case the JSON entry was missing completely, a directory version detector
was instantiated.
Instantiate version dectectors only if there is enough and valid
information available.

Change-Id: Iaf9cd40165e4d75124f3e0ddda66db2f4dab5ff7
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-24 10:59:49 +00:00
Sivert Krøvel
b1a3e136b6 McuSupport: Add handling of os-specific validation paths
Before the refactoring, the various third party packages had detection
paths set to facilitate picking the correct subdirectory in QtCreator.
Adding these paths to the JSONs prompts hints in the Devices>MCU UI to
which path to enter, and prevents the user from picking the wrong path

Since the paths might vary based on the host-os, it is necessary to
enable parsing this from JSONs, similar to how the "defaultValue" is
handled. The "detectionPath" entry can either be an object with
separate values in fields named "windows" and "linux", or a string.

Change-Id: I813affe856fe73f6cf34ea75850500b49a1b2b6a
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Kwangsub Kim <kwangsub.kim@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
2022-10-24 07:09:39 +00:00
Rainer Keller
6326ccfe30 McuSupport: Store the source location of the JSON file
This allows to mention the file name the configuration was created from in
error messages.

Change-Id: Id8e3d4a754cf5c1f0a12c6b21af1158713c68690
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-24 06:27:57 +00:00
Kwangsub Kim
d7f9f45daf McuSupport: Identify MinGW toolchain
QtMCUs will support MinGW toolchain for Windows desktop platform,
so MinGW toolchain needs to be identified.

If the default toolchain or a user configured one is a correct
MinGW toolchain, it would be selected. If not, a proper toolchain
would be picked up from the registered toolchains in Qt Creator.

Task-number: UL-6607
Change-Id: I82580d721d9ed916a6b32d35c124a638d7a3e68e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-20 17:55:00 +00:00
Piotr Mućko
9b47b1575a McuSupport: 3rd party packages creation tests
Change-Id: I0f9ed6c49b28007c617627525fc081ae9152e3f1
Reviewed-by: hjk <hjk@qt.io>
2022-10-12 14:50:41 +00:00
Sivert Krøvel
531e1a572e McuSupport: Add flag in JSON for adding a package path to system path
An entry called "addToSystemPath" was added to JSON files to signal
whether the corresponding path should also be added to the system path.

Task-number: UL-6409
Change-Id: I2d7ba38b3905d67475a3c482692e4f8e21d4141e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit fb643db088)
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-10-07 15:01:37 +00:00
Yasser Grimes
e38efabea9 McuSupport: support reading packages defaultValues depending on OS
default values can vary between windows and linux so when it is the
case a json object can be specified to describe the default values for
both.

Change-Id: Ifd3e4225ba0e1b1760f93ecea9cfafa4545c3404
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-09-27 09:05:11 +00:00
Alessandro Portale
76fc1bddfa McuSupport: Fix some warnings
Change-Id: I301e3194248423323f15f0e1404535f6eff692da
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-26 09:15:35 +00:00
Piotr Mućko
df92e79da4 McuSupport: Sync JSON files with QtMCUs repo and related fixes
This synchronizes JSON files used by unit tests with files
in QtMCUs repo. To do that some changes in code were needed.

QtMCUs package is no longer created for each JSON file. Because of
its nature it's created once and passed to each target.

Unit tests now have verifyPackage function to avoid duplication
of checks.

In test creating target QtMCUs package is checked beside toolchain
ones.

Change-Id: I5dea470daf184b45facfaaa793c359310ac22fc1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-23 07:48:14 +00:00
Christian Stenger
28349c1b08 McuSupport: Fix tests
Change-Id: If8d8f00bef3ebf163f59036661e6b99be9b3e2ec
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-12 10:30:38 +00:00
Sivert Krøvel
0a17b29cfb McuSupport: Check FreeRTOS path for required files
It is easy to pick the wrong directory for FreeRTOS sources when
configuring an MCU device. This commit adds a check that the
supplied path contains tasks.c, which probably means the given
directory is correct.

Task-number: QTCREATORBUG-27180
Change-Id: Iff1242e8970e59bf334d50829dd1d5bdd8164d47
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-09-07 15:11:41 +00:00
Piotr Mućko
fe5fdce2d6 McuSupport: Compare OS specific paths in unit test
Change-Id: I95cae23dc1aebfa5f9d7ff7c6cb36f984b2d53a5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
2022-09-06 07:42:03 +00:00
Piotr Mućko
9552658b2b McuSupport: Use qtc Utils::Environment helpers instead of qt globals
Change-Id: I7e50c7a2417dd6cf2abf6f46a67bbc7eed6f664d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-01 11:58:21 +00:00
Piotr Mućko
c060e2e5c8 McuSupport: Add missing PackageDescription members initialization in tests
Change-Id: Iee9dce4833c5f9ccf8521952c82b215e17d1a72a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-01 10:13:18 +00:00
Eike Ziller
c79d4bd606 MCU: Use qtcEnvironmentVariable* instead of qEnvironmentVariable*
And instead of qgetenv.
Takes Qt Creator's setting at "Environment > System > Environment" into
account, which makes it easier on some platforms to set them (e.g.
macOS), can be configured differently in different settings paths, and
potentially can be changed at runtime (depending on usage).

Change-Id: Ib644dd6178bf9e0a1a75a2c6cf49fd5f3d121cf4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-08-31 06:19:45 +00:00
Piotr Mućko
d76ba33381 McuSupport: unittests for legacy 3rd party package creation
Change-Id: I83e3daf1f718066b20798aae2cf19836529b1f56
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-08-29 11:50:50 +00:00
Piotr Mućko
d66b791df1 McuSupport: Use MacroExpander for variables evaluation
Change format of variables to qtcreator's internal:
From $Qul_DIR to %{Env:Qul_DIR}.

Change-Id: I3838593b979a0a9b7d85e77114b1b129e1a128da
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-08-29 10:46:59 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Piotr Mućko
3ec085b4f4 McuSupport: Use constants for qt MCUs package variables
Change-Id: I7ca83a6ed3981005bf562d4937d6b27bbcfd53eb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-08-25 07:52:00 +00:00