Commit Graph

308 Commits

Author SHA1 Message Date
Cristian Adam
fc493c3fcb CMakePM: Resolve paths to build directories
With the default build directory template the CMake build directories
will be displayed as project-source/../build-project-name-kit-build-type
which can be irritating.

With this commit the build directory will contain the resolved path.

Change-Id: I968260caba5b9a47e1bda4eeaea386a04fe817b1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-06-28 08:07:20 +00:00
Eike Ziller
8f30ff6987 CMake: Show build directory when asking if it should be used
When changing the build directory to a new or empty directory, we ask if
the build directory should be changed and the project be configured
there. Mention the new directory in the dialog.

Change-Id: Ie4d7e9b132e6e90004e4d498b2182562375e7441
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-06-24 11:58:52 +00:00
Eike Ziller
1d600101ee CMake: Apply build directory change on editingFinished
Otherwise every time a character is typed, a dialog pops up, and that
dialog is closed without triggering a cmake run, the value is reset.

Add that behavior optionally to StringAspect.

Change-Id: I6831d1622f08acae6df43d4ceb2bf7367c96a747
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-06-23 12:05:45 +00:00
hjk
d3994dd903 CMake: Use local path names in android build parameters
This is directly passed to cmake and used in the context of the build device.

Change-Id: If22764b0d962f96b51897b754b413c2310818c33
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-06-21 10:29:19 +00:00
hjk
eed82176b2 CMake: Listen to BuildSystem::parsingFinished, not Target::parsingFinished
There's a 1:1 relationship between CMakeBuildConfigurations and
CMakeBuildSystem objects. No need to react in one
CMakeBuildConfiguration to the signals of someone elses buddy.

Change-Id: I53f7d02d8852a85b9530bd55d8e059916a22579c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-06-10 14:03:49 +00:00
Cristian Adam
26e856254c CMakePM: Allow copy / editing of build directory
This reverts 69b0a2cafc

The build directory is preset and by having the ability to edit, you can
easily do a new build by appending a number.

When you have a new build directory a dialog will warn you that you'll
start from scratch. This is enough of a hinderniss to the user to start
typing and get lots of build directories. No need to have it read only.

Fixes: QTCREATORBUG-24451
Change-Id: Id1bc77d0fbcb071608f5ac83ddd6b8af943fdac5
Reviewed-by: hjk <hjk@qt.io>
2021-06-10 13:42:29 +00:00
Cristian Adam
b504bef7a4 CMakePM: Add support for QNX 7.1 and Qt 6
By setting CMAKE_TOOLCHAIN_FILE to the qt6 toolchain file all the
needed bits to compile agains Qt6 get resolved automagically.

Change-Id: I43084842f98a4385acedd4865aaf7e26f25a351e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-18 08:26:06 +00:00
Eike Ziller
c0cfafdd3d Merge remote-tracking branch 'origin/4.15'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp

Change-Id: I403b236c40d73a61ae22304e289e9d4374366395
2021-04-06 15:17:40 +02:00
hjk
341132dd0a CMake: Code cosmetics
- use newer approach to settings page layout building
- no SHOUTING enums
- namespaces
- proper dialog parent for message

Change-Id: I7adfb7487d502b8fd706c4a0c5645f4d2153e39c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-03-30 08:57:31 +00:00
Cristian Adam
a862c7b354 CMakePM: Fix "Build type" for multi configuration generators
The multi configuration generators (Visual Studio, Xcode) had an
empty "Build type" which caused failures to parse the CMake file-api
information.

Change-Id: I70ee4978cee4d43e980edf4cd512d1ca95275638
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-03-26 19:36:19 +00:00
hjk
beda749326 CMake: Aspectify CMakeSpecificSettings
Change-Id: I2e094c5a392964fdaf49ac30c2e0ae0f57a3b11d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-03-26 12:40:08 +00:00
Eike Ziller
b213c87cf4 Merge remote-tracking branch 'origin/4.15'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp

Change-Id: I722a94f37bdd1d78625cfae503ba6d02ff083c63
2021-03-25 11:06:59 +01:00
hjk
baa794a7ba Utils: Use a full layout row for an aspect for Columns and Forms
Avoids some boilerplate on the user code side.

