Just use the target name as buildkey. This is unique in cmake projects, so
there is no need to mangle the source directory into the whole thing.
This is a problem since different readers might report different source
directories. That will then result in RunConfigurations getting duplicated
after switching the reader types.
Task-number: QTCREATORBUG-22129
Change-Id: I849ab68f221d732341e98faa9a4e757d3a495b2a
Reviewed-by: hjk <hjk@qt.io>
Do not pass around a list of filenodes with all the known header files.
That list gets converted into a QSet<FilePath> and then that is used.
Just generate the QSet<FilePath> directly and avoid that conversion.
Change-Id: I2444a2a6b4a1600fe476e66673a1a2e9c8900764
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This should help to remove UI blocking by pointing to the costly
operations.
Change-Id: I8b3250e9ec5995c7b6a705337d60250554b77b53
Reviewed-by: hjk <hjk@qt.io>
This gives the UI a bit more opportunity to render after the project was
parsed.
Change-Id: Ie316f1c69cb0ebb856943a094b81b55f1aa2317a
Reviewed-by: hjk <hjk@qt.io>
Use the category in CMakeProject.
Change-Id: Idb19a92080884f1feff082d8e9db3ca5336b9249
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
When project parsing fails, then the project node might be non-nullptr but
empty. This case is handled in setRootProjectNode(...), where such a
node gets discarded (rootProjectNode() will return a nullptr afterwards).
In this case, do not use the project name that came in from the parser as
it might be wrong.
Change-Id: Iec11aa2d88cca7352d957f428aab24b0f1affd49
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Add an option to override the cmake reader type that is going to
be used.
By default the reader type is "auto" for autodetection, but that can
get changed in the cmaketools.xml settings file. Other supported options
are "tealeaf", "servermode" or "fileapi" and that will force that reader.
You can also set QTC_CMAKE_IGNORE_FILEAPI=1 in your environment to force
creator to ignore the existence of fileapi support in all cmake tools.
Change-Id: I2006616312090ce2909154dc1966f7a8eaa2949a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Amends f420788465. The setDisplayType() call accidentally
ended up in the desctuctor, not the constructor
Change-Id: I63593325d0a6e3250c13b9e16781159190a238b1
Reviewed-by: David Schulz <david.schulz@qt.io>
There are patches appearing on gerrit for Qt 6 to remove the functions.
Change-Id: Ic189c0a19ddc0f84eb34a56c0861532303de5129
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We don't use them and Qt is likely to deprecate them.
Change-Id: Ib2fbb3f509081f5eb7aae6c41dd330cc57db59e1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The old setter incremental applies formats to the semantic highlighter,
in contrast to the new setter, which removes all old additional formats
and then applies all passed formats.
Change-Id: If8569c180d8eaef7aee99509c84a03ba362c9e4a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
... instead of the "there's a default, except when there isn't".
Change-Id: I9a0718ff6faf6ff7465e07da4e28ddb6210379e7
Reviewed-by: David Schulz <david.schulz@qt.io>
* Using hints to determine if properties/nodes should be visible, even
if they are not in a default property.
* Using hints to add items to properties that are not the default property.
Change-Id: Iab461287807d0c82a535b7d182b989e42f96d21c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The item library can also create pure QtObjects now.
This should be reflected in the API.
Change-Id: I58f8306232137c9feecf51d0abb938191c0a113a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Do not map anything vaguely library-related into DynamicLibraryType. This
will prevent creator from e.g. trying to deploy ObjectLibraries.
Change-Id: I34a0d981d2a949f587e1804268cc66231aedd545
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Visual C++ sets 1MiB as stack size, macOSX has 512KiB.
Both crash with a specified project.
MinGW sets 2MiB as stack size, the specified project loads
just fine.
Fixes: QTCREATORBUG-22496
Change-Id: I6f19e74a681977e4fe1dceee292ea9c838999a1a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Provide general infrastrucure and implementation for qmake.
Fixes: QTCREATORBUG-16067
Change-Id: I8c6368fe2724c9450dcbc3410b6ca459bbbdc043
Reviewed-by: hjk <hjk@qt.io>
Avoid copying the entire list of files known to a project just to
filter out a couple of files from it.
Change-Id: I58b2e323f9678058ba482353eb777a55189fe05d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... instead of just the text char format.
Preparation for another way to set extra additional formats to the
highlighter.
Change-Id: I3635853ee8f4b432ffe48a4a4ebe0e790be603b1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
... by transforming the parameter to an r value and pass the argument by
std::move.
Change-Id: I6949ee6bbac7d8675fdbbcb62bb4f4c394bb395f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Plan is to only let the (base) factory create toolchains, having
the 'new' is a separate function complicates the process.
Change-Id: I1faff3e2ce4a19a2947ba4ac4e156ed56e5d18e5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Allow cancellation of cmake runs in tea-leaf and fileapi modes.
At least in those modes cmake can now get stopped when it goes into
an infinite loop.
Change-Id: I4e9bd769292325b9837904cd391ff61dbc477898
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Moved qmldesignerextension into component
Updated build systems
Change-Id: I8d2d0757a1639a472d426b66c0c8ae6fb84cc3d2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>