Commit Graph

78 Commits

Author SHA1 Message Date
Eike Ziller
8df0653bf8 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/qmldesigner/components/stateseditor/stateseditormodel.cpp

Change-Id: Iffdf48e782a734107ea170ebb3812e997cea0e7b
2019-09-12 09:08:04 +02:00
Nikolai Kosjar
038a03e95f README: State ClangFormat dependencies
Amends 4d3bb1c858.

Change-Id: I72319c39144a161e5957953de5f395f33a080e63
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-10 09:25:16 +00:00
Nikolai Kosjar
0ba729e527 Import YAML-Parser yaml-cpp
Version: tags/yaml-cpp-0.6.2
  License: MIT

yaml-cpp requires c++11 and since yaml-cpp 0.6 there is no dependency on
boost anymore.

A YAML parser is needed for the ClangTools plugin to parse exported
diagnostics from clang-tidy/clazy:

  $ clang-tidy -export-fixes=/tmp/tidy.yaml source.cpp

The imported source is stripped of unneeded files as documented with

  src/libs/3rdparty/yaml-cpp/patches/0001-yaml-cpp-Strip-unneeded-sources.patch
  (generated with "git format-patch -D")

Change-Id: Ib0a521b5aff4b1cd058eb480bfb99fde4b320dc7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-30 08:42:22 +00:00
Tim Henning
7fec418205 Tracing: Add Chrome Trace Format Visualizer plugin
This new plugin adds a viewer for Chrome Trace Format (CTF) files
(aka Trace Event Format). It uses the same UI components as the
QML Profiler timeline and the Perf Profiler.

