Commit Graph

30 Commits

Author SHA1 Message Date
Alessandro Portale
daa9804699 McuSupport: Prepare support for more toolchains than GNU Arm Embedded
Move all hardcoded arm-specific strings and code into the new
McuToolChainPackage class (which will later support IAR and KEIL).

In the same change: Adjust paths in CMake options to latest Qul path
changes in the master branch.

Change-Id: Iefa205729588a3efa783eb9eaaa339ed9f8e2813
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-03-03 11:23:29 +00:00
Alessandro Portale
888d804826 McuSupport: Adjust Kit parameters to changes for Qul 1.1
Qt for MCUs 1.1 gets a new directory and build system structure. Sha
807a3d2 in the Qt for MCUs repository introduces the change.

This patch adjusts the parameters of the generated kits accordingly,
which means that Qt Creator (master/4.12-beta1) will from this commit on
not support Qt for MCUs 1.0.1, anymore.

Change-Id: I20ded1bc28a2ffe30b59e8bce4a17bc38bb76a79
Reviewed-by: hjk <hjk@qt.io>
2020-02-10 12:32:43 +00:00
Alessandro Portale
fcfb0fbf80 McuSupport: Remove Engineering packages/targets
The resulting kits are at the moment not functional. They will be revamped
as soon as the new QUL 1.1 package structure is in place, the plugin is
able to parse the upcoming meta data and when I am understanding how
exactly an engineering kit needs to look like.

Change-Id: If21bc6f5301369e4bba077faad32d934c04409a2
Reviewed-by: hjk <hjk@qt.io>
2020-02-06 17:33:00 +00:00
Alessandro Portale
8ee93c3a46 McuSupport: Use Utils::InfoLabel in McuSupportOptionsPage
Task-number: QTCREATORBUG-23346
Change-Id: I75cd156db4715b3d55b11e665f46a2f31bbb6b1a
Reviewed-by: hjk <hjk@qt.io>
2019-12-19 16:16:21 +00:00
Alessandro Portale
9eed77fe86 McuSupport: Set jom via CMAKE_MAKE_PROGRAM instead of adding it to Path
Let's add less to the Path variable of the Kit's build environment. If
jom.exe is present, define it via CMAKE_MAKE_PROGRAM, set the CMake
Generator to Jom and hide the CMake Generator setting.

Change-Id: I58de73dc631f753d3e5c1706e593afb923fcb588
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2019-12-06 20:08:13 +00:00
Alessandro Portale
efa857e693 McuSupport: Fix compilation
Change-Id: I5cd32e709e635e3f09c5787e18d1141cac2ddf4c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-28 20:14:05 +00:00
Alessandro Portale
5351652e88 McuSupport: Fix case of path variable in Kit environment
Linux calls it "PATH" and is case sensitive.

Change-Id: Ic53c0bd4a9135eef21dc5f771022ab5277fe35a8
Reviewed-by: hjk <hjk@qt.io>
2019-11-28 19:41:43 +00:00
Alessandro Portale
b0977c97f2 McuSupport: More robust search for installations in "ProgramFiles"
Search in 32-bit and 64-bit locations.

Change-Id: If267da24fa68e6d1b30e4ef6eb29b374e42693dc
Reviewed-by: hjk <hjk@qt.io>
2019-11-28 11:04:45 +00:00
Alessandro Portale
1b89d4ba53 McuSupport: Rename package key QtMCUSdk -> Package_QtForMCUsSdk
...final name. Forever.

Task-number: QTBUG-80242
Change-Id: Id9fe7001738e2fd5f4f08c3cd02a78dbf9c45e7d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-22 11:06:09 +00:00
Alessandro Portale
f8f6f53960 McuSupport: Add optional color depth (bpp) property to McuTarget
...include that in kit names and add it as "QUL_COLOR_DEPTH" CMake
parameter.

Change-Id: I14ba7ce465c54d525683be2660d2e24b6ecfed6c
Reviewed-by: hjk <hjk@qt.io>
2019-11-21 07:49:10 +00:00
Alessandro Portale
b738a9d02d McuSupport: Reduce omnipotence of McuTarget's constructor
... add some setters for optional properties.

Change-Id: I4e1814c36f8294af86bf30d8538f450bc7f70b2b
Reviewed-by: hjk <hjk@qt.io>
2019-11-21 07:48:25 +00:00
Alessandro Portale
a2355841f5 McuSupport: Rename internal types
"PackageOptions" -> "McuPackage"
"BoardOptions" -> "McuTarget"
"qul" -> "qtForMCUs"

Change-Id: I209cc82c7516fbf6a960b26c440159dbab02a4db
Reviewed-by: hjk <hjk@qt.io>
2019-11-15 08:07:37 +00:00
Alessandro Portale
631efb8611 McuSupport: Use the official product name "Qt for MCUs" a bit more
... for the Kit names and the SDK path label

Change-Id: Idb87b20c944760e599df5edb4b1eafc7d28bde92
Reviewed-by: hjk <hjk@qt.io>
2019-11-14 11:30:22 +00:00
Alessandro Portale
4973af165e McuSupport: Unify and clean-up strings that end up in the settings
Change-Id: I65c10f6865f8f2a4670c5bc9a8c7269488dd937e
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-14 11:29:56 +00:00
Alessandro Portale
0d35690682 McuSupport: Assign "QtMCU Qt Desktop" kit the QtMCU icon
It is in fact more a QtMCU kit than a (Desktop) Qt kit.

