Commit Graph

16 Commits

Author SHA1 Message Date
hjk
2226c1b87b ProjectExplorer: Use ToolChainFactories to clone ToolChains
Centrally.

Change-Id: Ie832c5ad0eb282192440d9d4d058d082d9513cc2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-16 10:38:25 +00:00
hjk
86f072daeb ProjectExplorer: Make ToolChain::makeCommand return a FileName
... instead of a QString. This is in line with the qmakeCommand().

Change-Id: I617cb03522be5ebaac6cab58a3606f659fddb833
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-15 10:50:08 +00:00
Christian Kandeler
175018abe7 ProjectExplorer: Remove Toolchain::AutoDetectionFromSettings
It's unclear why auto-detected toolchains should be treated differently
after a restart of Qt Creator.

Change-Id: I0ba3787adccfb070ce0b36135e8fe94d6e4e4628
Reviewed-by: hjk <hjk@qt.io>
2019-05-13 11:42:13 +00:00
hjk
d116559cd8 ProjectExplorer: Drop Detection argument from ToolChain constructor
This was used wildly inconsistently. Use a setter instead in
circumstances where the context is reasonably clear.

The assumption is that this will always be done at some time in all
code paths.

Use a new 'Uninitialized' value to avoid triggering the first update.

Change-Id: I82c38cb9da3ccdbd8fbae8beefcbfa0e559ff794
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-10 14:38:45 +00:00
hjk
78fd99f5d3 ProjectExplorer: Replace ToolChainFactory::canRestore
... by a member-based check.

Change-Id: Id7d19e488695e76ea17cf2d02c7b6eb2cd0246cc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-09 14:36:41 +00:00
Christian Kandeler
3969a007c2 ProjectExplorer: Add "Re-detect" button to toolchains page
This allows to take changed detection settings or added/removed
compilers into account without restarting Qt Creator.
It is also the only way to get rid of formerly auto-detected compilers
that would not get detected anymore with the current settings.

Change-Id: I3d8a7659e24fa5d55d1fb17864386cf19d3e2533
Reviewed-by: hjk <hjk@qt.io>
2019-04-09 11:56:07 +00:00
Christian Kandeler
b9ae4c7ad0 ProjectExplorer: Do not auto-remove manually added toolchains
Fixes: QTCREATORBUG-22128
Change-Id: I73dff369542b6918bcb96fb7d028822e5aed2062
Reviewed-by: hjk <hjk@qt.io>
2019-04-02 14:38:44 +00:00
Nikolai Kosjar
6aa11eb75e CppTools/ProjectExplorer: Remove enum duplication
... between CppTools::ProjectPart and ProjectExplorer::ToolChain.

Change-Id: I8b448747e454adbed77547460383b8515462cc81
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-10-08 12:34:57 +00:00
Nikolai Kosjar
5900766ecb Toolchains: Detect unspecified language version
We checked the command line from the project manager for "-std=X" and
friends to figure out the language version to use. However, if such a
flag was not provided, we assumed the latest version we support. This
could conflict with the actual version of the compiler and its
predefined macros.

Figure out the version by inspecting __cplusplus/__STDC_VERSION__ in the
predefined macros of the toolchain. The MSVC compiler is an exception to
this, as it does not seem to properly set the value - check for
_MSVC_LANG if possible, otherwise simply assume some versions as before.

While at it, add also support for C17/C18 and the upcoming C++2a.

Task-number: QTCREATORBUG-20884
Task-number: QTCREATORBUG-21188
Change-Id: I464ffcd52d2120c0208275a050e82efda44fae1c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-10-08 09:07:56 +00:00
Ivan Donchevskii
0bd095aa45 ProjectExplorer: Rename compiler includes from System to BuiltIn
System include are those used with -isystem keyword, built-in
includes on the other hand come from compiler and always
follow in the end of the include list (after system includes).

Change-Id: I95c2fec36d2e5b43f014fe0a88d59c6769edfa1f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-09-17 11:24:32 +00:00
Tobias Hunger
11245564da ProjectExplorer: Consistently use HeaderPaths
Use HeaderPaths over QList<HeaderPath>.

Change-Id: I8f78b0a44e0160f1a2e7a78d9db4d04fcaa22f82
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-09-13 11:32:51 +00:00
Ivan Donchevskii
2c0554c187 ProjectExplorer: Fix memory leaks in tree models
Fix widgets being leaked by the ToolChainOptionsPage.
This page created widgets and stored them in the tree node
and never deleted them.

The fix is to put all the widgets into one QStackedWidget, so
that this will clean up once the page is destroyed.

Change-Id: Ic02824a4c52771d8962dc594176077c2e139fb84
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-08-21 08:25:51 +00:00
Alessandro Portale
8d19333075 ProjectExplorer: Modernize
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default
modernize-use-transparent-functors

Change-Id: Iebed22caa2e733d292f334e956e3d16b844e14e3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-07-16 10:01:53 +00:00
Leena Miettinen
b85905ca5f Projects: Fix capitalization in messages
Change-Id: I1928fe11a3a23c0577ecc941d259d310a211e86f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-06-08 12:43:57 +00:00
Christian Stenger
92f30a6890 ProjectExplorer: Fix compile for gcc4.9
Broke with b9278a88d0.

Change-Id: Ic1de9530bd680a9951b64a298736f6c41de2f5f9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-20 12:08:28 +00:00
Tobias Hunger
b9278a88d0 ToolChain: Use SettingsAccessor to access XML settings
This allows for use of the new SettingsAccessor infrastructure for
upgrading, backups, etc.

Task-number: QTCREATORBUG-20148
Change-Id: I5419c86c0fd576a59ec91c212097c8f987e01da2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-20 09:14:59 +00:00