The Trace Event Format is generated by different kinds of tracing tools.
Usually the files are display with the trace-viewer, built into Chrome
(chrome://tracing). This plugin was developed because of the high memory
usage of trace-viewer, which makes it difficult to use with trace files
bigger than 100 MB.

The plugin fully supports all event types used in data generated by
LTTng, converted to CTF by https://github.com/KDAB/ctf2ctf.
Some of the more advanced event types used for example in Android system
traces, though, are not supported. The viewer will silently ignore
unsupported event types.

Supported Event Types:
- Begin, End, Duration and Instant events
- Counter events (graphs)
- Metadata events (process and thread name)

The plugin uses nlohmann/json instead of QJson because of the ~128 MB
object size limit by QJson.

[ChangeLog][Tracing][CtfVisualizer] Added Chrome Trace Format Visualizer plugin

Change-Id: I5969f7f83f3305712d4aec04487e2403510af64b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-08-29 13:37:04 +00:00
Nikolai Kosjar
9dac99eac0 README: Update clang instructions for mono repository
Change-Id: I0b817e4f245613cbae7c36cd5c36712a2cf1396d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-06-19 11:46:42 +00:00
Nikolai Kosjar
a0852cf62b README: Update "Prebuilt LLVM/Clang packages" section
Fixes: QTCREATORBUG-22563
Change-Id: I651d0308bd5ac7efcb22f30488e08b3f3ffa16a6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2019-06-19 08:49:31 +00:00
Nikolai Kosjar
bd74dc220f README: Remove outdated bullet point about clang code model
Change-Id: I0f7a94d276d9b32ba00ae43d574cc6f18fdd2d63
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2019-06-19 06:08:10 +00:00
Ivan Donchevskii
53c407bc0c Clang: Fix build with clang-8
Clang-Tidy checks and Clazy flags updated.
CLANG-UPGRADE-CHECK done.

Change-Id: I1ca585c5c3c77a7f183719df9c262603150914e8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-04-17 12:13:36 +00:00
Marco Bubke
89e70ca785 Enable Clang Refactoring compiling
We change QTC_ENABLE_CLANG_LIBTOOLING to QTC_DISABLE_CLANG_REFACTORING, so
you now have to opt out instead of opt in. We bump the minimum version of
LLVM to 7.0 too because we mentioned that in the README already.

Change-Id: Ic4ee29a74a3ed79634ed8ea50be84d7bdc7db4ef
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-04-11 10:46:19 +00:00
Orgad Shaneh
39ba01da71 Merge remote-tracking branch 'origin/4.9'
Change-Id: I7d1912cd5c4d824fd40d3454c5f1bb796f2c21d8
2019-04-07 23:13:17 +03:00
Eike Ziller
ec15a93215 Update documentation on supported macOS platforms of the prebuilt binaries
The prebuilt binaries are based on Qt 5.12 which requires macOS 10.12 or later

Change-Id: I72fbfed1aee4ca137676916f8c11c734c41149db
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-04-03 11:51:50 +00:00
Eike Ziller
c53ccceff1 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/debugger/debuggerkitinformation.cpp
	src/plugins/languageclient/languageclientmanager.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/kit.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
2019-03-14 15:51:15 +01:00
Ivan Donchevskii
1959664210 Clang: Update LLVM/Clang version in the README
Fixes: QTCREATORBUG-22103
Change-Id: Ic83923ded4ad9a91fb189b60ab43ca93426ee9a0
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-12 09:41:53 +00:00
Marco Bubke
722b146b52 Bump minimum requirement for MSVC to 2017 or later
If we want to progress to LLVM 8 we have to drop MSVC 2015 because LLVM is
doing it. It would be enable much more conformant template support. So we
could use Ranges.

Change-Id: I9beb767e7380f8b355f5544d8f3e3a6fd9b5de62
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-03-07 09:42:40 +00:00
Christian Stenger
f670e80c88 TextEditor: Allow using KSyntaxHighlighting from system
Set KSYNTAXHIGHLIGHTING_LIB_DIR to the directory that
contains the KSyntaxHighlighting library file
(e.g. libKF5SyntaxHighlighting.{dll,dylib,so}).
This will use the respective files from there and its
related include files instead of the files provided by QC.

If deducing the include directory depending on the library
does not work you can additionally specify
KSYNTAXHIGHLIGHTING_INCLUDE_DIR as well.

Both variables can be set either as qmake variable or
environment variable.

Task-number: QTCREATORBUG-21980
Change-Id: Ie021489d930dfc46ad3e37f9fa02d09fa146ac87
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-03-05 12:29:26 +00:00
Alessandro Portale
88d1d92728 Bump minimum Qt version (to build Qt Creator) to 5.11
Recent adaptations to Qt 5.13's API deprecations require using APIs
which were introduces in Qt 5.11.

Change-Id: I6c077d824c9ce716e019543b290c355a5d512fad
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-02-15 14:39:12 +00:00
Alessandro Portale
1c6db4ca8b Acknowledge KSyntaxHighlighting in README.md
https://doc-snapshots.qt.io/qtcreator-master/creator-
acknowledgements.html

Acknowledges KSyntaxHighlighting already. README.md should do so,
as-well.

Change-Id: I099fd9a8d9b479c3ba3278412e59160d6918ca2f
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-02-12 06:01:25 +00:00
Christian Kandeler
d7178b88c4 SSH: Use OpenSSH tools
... instead of our own SSH library.

Advantages:
    - Full compatibility with OpenSSH behavior guaranteed.
    - Minimal maintenance effort.
    - Less code to build.
    - Big chunk of 3rd party sources can be removed from our repository.

One the downside, Windows users now need to install OpenSSH for
RemoteLinux support. Hoewever, people doing embedded development
probably have it installed anyway.

[ChangeLog] Switched SSH backend to OpenSSH

Fixes: QTCREATORBUG-15744
Fixes: QTCREATORBUG-15807
Fixes: QTCREATORBUG-19306
Fixes: QTCREATORBUG-20210
Change-Id: Ifcfefdd39401e45ba1f4aca35d2c5bf7046c7aab
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-13 15:10:11 +00:00
Mitch Curtis
f913db2a93 Add contribution instructions to readme.md
Add contents of HACKING to readme.md. This makes it clearer that
Gerrit should be used for patches, and not GitHub.

Change-Id: I3638bea4c31a03af130aeb456cf3f49f019304b0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-12 12:30:45 +00:00
Orgad Shaneh
14d1cffe1e README: Adapt to clang submodules
Change-Id: I518b3b3d48b24de28b253188e78665ef299cde9f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-10-18 07:51:56 +00:00
Christian Kandeler
3336baad12 Fix references to the clang code model documentation file
Was forgotten in 7ab07a4e8f.

Change-Id: I2c6d21b79658e3946eb6ecdcf7b11992c0bf865e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-08-20 11:58:18 +00:00
Eike Ziller
9f60cdcdaa Merge remote-tracking branch 'origin/4.7'
Change-Id: I15962a85b0cc37c5a00e15ef7eac0445aad6c295
2018-08-20 09:05:18 +02:00
Eike Ziller
eb0f3997ad Update macOS requirement for binary packages
Qt 5.11 does not support macOS 10.10

Change-Id: I7438b1354c006447d7ba2148ebe616dafe39ef53
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-08-16 08:32:46 +00:00
Eike Ziller
db9837fa6c Merge remote-tracking branch 'origin/4.7'
Conflicts:
	src/plugins/clangtools/clangtoolruncontrol.cpp
	src/plugins/cpptools/compileroptionsbuilder.cpp

Change-Id: Ib1e8abf066898b50c90fc1ccba4697fe983e8a8f
2018-08-15 13:53:28 +02:00
Christian Kandeler
a44fe2e4f0 SSH: Use Botan2
Botan 1.10 will be completely unsupported by the end of this year, so we
now target API version 2 instead.
Also upgrade our bundled Botan to the latest version 2.7. We no longer
check in pre-processed files, but use the upstream sources directly
(with unneeded parts removed), employing Botan's own configure
script for building. This will make future upgrades much simpler. A
script to automate this process is also provided.

Task-number: QTCREATORBUG-18802
Task-number: QTCREATORBUG-8107
Change-Id: I5a5ea62cfd30d720b556217142e8b7e06bf49f7e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-08-10 09:23:42 +00:00
Eike Ziller
3ce783b0ea Require GCC 5.3 or later on Linux/MinGW
GCC 4.9 is old and buggy, and major distributions nowadays
provide GCC >= 5.3 for their stable/LTS versions.

Change-Id: Ic94f28154cfd055eebf50d762935cc269afe00a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-07-19 09:44:27 +00:00
David Schulz
28a03360d6 Debugger: add instruction to build python enabled dumper for cdb
Like for the llvm code model additional 3rd party installation is
required to build the python enabled dumper on Windows. Adding minimum
version of Python and the name of the environment variable pointing to
the Python installation to the README.md.

Change-Id: I0cad39a57e4726083fcd44bde8b4c990cbd1ab03
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-07-11 05:45:49 +00:00
Orgad Shaneh
0dccf8803b Clang: Use https protocol instead of git
Some firewalls block access to git, while they allow http[s]

Change-Id: Ia363550a7d1d09960c5569bc3a6df104be28d0c7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-05-22 06:47:36 +00:00
Nikolai Kosjar
319daa2612 Clang: Require LLVM/Clang >= 6.0.0
Adapt versions and tests, remove code assuming clang < 6.0.

Switch also to our custom repositories instead of dealing with patch
files.

LLVM/Clang 6 was released on 09 Mar 2018.

Task-number: QTCREATORBUG-18535
Task-number: QTCREATORBUG-18552
Change-Id: I0ec2c2f56265e161ae7cbb5b03e7b8a182ba6cc6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-05-17 12:46:37 +00:00
Eike Ziller
c23d2b6e09 Increase requirement for building Qt Creator from Qt 5.6.2 to Qt 5.9
Qt 5.11 will be released and Qt 5.9 is the new LTS.
Increasing the requirement allows us to remove some baggage and
workarounds like Utils::asConst, special Q_OVERRIDE header, and
deployment target adaptions on macOS, and simplifies pulling in
proparser changes from Qt.

Change-Id: I9faf99336d26dd20bd63e6904ae543c0f351aa4d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-03-22 10:01:36 +00:00
Eike Ziller
ecb9fae785 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	share/qtcreator/qml-type-descriptions/qmlproject.qmltypes
	src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp

Change-Id: I35fb652f29a98a798be7c8b4b4c2e581eb175fb6
2018-02-01 09:58:36 +01:00
Nikolai Kosjar
a8f9ca6ca8 State third-party licenses for LLVM/Clang/Clazy
Change-Id: I8ba9e9176a01f49fbf203beaac3dfd229df0046a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-01-31 13:14:00 +00:00
Eike Ziller
0837f974da Merge remote-tracking branch 'origin/4.6'
Conflicts:
	qtcreator.pri

Change-Id: I7dcd8e067b7597144eb3b27d917cb7fe0279aad4
2018-01-19 12:05:11 +01:00
Robert Loehning
9990fff2c8 State recommended Qt version more precisely
Change-Id: I4a8ad19c8fc1f9eacceb41ddebb097fe9a9ec469
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-18 12:18:16 +00:00
Ivan Donchevskii
58494877fd Clang: Add more info about libclang to Readme.md
It was not mentioned that only mingw has profile-guided
optimization applied in prebuilt packages.
Also add the suggestion to use mingw version of libclang
in case MSVC compiler is used for build.

Change-Id: Icd824b83101dbebb6474e88c0f7bad3c6c52c61c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-01-17 10:23:52 +00:00
Orgad Shaneh
b7c7acbad2 Readme: Simplify clang building instructions and use correct branch
Change-Id: I29f194ceffeb4edbd2a6e37309724732964a45cf
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-01-02 10:20:44 +00:00
Eike Ziller
f9177d4b6c Add implementation of std::variant
Type-safe unions for C++.

Change-Id: I3c1eb89a240a11d27b07acae588a924a0618173e
Reviewed-by: hjk <hjk@qt.io>
2017-12-21 06:37:07 +00:00
Ulf Hermann
5e0639542f Add some sanity to the clang detection code for qmake build
llvm-config can usually be found in PATH on systems which have standard
paths at all. There is no need to specify LLVM_INSTALL_DIR then.
Furthermore, llvm-config has an option --bindir which will tell us the
directory where clang can be found (if installed). No need to apply
strange heuristics based on LLVM_INSTALL_DIR. Finally, we can check
within each .pro file for the conditions to be met using qmake's
require() function. This way we don't need to fiddle with
LLVM_INSTALL_DIR in unrelated places.

Change-Id: I1a6ab092b06de40dfbfa4a9e7053451360fd24c8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-11-22 08:47:05 +00:00
Nikolai Kosjar
5ba40cb7fb Clang: Require LLVM/Clang >= 5.0.0
...for the code model parts and declare 5.0 as the supported version for
the clang static analyzer.

Adapt versions and tests, remove code assuming clang <= 5.0.

LLVM/Clang 5 was released on 07 Sep 2017.

Task-number: QTCREATORBUG-18931
Task-number: QTCREATORBUG-18657
Task-number: QTCREATORBUG-17187
Task-number: QTCREATORBUG-14881
Change-Id: I53b00258ca06a1d2e57f9379dacc54b310687295
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-10-27 14:21:19 +00:00
Friedemann Kleint
3edc50a164 README.md: Update Clang repository URLs
Change-Id: I5112052032e128144b346fac49076a458647f7db
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-28 06:26:22 +00:00
Eike Ziller
b6c1cb3487 Bump minimum Qt version to 5.6.2
Starting to use macos qmake scope. 5.6.3 should be around soon so
we can still regression test latest two patch levels.

Change-Id: I14f67a26e26c50f6dd0fb8b621f13780b0b05f76
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-29 11:23:15 +00:00
Eike Ziller
345ea0307c Merge remote-tracking branch 'origin/4.3' into 4.4
Conflicts:
	qtcreator.qbs

Change-Id: Ic5e268326d93172208de291d31a716e437b9cedf
2017-07-10 09:54:52 +02:00
Eike Ziller
cfb5f610a1 Update binaries' supported macOS
Change-Id: If51b0395b509c8e943688a9f00352b4ac5800369
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-07-05 14:33:59 +00:00
Eike Ziller
93f4fb771f Add std::experimental::optional as Utils::optional
Uses the reference implementation of the proposal, which later
can be replaced by the std lib implementation depending on compiler
and used C++ version.

Change-Id: I23f2f8077f4cb26c3d9a403b1ce438b6cdb163f2
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-06-16 12:19:27 +00:00
Eike Ziller
20670d62ba Update requirements to GCC>=4.9
Change-Id: I34b5dcec552c0af0ce7184a43fa7fba4a75415c4
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-30 08:19:29 +00:00
Eike Ziller
c1017b8ad0 README: The required llvm-config is in the llvm-X.Y package
Change-Id: I872a89840aa904c5a4dadd69282f4dd39e320066
Reviewed-by: hjk <hjk@qt.io>
2017-01-27 12:52:35 +00:00
Eike Ziller
b1f1ccb32e Merge remote-tracking branch 'origin/4.2'
Conflicts:
	src/plugins/android/androidbuildapkstep.cpp
	src/plugins/genericprojectmanager/genericproject.cpp

Change-Id: I3484b668f9323ed0c05de99f8dfed07c9e65ab98
2017-01-11 09:29:37 +01:00
Friedemann Kleint
c14a24dca1 README.md: Fix slash in LLVM command
Change-Id: I0d69148e1b246ec90365d489b11e1954d0485576
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-01-10 10:03:51 +00:00
Marco Bubke
719e6e0aff Fix README.md for linking with GCC >4 on Linux with Clang
Change-Id: Id0d1e4e5bc10adef96dd1d3afa65e3e4247f5815
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-01-04 12:21:44 +00:00
Orgad Shaneh
38cd2736ea Doc: Replace msysGit with Git for Windows
msysGit is obsolete

Change-Id: Ib7dea018043e90f1288c68a19ebe356c6212bf0c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-29 16:34:38 +00:00