Change-Id: If55699c13f76f75b8326074f9d7c1989f571dd7c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-13 22:43:57 +00:00
Alessandro Portale
a035635f1f McuSupport: Add compilers to CMake configuration
To get rid of the warning triangle on the kit icon, CMAKE_CXX_COMPILER
and CMAKE_C_COMPILER get defined.

Change-Id: I40ee47e4059e8986557609048f465972985e3d5b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-13 22:40:18 +00:00
Alessandro Portale
7f8576d49f McuSupport: Improve kit creation UX
Create a kit only for the currently selected target.
Kits are listed as auto-detected. Extisting, auto-detected kits with
same name get replaced with new ones.

Less text in the UI.

Change-Id: I89f952cc6ff694dc5c2750ebf9a7698d7839ec3a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-13 22:09:21 +00:00
Alessandro Portale
1d1dde0f9b McuSupport: Avoid mix of dir separator styles for CMake parameter
Qt Creator's CMake plugin would otherwise (since recently) open that
"sync" dialog if a configuration path contains back slashes.

Change-Id: I2e333604e22158bdb61c2ca8eb65911295383b52
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-12 18:27:54 +00:00
Alessandro Portale
9641de2007 McuSupport: Distinguish "Evaluation" and "Engineering" roles
"Evaluation" and "Engineering" kits need to be set up differently.

Change-Id: I649fed9cbdff248c5cbc69e65a095ced1f25326e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-12 18:14:46 +00:00
Alessandro Portale
ce83b2a93c McuSupport: Unify, simplify and improve kit name creation
Change-Id: I27ffa3d89226eedc8396c37249e124f846a630d3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-11-12 17:51:05 +00:00
Alessandro Portale
aaef25f708 McuSupport: Set Kit's CMAKE_PREFIX_PATH for Desktop version
... make sure that CMake really finds the right Qt installation

Change-Id: I90083e4522111eac9b3658f4351536cfc798bf98
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-07 12:38:35 +00:00
Alessandro Portale
af6ec7943e McuSupport: Tag "board" and Kit with vendor name
Needed for an upcoming hack, but also later when we "zero-config"
the boards.

Change-Id: I240cc252ebba458cab71db24740266756d0e8b37
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-04 17:47:57 +00:00
Alessandro Portale
ebc2628116 McuSupport: Adjust default path for SEGGER JLink
Change-Id: Iace2010f35bbaad3d1db749d6e05e2faa347c803
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-04 15:36:52 +00:00
Alessandro Portale
7d14132c8c McuSupport: Create a Qul-Desktop kit
First, hacky step towards supporting the "Qt" target. Such a target now
gets created with correct environment variables and CMake options.

Device type is for now Desktop, but portale thinks we will have a Qul/
Desktop target at some point.

Compiler and Qt version are randomly preselected and certainly need to
be adjusted by the user (for now).

Change-Id: Ie3f6a6e3ce1a46c35687e20a7550ff51b6b1b7c7
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-04 13:53:38 +00:00
Alessandro Portale
43e40f21a7 McuSupport: Detect GNU Toolchain for Arm a bit better
If there is exactly one subdir in the GNU Tools installation dir, pre-
select it.

Change-Id: I14cb2e46863884724d4eef2ecac83513c515ebee
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-11-01 08:56:11 +00:00
Alessandro Portale
e2f82cd57f McuSupport: Add path to shipped clang to build environment
Task-number: UL-1109
Change-Id: I0a79c597c3d4d0377fc6b3da9a8362d70dee85d5
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-10-31 15:17:35 +00:00
Alessandro Portale
907c35dc00 McuSupport: Enable and preselect usage of the shipped JOM (on Windows)
- Set CMake generator to "NMake Makefiles JOM"
- Add ICore::libexecPath to environment path
- Set the environment for the run configuration

Change-Id: Ie7b2dc1513b366911b429d77cc4a1954be531075
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-10-31 15:16:26 +00:00
Alessandro Portale
7fffe8a7b1 McuSupport: Add Segger Jlink path to kit environment
SEGGER_JLINK_SOFTWARE_AND_DOCUMENTATION_PATH

Change-Id: I29a1b4f011ce9f419b46e9571a930d14438bae20
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-10-30 18:34:45 +00:00
Alessandro Portale
efe49d3d9f McuSupport: Rename "NXP EVKB-IMXRT1050 SDK" to "NXP i.MXRT SDK"
The new name is more generic, and valid for more targets.

Change-Id: I7efb3f1721ec1e88de073d5f43edff8b308f3f02
Reviewed-by: Aurindam Jana <aurindam.jana@qt.io>
2019-10-30 18:33:55 +00:00
Alessandro Portale
6bdc6c1584 McuSupport: Split up McuSupportOptionsPage
Move the non-OptionsPage code into a new file for comprehensibility.

Change-Id: I306ae669ec9fdd941f777426420859ee2eb89e95
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-10-22 14:35:34 +00:00