This seems to be the only existing case. If there'd ever be a case where
this is not appropriate, an extra Row { ... } would solve it.

Change-Id: I1ae1102e895640c0acc03b4949e3baabecfcdc49
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-03-25 04:53:05 +00:00
Alessandro Portale
460d446c61 CMakeProjectManager: Set CMAKE_TOOLCHAIN_FILE for WebAssembly
Like for Android and iOS, CMake also needs a CMAKE_TOOLCHAIN_FILE when
configuring a WebAssembly project. We pass it "qt.toolchain.cmake",
which is part of Qt6, just like we do for iOS.

Fixes: QTCREATORBUG-25519
Change-Id: Ia02cafc163da6cd94c483e860922b08a35284c71
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-03-23 18:23:43 +00:00
Cristian Adam
bc518cf353 CMakePM: Disable Add and Batch Edit buttons when the file-api parsing failed
For a project that failed to generate a valid CMake file-api reply
the manual added variables could be lost when the new state doesn't
result in a valid CMake file-api reply.

The user will have to edit the initial CMake parameters to generate
a valid CMake file-api reply.

Task-number: QTCREATORBUG-24637
Change-Id: I091a301ceee3cd41ec59b6282bb9515a49c1a366
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-23 08:29:19 +00:00
Cristian Adam
1a4c7abb22 CMakePM: Keep CMakePM error messages meaningful
If CMake project parsing is failing for some reason, it's better
to keep the error message with the actual error than just replacing
it with "The project was not parsed successfully."

This error message was also issued when the project was loading,
which is a bit misleading.

In order to test this:
1. Set the build type to "" (nothing)
2. Clear CMake Configuration from menu
3. Run CMake

This will re-configure the project with initial cmake parameters,
but "-DCMAKE_BUILD_TYPE:STRING=" will set the build type to empty,
and CMakePM would try to parse 'Release' and issue:
"No 'Release' CMake configuration found".

The commit resets the error message when the project is loaded.

Change-Id: I1a586ec19f324d75a25e8f282cab02a6934fce2b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-23 08:25:37 +00:00
Eike Ziller
e9bf841dc9 Fix lupdate issues
Some wrong tr calls / missing tr functions.
Some places where we need to bring lupdate to the right track with
regard to namespace resolution.

Change-Id: Idf552054a34e24d9671db68c816bf37f4d403dbc
Reviewed-by: hjk <hjk@qt.io>
2021-03-22 15:00:37 +00:00
Cristian Adam
49a2e14357 CMakePM: Add "Re-configure with Initial Parameters" button
This makes it easier to configure a CMake project with initial cmake parameters
when parameters are added or if the configuration fails.

Task-number: QTCREATORBUG-24637
Change-Id: I880ac6ad82f7cc5e1df2e34e9bcc28e67c3d716e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-22 12:04:35 +00:00
Eike Ziller
863260f1fd Merge remote-tracking branch 'origin/4.15'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/debugger/gdb/gdboptionspage.cpp

Change-Id: I4149e860b6842ea63bff3a7eb9632b7a6c2919d8
2021-03-22 09:52:14 +01:00
Cristian Adam
637d45c66a CMakePM: Make "Build type" aspect visible
For single configuration projects if you change the build type
aspect you will change the CMAKE_BUILD_TYPE variable.

When switching the build directory the existing CMAKE_BUILD_TYPE
will be set as build type aspect.

Fixes: QTCREATORBUG-25451
Change-Id: I13519e95c316c556cc1348fba6121637d2fd4275
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-19 13:38:18 +00:00
Cristian Adam
8eaf24a694 CMakePM: Fix assert with UNINITIALIZED build type
The typename needs to be STRING and not String

Change-Id: I2bddc4d7df17ff72b7e7e6ee2fa9947f2dfc1e6e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-19 13:36:04 +00:00
hjk
a388769c00 CMake: Use LayoutBuilder in build configuration widget
Drop intermediate widget layers, also fix the QML debugging and profiling
aspect misalignment.

