And use it to handle adding extra library path for qbs and qmake and
and the DYLD debug suffix for qmake.
Could possibly be used more uniformly at some stage e.g. for CMake.
Change-Id: I0c4581b4e36960fc76d056c65c487d7c43a1be08
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
To reuse it for other clang-based tools.
Change-Id: I6c0d8e9eee543fa08faf3bf93c9fac33e43c6820
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We do not ship clang-cl anymore which makes it impossible
to run clang with MSVC options.
Secondly we used to we tweak compiler options quite a bit so
why not to switch to CompilerOptionsBuilder totally?
Change-Id: Id323cb554587afaea7d9aa530e947a45a03922d1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We parse the arguments independently from QApplication
and initialize the settings before we create QApplication.
Therefore we can parse any setting before creating
QApplication which is required for high DPI support.
We use the QApplication argument parsing to filter out Qt
specific commandline arguments like style.
Change-Id: I83ead87476d99351de6fe4f86c96c39a721af47b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since bc698d4ce6 the build system targets / build keys are
unique on their own.
Simplify the completion of test configurations and improve
readability.
Change-Id: I258e8a35a4740dd58b1365498ca399258092e0e3
Reviewed-by: hjk <hjk@qt.io>
Note that the concept of a single monolithic OutputFormatter per
RunConfiguration (and why RunConfiguration, not RunControl to start
with?) is unchanged and suboptimal as one cannot easily combine
existing use cases, e.g. Python_and_Qt.
Change-Id: Ibeb8191020387324f22ed313230293597f96e36a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Some compilers are picky with types used in ternary operators
Fixup of d44ed66a9f
Change-Id: I73b64592b7741269c6d3631fd0b14cd99c4a3c2a
Reviewed-by: hjk <hjk@qt.io>
Do less work in the Abi widget by ignoring intermediate states. Blocking signals
did not work well enough:-)
This makes the Abi widget more robust since a lot of useless state changes are
avoided. It also reduces the number of abiChanged signal emissions from this
widget, avoiding potentially costly updates in its users.
Change-Id: I777097a165502fade22f9ca3f154314c7362d655
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
There is no way to enter input for those. Don't let them wait in vain.
Change-Id: I3ba023c086d575cbf6be1ad52560767b86b514f4
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Otherwise compile fails with
constexpr constructor does not have empty body.
Broke with 4b0bcbdcb6.
Change-Id: I5f058cd4ef11dddb72c8fc88b7184d41f4ffc15a
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Regular expression rules are tracked inside the progress data to inform
the rule about a finished highlighting process. A cloned rule was not properly
tracked. That results in a rule that tries to untrack itself on
destruction after the progress data has already been deleted.
Task-number: QTCREATORBUG-20247
Change-Id: I007e7afbc16706bc28f89faf91c0b1c5f0bc692a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Full error:
In file included from /usr/include/c++/7.3.1/bits/stl_algo.h:59:0,
from /usr/include/c++/7.3.1/algorithm:62,
from /home/nib/Qt/Latest/include/QtCore/qglobal.h:142,
from /home/nib/Qt/Latest/include/QtCore/QtGlobal:1,
from /home/nib/soft/qt-creator/src/libs/sqlite/
sqliteglobal.h:30,
from /home/nib/soft/qt-creator/src/libs/sqlite/
utf8string.h:28,
from /home/nib/soft/qt-creator/src/tools/clangbackend/
source/clangcodecompleteresults.h:30,
from /home/nib/soft/qt-creator/src/tools/clangbackend/
source/clangcodecompleteresults.cpp:26:
/usr/include/c++/7.3.1/cstdlib:75:15: fatal error: stdlib.h: No such
file
or directory
#include_next <stdlib.h>
^~~~~~~~~~
Change-Id: I590f95b201dc5e3e0ad44f8d2e580b380f31bd7c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This doesn't do anything useful but messes up the layout.
Change-Id: I4d59f828bced62c873a6eb96f7e0e2a023b8233e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
With a custom deleter the event loop is exiting. The erase function is
defining the order of deletion.
Change-Id: I50cb166c4e117cbb779db2d1b992221cd1d8ad60
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
There are no symbol queries for the locator filters. The signature
generation is still not implemented but for simple cases it should work.
Change-Id: Ic6b04fbe1e7e057892f194ac139615c47d6ec33f
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Some important features are missing so it should be disabled.
Change-Id: I24f8f2cd42c6c4d7152a36db0fe8496e4fb824a6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Creator is distinguishing enumerations and records, so we should do too.
Change-Id: I114cfd207464abd9afd96c26c7504cf8a3a1cb8c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
The previously per-Project/RunConfiguration changing meanings of
BuildTargetInfo::buildTarget have by now been split
into separate values in BuildTargetInfo:
- buildKey a handle to one item in Target::applicationTargetList
- displayName a user-visible string in the run settings page
The buildKey was tweaked to coincide with the previous 'extraId',
i.e. the non-RunConfiguration-type part of the project configuration
id that (still) use id mangling.
This allows replacing the cases of locally stored seven different
versions of buildKey(-ish) data by one RunConfiguration::m_buildKey,
and do all remaining extraId handling in RC::{from,to}Map only,
i.e. remove the base ProjectConfiguration::extraId() virtual and
remove the "re-try fromMap with mangled id" hack entirely.
The id mangling is still used to temporarily maintain .user file
compatibility in some cases for now, but should be replaced by
storing the build key and the RunConfiguration type soon. Qbs
already changes in here to only use the uniqueProductName as
buildKey, without the previously added display name which is
stored as part of the ProjectConfiguration already.
It turns out that RunConfiguration::buildSystemTarget was intended
and used to retrieve an item from the Target::applicationTargetList
for some configurations, coinciding with what buildKey does always.
So use that insteand and drop RunConfiguration::buildSystemTarget.
There is clearly is further consolidation potential left.
handling of (default)displayNames is still a per-runconfiguration
mess and there is further consolidation potential left.
Change-Id: I448ed30f1b562fb91b970e328a42fa5f6fb2e43e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... with the paths of libraries used at link time. The value can still
be set per run config.
Task-number: QTCREATORBUG-20240
Change-Id: Ibe2425e95d791f93af2fba85a64be8bde6b31f5a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
The directives .pragma and .import are not included in the AST.
Their source code locations are not stored in any other place.
As a result, when reformatting the source, they simply disappear.
This patch keep track of their source code locations, so they are
not removed when reformatting the source code.
This patch contains also some modification in the lexer that should
probably be ported to the qtdeclarative version.
Task-number: QTCREATORBUG-13038
Change-Id: I5d568abf02d37a584d4d246939736aaec5af5053
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
gcc 4.9 and msvc 2015 choke when creating those from initializer lists.
Change-Id: I85936fe33418d5d9ffeb3c910392ad43fbb9a9bb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This allows us to tighten up the public interface of the model.
Change-Id: Iaa0363993de7cd94c3468d2c939198e65746e829
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Build the tree in only one loop.
clangbackend generates tokens almost as fast as it
did before (about 10% slower in general).
Broken documents are more affected and take much more
time (about 300%) but it's better to have this time spent
on backend side then in QtC itself.
Task-number: QTCREATORBUG-20205
Change-Id: I34c58bca30c4494005a029abd82c7e612ecd6fb9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
When talking about call stacks call them "caller" and "callee". Call
the invisible root item of the model "rootItem".
Change-Id: I551b23f1491d391145193901d3f3a29ab3942089
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Qt is unlikely to run there, so that's never triggered.
This also removes the only dependency of the plugin on QtSupport.
Change-Id: Ic22dcca9836e72a0bce46e67d354c4fcff1ac069
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
They aren't part of any public API and the pimpl pattern just gets in
the way here.
Also, initialize members inline where possible, remove redundant
deletes, prefer explicit ownership over parenting, and use
std::unique_ptr for owned objects and QPointer for non-owned QObjects.
Change-Id: Ibe1e1f88d0e38b6ca26544fccb1db6b809d1556b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The grouping checkbox enables grouping, but frameworks can have
more grouping modes than the default implementation.
Allow frameworks to provide its own tool tip for the checkbox
on the general settings page.
Change-Id: I0515e542284491a669ef33820104a32074ecf885
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This adds another grouping mode to the gtest framework based on
gtest filtering. You can now specify a filter that will be used
to group the gtest tree items into matching and non-matching
tests.
Change-Id: Iaf0e55c9e57e2720f4fa84ab4b51ecaeb614df88
Reviewed-by: David Schulz <david.schulz@qt.io>
Add extra data to Keyword tokens.
Does not affect highlighting.
Change-Id: I206499ea35ee4ece5fe442665c904090cf5d90fc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
There have been requests to easily re-use FakeVim in other projects.
To make that easy, cut the few explicit ties to libUtils in
fakevimhandler.cpp.
Change-Id: I090d50fb1fd4e62d97e9430e94a84d1f267773a4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>