The -nostdinc and -nostdinc++ options must not get filtered out when
constructing the compiler command line for collecting include paths.
Fixes: QTCREATORBUG-22760
Change-Id: I6bb10024f39869d5ef546968eb13d07d39c985ae
Reviewed-by: hjk <hjk@qt.io>
As opposed to qmake itself, Qt Creator tries to resolve the value of
INCLUDEPATH against the sysroot. Therefore we should not reject Unix-
type absolute paths as candidates for sysrootification on Windows hosts.
Fixes: QTCREATORBUG-21164
Change-Id: If4be103061ad3edc64f8d1f5cfeb7c6b48e961c8
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
... for build step related widgets. These are specifig to a build step
which in turn is only interested in its own build config and target.
Change-Id: I5ec277ba279932d18a615e528acffaccdc41e307
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Introduce BuildSystem to implement functionality common to all
build systems out there. This includes things like delaying the
parsing by 1s.
The actual CMake specific code is then moved into a derived
class CMakeBuildSystem.
Change-Id: I84f4344430f19a44e16534db294382c436169ed5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Essentially following the scheme used for the various project
configurations. This makes it possible to construct OutputFormatters
by Id only, potentially reducing hard plugin dependencies and
opening the road to have several output formatters per
RunConfiguration/Outputpane/...
Change-Id: I4b5fb6fb6be8b0d9a0859f178bb0effc3398b09e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Contrary to what we assumed, long file paths cannot be split up
arbitrarily, but only at separators.
Fixes: QTCREATORBUG-22815
Change-Id: Id13036f3d73cc5d6b272066c0f8a26d9748ce6b8
Reviewed-by: hjk <hjk@qt.io>
We not only have to make sure that the Java path from the Qt Creator
settings exists in the PATH, it must also be the one that is found when
running Java tools. Otherwise having two different Java versions in the
PATH can lead to the wrong one being run for the build.
Fixes: QTCREATORBUG-22504
Change-Id: I22ff88fb334bb8ba5f719fbc3482c4629713409f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use setters/getters for the bool flags in
Project::needsBuildConfigurations() and
Project::hasMakeInstallEquivalent.
Change-Id: I5ce937c3a5e8e0db627cda02a9007f8c28ccda0c
Reviewed-by: hjk <hjk@qt.io>
Not directly used further down (and the check gets in the way
when trying to reduce runconfiguration/target accesses in a
running run control).
Change-Id: Ie4da1454fd835307e6410ace31534014191351dd
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The id mangling is not needed by the upper layers anymore, time to
get rid of it in the .user files as well. For now, start storing
the build keys explicitly, use that directly when present, and fall
back to the old mechanism in cases we read settings without it.
Change-Id: I1fa467a1488828ffd400e7d67d6fcd8247c938d1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This is what most users expect.
Task-number: QDS-823
Change-Id: I3955d1afcdc6686d8d0f0150e335f453bd253633
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
33a9a03121 broke it by inverting the
condition.
Task-number: QTCREATORBUG-22504
Change-Id: Id0b66ec025281e6d6c52b7309f35a3bdfb8e7170
Reviewed-by: hjk <hjk@qt.io>
The only user can also get this information from the relevant
CMakeBuildConfiguration.
Change-Id: I80e176ef0a8bc427f6adbf75b20e29f38d7b949f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We may neither run "/some/path/CMake.app" nor
"/some/path/CMake.app/Contents/MacOS/CMake",
so add a missing workaround for the latter, and use the "resolved"
executable path for the retrieval of version info and capabilities.
Change-Id: I6fed8cc478c0d0b9946a934fd83126e157bde992
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Could no longer unset "Autorun" for CMake tools. Broke in
de6faa0f15
Change-Id: I0b6e9e64de591e1128ff0dabf4eedb40e1a3748c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Running CMake via a non-canonical path (including '..' in the path, or
via a symlink) can result in funny errors.
de6faa0f15 added a warning for that
condition. Unfortunately the auto-detection of CMake can return a path
to a symlink (e.g. for CMake from brew on macOS). Also it is helpful to
use a symlink to e.g. manage different CMake versions.
Instead of warning about the condition, and forcing the user to resolve
it manually, simply run CMake via its canonical path when actually
running it from Qt Creator.
Change-Id: I95623b45c5436a6d61c1419b7aba23e2a73a0650
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
- Do not hide any kits, as that it not transparent to the user.
Instead, show all of them and disable the unsuitable ones, with
an explanatory tool tip.
- Keep the list of kits sorted after new ones have been added.
- Do not do tons of unnecessary layout operations when setting the
kit list up from scratch.
- Code clean-up.
Fixes: QTCREATORBUG-20018
Change-Id: I7823ec9c3e5be00c6791e61926999cea0d7e43df
Reviewed-by: hjk <hjk@qt.io>
So that it compiles against qtbase/dev
Change-Id: I628ee8b935cfde11c0a67ccc09f3b64aa7a884d3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Since the distinction between global and engine
breakpoints we may not update the breakpoint marker
correctly which in turn appears as if the breakpoint
had been failed to set.
Fix this by updating the breakpoint marker already on
insertion request.
Change-Id: I7c4ed046c26667e6aa1efceb5071c12a6d1e6132
Reviewed-by: hjk <hjk@qt.io>
Instead of using a modal dialog box.
Fixes: QTCREATORBUG-22817
Change-Id: I129827b7f715b6e739ea09275bf43c64eb3d4e3f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Adds a global info bar display above the main window's status bar that
can be accessed via ICore::infoBar().
Replace the blocking "Take UI Tour" dialog by a notification there.
Fixes: QTCREATORBUG-22819
Change-Id: I733f1bfd2d1db0295754ed2e28bb202f927d0edb
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
When the filesystem scan takes longer than the cmake parsing, then
resetData() was called on BuildDirManager by the CMakeBuildConfiguration
before the CMakeProject had requested its data.
Move some code back into CMakeProject to resolve this issue.
Change-Id: Ib21bdd63fdca79c2ad39a7e060df438b456700b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
E.g. for "Plug & Paint" example documentation. The list view may not
show double ampersands, but for the context menu they must be "quoted".
Change-Id: I773ac50f93b975504a5aff172336da77a703b52b
Reviewed-by: hjk <hjk@qt.io>
QFileInfo::exists(QString) is a static method, so the code was
looking for "CMakeCache.txt":-/
Change-Id: Ib0f9711a159fca9437ffb15c26af246ec69489ca
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
There is no need to reset a reader when e.g. the build directory changes
when the server-mode reader is *not* used. So the one case where having
separate reparse-options for the case where the reader changes and the
case where it stays the same is bogus.
So unify the flags into one set and simplify the code accordingly.
Change-Id: I9bcfcc6333d574d49513ef1256a9a8597bda4ec7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This combines two of the previous three paths to create run workers,
and refers to RunConfigurations by id, not by type where possible
to decrease coupling between the classes.
Only allow "type of run configuration" and "type of device"
as the only possible kind of restriction and require a uniform
RunWorker constructor signature.
Adapt user code to fit that pattern.
Change-Id: I5a6d49c9a144785fd0235d7586f244b56f67b366
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Add more logging of cmake parsing flags as cmake runs are requested
in the plugin.
Change-Id: I5231bd29dfeb6521218dc28c26a5b658ccb4059b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>