Change-Id: I5ee5041ab7db2c05efdd66598c39b589e3d4f56a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-03-16 11:37:56 +00:00
hjk
035a6ff031 Utils: Avoid intermediate widgets when using LayoutBuilder
In most cases, the layout constructed in the builder was set
on a widget which in turn was put into a vbox in the actual
widget. This is not necessary, but needs some re-ordering.

Also make sure that using not-yet-parented widgets during
layout construction does not cause visible artifacts.

Change-Id: I75727a571da093d3131ea6fba467c2c646cdb6f1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-03-16 11:37:44 +00:00
Cristian Adam
99dd3a0260 CMakeProjectManager: expand variables for Batch Edit
The Batch Edit dialog is offering the ability to use expanded
variables, but these variables were not expanded upon acceptance.

For the CMake command line they were expanded, but there was a
conflict between what the settings dialog as value had and what
CMake returned via file-api.

Change-Id: Ia4a64e99676c43f7b182e059f9051393aa184c19
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-10 10:30:03 +00:00
Cristian Adam
6fa671b329 CMakePM: Use UNINITIALIZED for -D<var>=<val> in Batch Edit
CMake is setting the UNINITIALIZED type if you forget to set the
type of a variable when you do it from command line.

Qt Creator was setting INTERNAL, which had the effect of not
being displayed in the UI at all, giving the impression that the
value has been dropped.

Change-Id: I9a6b487bf5062d288365938fd7ef99b49de42884
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-04 10:09:11 +00:00
Cristian Adam
fe540e8828 CMakeProjectManager: Remove isCmakeChanged state
Since CMake's file-api cache is the only source of truth for
CMake configuration, there is no need to keep track of such
a state.

Qt Creator will issue -D<var>=<value> -U<var> command line
parameters for CMake, which will update the file api json files.

Change-Id: I08e7041a95422549502eb7961f96570225e942fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-02 09:54:27 +00:00
Cristian Adam
faa21ef378 CMakeProjectManager: Allow copying of CMake variables
In the context menu of the CMake variables there is now a "Copy"
entry that will copy to clipboard the -D<var>:<typ>=<val> or -U<var>
values.

Task-number: QTCREATORBUG-22482
Fixes: QTCREATORBUG-24781
Change-Id: Iaa70e64fd0593398732ccb8d9036571b308b5f12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-26 12:18:58 +00:00
Cristian Adam
145be455ee CMakeProjectManager: Add Batch Edit support for CMake configuration
For the initial CMake parameters one can have an edit dialog. Now it's
possible to batch edit variables also after the project has been
configured.

Change-Id: I406b8e7db16147032a75c82fddf9b7acec85c4bf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-24 15:33:25 +00:00
hjk
c8829ff5b3 Utils: Use value/setValue instead of settings also for TriStateAspects
Change-Id: I3d0a58917cd6682e14894e4320d166a1c8de6a9a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-02-22 12:06:11 +00:00
Cristian Adam
cc0fa86ffd CMakeProjectManager: Add package manager auto-setup
Adds CMAKE_PROJECT_INCLUDE_BEFORE as initial CMake parameters
with a path to a auto-setup.cmake script that will run
conan install if a conanfile.txt is found in the prject.

A project can have a local QtCreatorPackageManager.cmake file
that will be loaded if exists.

The auto setup can be controlled via the following CMake variables:

* QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP
* QT_CREATOR_SKIP_CONAN_SETUP
* QT_CREATOR_SKIP_VCPKG_SETUP

conan.cmake is taken from https://github.com/conan-io/cmake-conan
which takes care of the conan specific compiler cruft. License
is MIT.

Fixes: QTCREATORBUG-25362
Change-Id: I70a6e1abc5600851d048f1590ca24204ce52a503
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-02-19 17:54:45 +00:00
Cristian Adam
fc411cd0d1 CMakeProjectManager: Make backup of CMake configuration before starting CMake
CMake's fileapi functionality will save the project structure in json
files in the .cmake/api/v1/reply directory.

When issuing a cmake command with -D variables CMake will update its
CMakeCache.txt file even if cmake will fail.

