Commit Graph

16 Commits

Author SHA1 Message Date
hjk
3be472c8d2 ProjectExplorer: Use FilePath for sysroots
... and reduce to the relevant part when passing to cmake.

Task-number: QTCREATORBUG-27229
Change-Id: I7cde2ff04530caf439d6707c2c6d15a8e734ae0b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-06-30 09:06:29 +00:00
Christian Kandeler
b6adaab3ea CompilationDatabaseProjectManager: Fix flags extraction
The code would blindly remove all "options" starting with /, which meant
that all file paths arguments got lost on Unix-like hosts.

Fixes: QTCREATORBUG-22949
Change-Id: I43e2b1e57ed0e9ced9da8fa46d98d9ac25f83d13
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-20 10:20:38 +00:00
Christian Kandeler
284817fae6 Merge CppTools into CppEditor
There was no proper separation of responsibilities between these
plugins. In particular, CppTools had lots of editor-related
functionality, so it's not clear why it was separated out in the first
place.
In fact, for a lot of code, it seemed quite arbitrary where it was put
(just one example: switchHeaderSource() was in CppTools, wheras
switchDeclarationDefinition() was in CppEditor).
Merging the plugins will enable us to get rid of various convoluted
pseudo-abstractions that were only introduced to keep up the artificial
separation.

Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-01 14:53:58 +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
Christian Kandeler
8a697cde64 Fix Qt 5.15 deprecation warnings for QString::SkipEmptyParts
Task-number: QTCREATORBUG-24098
Change-Id: I03ee6811df4346754bbd652f2c3c97477f9cdb7e
Reviewed-by: hjk <hjk@qt.io>
2020-06-16 16:00:22 +00:00
Christian Kandeler
be97943372 CompilationDbProjectManager: Do not remove -fpic from command lines
This flag is needed by the code model. The test case that had it on the
command line was invalid (clang does not allow -fPIC with win32
targets).

Fixes: QTCREATORBUG-24106
Change-Id: Ic95c82c2090ef5ee1a11d01d7e4387a5c80cda3c
Reviewed-by: Nikolai Kosjar <pinaceae.pinus@gmail.com>
2020-05-29 11:52:24 +00:00
Christian Kandeler
ec4e9e9190 CompilationDatabaseProjectManager: Fix file classification error
Fixes: QTCREATORBUG-23143
Change-Id: I670a7858070fd8c0d62b872b22f9605cc6a3b329
Reviewed-by: hjk <hjk@qt.io>
2019-12-06 10:38:55 +00:00
Christian Kandeler
74d458c0da CompilationDbManager: Add support for the "/imsvc" option
Fixes: QTCREATORBUG-23146
Change-Id: I024597d67e48595472b398ed40858bee17c1c4b9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-10-29 09:50:04 +00:00
Christian Kandeler
e6bda58033 CompilationDBProjectManager: Handle relative sysroot
Fixes: QTCREATORBUG-22388
Change-Id: I030b105897bd483c17aaf86229d4515b2dd747d3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-06-04 10:17:44 +00:00
Christian Kandeler
0ffbe6a9e4 CompilationDbProjectManager: Sanitize project parsing
The parsing code used to access all kinds of stuff (e.g. the project
tree and the toolchain manager) from the non-UI thread, which is not
allowed.

Fixes: QTCREATORBUG-22420
Change-Id: I4be47919d7e543376d31826dd380f66f4e060458
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-05-23 08:56:16 +00:00
Ivan Donchevskii
cc9d246b02 CompilationDatabase: Asjust the sysroot and target handling
If the sysroot option is found - set it as a kit sysroot (only
in CompilationDatabase project where we have a cloned kit
which does not affect the other existing kits).
In other cases use the backup for the sysroot from the
toolchain (can exist for clang toolchains based on mingw).

Provide target when searching builtin include paths for clang.

Fixes: QTCREATORBUG-22339
Change-Id: Ibe07c2e490ba4f7e0d259e6df698d641dbfd0298
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-30 18:00:17 +00:00
Ivan Donchevskii
443d8e4713 CompilationDatabase: Properly detect relative paths
Fixes: QTCREATORBUG-22338
Change-Id: I0fcbd952d3aca4dfd8e56eb00e6a27bd1f1c51fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-26 08:34:24 +00:00
Ivan Donchevskii
a5ee354b19 CompilationDatabase: Force QString implicit sharing
Most of the flags in compilation database are the same,
let's share them by inserting them all into the temporary
QSet of QString-s.

Change-Id: I7d9b410b4b0bee40247434b49371bd37214d4c59
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-16 09:52:59 +00:00
Ivan Donchevskii
0fabde31ab CompilationDatabase: Speed up parsing project file
Avoid expensive indexOf and check for the exactly same flags
before applying the full filter.

Change-Id: I6936b2022a2b439aad7bf0a65280c3db16d00c34
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-11-07 12:32:34 +00:00
Ivan Donchevskii
3c3b75cef1 CompilationDatabase: Fix command line parsing
Handle cased when -x{kind} is one option.
Skip -o output files.

Task-number: QTCREATORBUG-18402
Change-Id: Id8a8612bed2db2b35f17b0968a4ff529e7a66194
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-11-02 14:12:34 +00:00
Ivan Donchevskii
f604c8a77c CompilationDatabase: Support both code models
Extract headers, defines and fileKind from flags in
order to have complete project parts.

Side-effect: better support for MSVC-specific flags.
Change-Id: Iaa1413c91c96c3cf89ddbe76a7a1f0f46c5289c0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-11-01 14:52:05 +00:00