Commit Graph

140 Commits

Author SHA1 Message Date
Eike Ziller
5a64a0c5be Require Qt 5.14 or later
This is required for proceeding with support for building
Qt Creator with Qt 6.

Change-Id: Ibf8a3eef6d6da943c5ee7f4a2239f45ee49b1093
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-07-09 08:34:46 +00:00
hjk
f194b92d0a README.md: Re-use description bits from the manual
Change-Id: I880ddcd3aa6173120aed7a64ee8635b29b9f37df
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-23 07:53:04 +00:00
Eike Ziller
c644e7c80a Merge remote-tracking branch 'origin/qds-1.59'
Conflicts:
	src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
	src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp

Change-Id: Ifa7c66330c1995378280cdb4c57c30015dc11b68
2020-06-08 16:04:15 +02:00
Marco Bubke
b3f8a4a73c Utils: Include from future std::span
std::span is a universal class to represent a non owning contiguous data.
You can even manipulate the data but you can not change the size like sort.
It's very nice for interfaces which call in other code but don't need to
own the container or make an internal copy anyway.

https: //en.cppreference.com/w/cpp/container/span
https: //solarianprogrammer.com/2019/11/03/cpp-20-span-tutorial/

Change-Id: Iaced1bd60c14b2fd7ea6576bb6e1720ed8990da8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-05-26 18:15:06 +02:00
hjk
0ce0ca0f36 README.md: Fix link to coding style
Change-Id: Id40592c5698af22ffccfc14ade7438c2e33a4fb0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-05-04 07:28:40 +00:00
Lars Knoll
47e576528e Port QtCreator over to use filterRegularExpression
QSortFilterProxyModel::filterRegExp is going to go away in Qt6,
so port over to use QRegularExpression instead.

This required some changes where setFilterWildcard/FixedString()
was being used, as those would instantiate QRegExp based filters
in Qt 5, and will use QRegularExpression in Qt 6. Use the generic
setFilterRegularExpression here, to keep things portable between
5 and 6.

Change-Id: I6379be781aa3821b10ba783c088f82c1a0970911
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-04-01 20:36:49 +00:00
Eike Ziller
6fc85b49fa Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/designer/codemodelhelpers.cpp

Change-Id: I78906f2fbbfd27d254589a272ebca423b0b80699
2019-11-28 08:24:10 +01:00
Cristian Adam
6160abb4f8 Documentation: Fix Ninja reference
Change-Id: I95967b62b46ebe08ac837c490c54f5f3fc24d443
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-11-25 12:32:17 +00:00
Eike Ziller
4e6142c932 Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/autotest/testresultspane.cpp
	src/plugins/cmakeprojectmanager/cmaketool.cpp

Change-Id: Iade695ac9cab8bf3e3a1abd6e2c71f4a19132ac0
2019-11-21 22:18:35 +02:00
Cristian Adam
a646d0af26 Documentation: Add documentation how to build Qt Creator with CMake
Change-Id: I36617ce09301165f2e18a7524a18283264957ac6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-11-21 13:59:20 +00:00
Eike Ziller
748e5bd5b9 Update platform requirement for binary packages
Since these are now based on Qt 5.14

Change-Id: I36167ec73fcedc99f57d1dbc16d6e8efeca8e830
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-11-20 08:07:34 +00:00
Camila San
70e8954402 Fix wrong link in the README
Fixes: QTCREATORBUG-23100
Change-Id: I8b4fca804ae872524ce80715385c01ac5b63223c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-10-22 12:19:19 +00:00
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