This commit will rename .cmake/api/v1/reply as .cmake/api/v1/reply.prev
and make a copy of CMakeCache.txt before starting CMake, and if
something fails, replace the existing files with the previous values.

Also make sure the changed values are not dissappearing when the
old .cmake/api/v1/reply gets parsed.

Fixes: QTCREATORBUG-24593
Change-Id: I82141786fea7068699e0f761a8978ba1f3203e47
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-18 13:21:11 +00:00
Eike Ziller
9bd8dc41d2 Add signing options to CMake/iOS build configuration
Adds the signing settings to iOS configurations.
Adds placeholders for signing flags to the initial CMake arguments, and
updates the CMake configuration when signing settings change.

The new configuration doesn't get automatically applied. Only the "Apply
Configuration Changes" button gets enabled and the user has to press
that explicitly. This seems to be a more general issue affecting the QML
debugging setting too, though.

Task-number: QTCREATORBUG-23574
Change-Id: I3e8d45f565347e1ad2ac274a21b1552f1510e8f4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-16 14:04:08 +00:00
hjk
a174dda862 CMake: Move CMakeBuildSettingswidget closer to CMakeBuildConfiguration
The next baby step towards full aspectification. Ultimate goal is
to dissolve CMakeBuildSettingswidget completely.

Change-Id: Idb2bb852d1010f69f11ec8ca87c4695361a38b83
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-12 18:21:09 +00:00
Eike Ziller
b47a80c5ce CMake/iOS: Set up CMake configuration
For Qt6/iOS we need to use the Xcode generator, and set
CMAKE_OSX_SYSROOT, CMAKE_OSX_ARCHITECTURES, and the Qt toolchain file
with CMAKE_TOOLCHAIN_FILE.

We also may not automatically add the CMAKE_SYSROOT and
CMAKE_C(XX)_COMPILER_TARGET variables, since this is handled differently
for iOS targets.

With this building, running and debugging on the simulator works, if the
CMake project correctly sets up a MACOSX_BUNDLE_GUI_IDENTIFIER,
MACOSX_BUNDLE_BUNDLE_VERSION, MACOSX_BUNDLE_SHORT_VERSION_STRING and
MACOSX_BUNDLE_LONG_VERSION_STRING.

For the device build the signing and provisioning details are still
missing.

Task-number: QTCREATORBUG-23574
Change-Id: I12be0d102b57d834d7cae06c87842638f693c087
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-04 07:28:02 +00:00
Cristian Adam
6cbdae8070 CMakeProjectManager: Support for multi-config generators
CMake has multi-config generators like:

  * Visual Studio
  * Xcode
  * Ninja Multi-Config

The first two have different special targets for "all", "install",
"package", "test" namely: "ALL_BUILD", "INSTALL", "PACKAGE",
"RUN_TESTS".

All of them need to get the build type passed via "--config <build-
type>" and not via "CMAKE_BUILD_TYPE".

The multi-config generators will use only one build directory.

Fixes: QTCREATORBUG-24984
Change-Id: I8aa7ff73ce2af1e163b21a6504d26fcf95530edf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-21 09:31:30 +00:00
Cristian Adam
707a3cfaf3 CMakeProjectManager: Use CMAKE_HOME_DIRECTORY as source directory
The CMakeCache.txt file has CMAKE_HOME_DIRECTORY pointing to the
project source directory used to configure the project.

When importing a cmake build the CMAKE_HOME_DIRECTORY from
CMakeCache.txt might not point to the same CMakeLists.txt that was
opened as a project.

qt-cmake-standalone-test from Qt6 uses a CMake template project which
does a add_subdirectory with the test source directory, which will not
work if opened standalone.

Normally this is a user error though, so ask the user if this was
intended, before actually importing the build.

Task-number: QTBUG-88776
Change-Id: Ifdd5e1d1cb8a1ef9955d22493eba3a1a55dc689f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-08 16:25:24 +00:00
Eike Ziller
3ef279450b CMake: Don't overwrite existing builds when changing build dir
When changing a build configuration's build directory to a directory
with an existing build (i.e. CMakeCache.txt), do not overwrite it, but
just parse it (running CMake as needed to generate the fileapi
response). Do not ask funny questions in that case.

