Commit Graph

161 Commits

Author SHA1 Message Date
Eike Ziller
0777b65db3 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	src/plugins/android/androidconfigurations.cpp

Change-Id: If8dc2cdf131811e08ca147c6f58dbb3ed3bf7227
2021-08-26 11:09:08 +02:00
Eike Ziller
13123fede6 Update information about supported platforms
Change-Id: Ic6e2de15f07133dd60896a82f27280272db0e860
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-08-25 07:05:26 +00:00
Kai Köhne
ca885ee87a README.md: Document Qt Creator main licenses
Change-Id: I4d5803c746ebfc0a17e6c21745c1c8775e2d50f0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-08-24 07:07:47 +00:00
Knud Dollereder
caaad2107d Add minitrace library
Minitrace is a small C++ library used for adding trace points
into the code. When enabled with the build flag
BUILD_LIBRARY_MINITRACE set to true it will write a JSON file
containing these trace points to disk.
This file can be visualized with chromes builtin trace viewer
(about:tracing) which helps in profiling performance issues
and keeping track of performance regression.

Task-number: QDS-3766
Change-Id: I6109a72507b53c5e3ad8f9f504ff26a4fad206be
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-25 11:53:36 +00:00
Cristian Adam
cc0fa86ffd CMakeProjectManager: Add package manager auto-setup
Adds CMAKE_PROJECT_INCLUDE_BEFORE as initial CMake parameters
with a path to a auto-setup.cmake script that will run
conan install if a conanfile.txt is found in the prject.

A project can have a local QtCreatorPackageManager.cmake file
that will be loaded if exists.

The auto setup can be controlled via the following CMake variables:

* QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP
* QT_CREATOR_SKIP_CONAN_SETUP
* QT_CREATOR_SKIP_VCPKG_SETUP

conan.cmake is taken from https://github.com/conan-io/cmake-conan
which takes care of the conan specific compiler cruft. License
is MIT.

Fixes: QTCREATORBUG-25362
Change-Id: I70a6e1abc5600851d048f1590ca24204ce52a503
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-02-19 17:54:45 +00:00
Christian Kandeler
f7d8f8b704 ClangFormat: Do not refuse to build against unpatched clang
The plugin builds just fine and should be mostly (fully?) functional with
upstream clang, so it seems excessive to force-disable it entirely for
everybody not using our custom patch.

Change-Id: Id6a179c20325290a8205218c9514a16c1adc9076
Reviewed-by: hjk <hjk@qt.io>
2021-01-06 11:00:02 +00:00
Eike Ziller
45c2634166 Merge remote-tracking branch 'origin/4.14'
Change-Id: I62523c4733e617c46131048f5f62a2ca9be47d80
2021-01-06 08:42:15 +01:00
Alessandro Portale
16421d08d3 README.md: Use anchor links to "Getting LLVM/Clang..."
Finding a heading in the quite long README.md is challenging. If you try
to build with LLVM, you already have enough challenges. Use anchor links
to the "Getting LLVM/Clang for the Clang Code Model" heading.

Change-Id: Ie0b29cf2f0ad3331666be1f322de840db697cc7b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-04 20:47:43 +00:00
Alessandro Portale
b5037eb8cf README.md: Turn URL to prebuilt libclang into a link
Change-Id: I53ff97da00d5e1671c6af9444ed20d82a28e33dc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-04 20:47:40 +00:00
Eike Ziller
739eeec19d Explicitly state that only 64 bit Windows is supported
by our binary packages. Building on 32bit is still possible.

Fixes: QTCREATORBUG-25182
Change-Id: Ic88579bcd9bf3b6aef449e6ac3bcaa6430cd68f2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-04 10:14:03 +00:00
Eike Ziller
e2a2af5d18 Update and overhaul README
Our binaries no longer support Ubuntu 16.
Update LLVM requirements.
Move build instructions to use CMake and overhaul the complicated
Windows instructions.

Change-Id: Idf139fd76b0cfb91dbce11f7b814ec8abd9b21f6
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-12-14 12:26:58 +00:00
Leena Miettinen
ec6b6f3671 Doc: Add link to Qbs attributions into toplevel Readme.md
Task-number: QTCREATORBUG-24622
Change-Id: Icff751b12fc03d18f5d1fd4f8dd191a344a9981b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-11-20 09:41:48 +00:00
Eike Ziller
87ad222cb6 Merge remote-tracking branch 'origin/4.13' into 4.14
Change-Id: I3b48c76bbb456c487cec33383e7332b6a0a6752a
2020-10-06 09:49:57 +02:00
Leena Miettinen
7c1971e908 Doc: Point to the online docs from README.md
To advertise the docs on GitHub.

Task-number: QTCREATORBUG-21179
Change-Id: I39bac5cfb8f9749966c3b879b0a89c4e62d934f4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-05 07:56:16 +00:00
Eike Ziller
423ea729f8 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/mcusupport/mcusupportoptions.cpp

Change-Id: I3fd0d0a6a3ff30bb990da3dc0f78e69f9e1247ef
2020-09-23 10:11:44 +02:00
Leena Miettinen
1c26d6db68 Doc: Add OFL-1.1 to Acknowledgments
Fixes: QTCREATORBUG-24630
Change-Id: Iaaa64bb9936a80805affe992f64e24d1c586496a
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-21 07:49:01 +00:00
Eike Ziller
5ad724c61b Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	src/plugins/qmakeprojectmanager/qmakeproject.cpp

Change-Id: Ieb1c3e946f11d3c4fa1ee6b5afdf83cc532d8aed
2020-09-17 10:28:19 +02:00
Leena Miettinen
a489fc18eb Doc: Add LiteHTML license and related licenses to acknowledgments
Fixes: QTCREATORBUG-24619
Change-Id: I8d28bf8a579e8885b430cd7df292f53363990ffa
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-16 09:30:44 +00:00
Eike Ziller
3944162039 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
	src/plugins/cmakeprojectmanager/cmakebuildstep.h
	tests/auto/debugger/tst_namedemangler.cpp
	tests/auto/qml/codemodel/check/tst_check.cpp

Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
2020-08-10 15:56:54 +02:00
Orgad Shaneh
b4d5ab2fb5 README: Bump LLVM version in build instructions
Change-Id: I3321d422f109f8f9c96adef2f944415ce2ec9569
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-14 08:15:25 +00:00
Eike Ziller
d400dce35d Require GCC 7 and enable C++17
Fix MSVC2019
- result type of conditional expression is ambiguous:
  types 'const char [1]' and 'QByteArray' can be converted
  to multiple common types

Fix MinGW 8.1
- undefined reference to SemanticHighlightNotification::methodName

Fix Utils::transform with std::vector for GCC & MSVC

Unfortunately we cannot get rid of the special variant and optional
implementations, because Apple Clang requires deployment target >= 10.14
for the functions that can throw std::bad_optional_access.

Fixes: QTCREATORBUG-20520
Change-Id: I5c36a70f21f8b0215d2f4fc5c0653a022778d928
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-07-10 11:52:24 +00:00
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