This solves the pattern that you want to use some preconfigured build
but configured the right kit already with the default parameters.
Switching to a different build directory should simply never "kill"
an existing build in any case (and running CMake with the
"initial arguments" basically kills the existing build in the
not-so-uncommon case).

Change-Id: I54ca1f14d72a11a3bfe5b09ce340b28be321f80e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-26 06:48:42 +00:00
Assam Boudjelthia
d604d5da18 Android: fix passing ANDROID_SDK_ROOT for CMake
Task-number: QTBUG-87991
Change-Id: I70ed0709caf339324af8c233f311a2db2945006e
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-11-06 10:58:32 +00:00
Assam Boudjelthia
a4f2779452 Android: use correct variable for Android SDK with CMake for Qt 6
Qt 6 for Android with CMake uses ANDROID_SDK_ROOT (similar to qmake),
instead of ANDROID_SDK.

Task-number: QTCREATORBUG-24678
Change-Id: Ic858b8d76b41b57ef35864a1981ebd142d0cccfd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-10-02 07:09:15 +00:00
Assam Boudjelthia
014b90f780 Android: Fix CMake parsing for Qt 6.0.0 kits
Qt for Android 6.0 with CMake requires QT_HOST_PATH to be provided for
CMake to properly parse and configure the project.

Fixes: QTCREATORBUG-24660
Change-Id: Id5d77f900698ef4d19ec8e37b14e4e3234c74ea4
Reviewed-by: hjk <hjk@qt.io>
2020-09-23 14:12:10 +00:00
Eike Ziller
20f51bc642 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	src/plugins/languageclient/languageclientcompletionassist.cpp

Change-Id: If12e1c532e5623ef063681309a918e7b51117b1c
2020-09-14 10:12:14 +02:00
Andy Shaw
e35af70d98 Android: Use c++_shared for STL as cxx_shared is not correct
This fixes a parsing problem from CMake as it will state:
"Invalid Android STL: cxx_shared." This amends
01b0d4f8f5

Change-Id: I315d36eac889ba53d76055814c6b43a453e1e2f7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-11 07:34:11 +00:00
hjk
61bfd32438 ProjectExplorer: Introduce a ProjectConfiguration::kit() function
For convenience, and use it in some places.

Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-09 06:27:21 +00:00
Alessandro Portale
a650997448 QtSupport: Add supportsMultipleQtAbis getter
Introduce bool QtSupport::supportsMultipleQtAbis().

Let AndroidQtVersion respond according to the QVersionNumber.

This allows to replace the version arithmetics in several
places with straight forward (and better findable) function calls.

Task-number: QTCREATORBUG-24471
Change-Id: Ib6e39fd6485a54e08ad66f84d4e2582989043419
Reviewed-by: hjk <hjk@qt.io>
2020-09-07 07:10:26 +00:00
Alessandro Portale
2d61932387 CMakeProjectManager: Give InitialCMakeArguments a macroExpander icon
Change-Id: Ia1025f2fcecd018ff106fd6b8b9e1cc640af500e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-08-12 11:44:17 +00:00
Eike Ziller
3944162039 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
	src/plugins/cmakeprojectmanager/cmakebuildstep.h
	tests/auto/debugger/tst_namedemangler.cpp
	tests/auto/qml/codemodel/check/tst_check.cpp

Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
2020-08-10 15:56:54 +02:00
Alessandro Portale
7b6d44a90a Android: Introduce constants for Android ABIs
Avoiding string duplication prevents typo-related runtime errors and
allows an IDE to use find symbol rather than plain text search.

Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-26 05:49:49 +00:00
hjk
43b658e9e7 Utils: Drop Utils::SkipEmptyParts again
We require Qt 5.14 nowadays.

Change-Id: Iff245257d3cb19207007c0445ee13814e66152dd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-21 12:42:27 +00:00
hjk
b60ab85c13 Android: Prevent crash in case there is no Qt version set
For CMake build.

Change-Id: I77946a5d7023a9cefc23baf243991949121e49ec
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-06 15:15:18 +00:00
hjk
e1c88116b3 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-06 11:15:18 +00:00