2015-03-10 08:27:53 +01:00
|
|
|
# Qt Creator
|
|
|
|
|
2020-06-23 08:23:37 +02:00
|
|
|
Qt Creator is a cross-platform, integrated development environment (IDE) for
|
|
|
|
application developers to create applications for multiple desktop, embedded,
|
|
|
|
and mobile device platforms.
|
2009-02-24 16:17:49 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
## Supported Platforms
|
|
|
|
|
2013-04-18 10:49:34 +02:00
|
|
|
The standalone binary packages support the following platforms:
|
2009-02-24 16:17:49 +01:00
|
|
|
|
2016-11-28 12:21:55 +01:00
|
|
|
* Windows 7 or later
|
2017-01-17 14:35:31 +01:00
|
|
|
* (K)Ubuntu Linux 16.04 (64-bit) or later
|
2019-11-19 12:15:36 +01:00
|
|
|
* macOS 10.13 or later
|
2009-02-24 16:17:49 +01:00
|
|
|
|
2018-12-12 10:59:10 +01:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
For instructions on how to set up the Qt Creator repository to contribute
|
|
|
|
patches back to Qt Creator, please check:
|
|
|
|
|
|
|
|
https://wiki.qt.io/Setting_up_Gerrit
|
|
|
|
|
|
|
|
See the following page for information about our coding standard:
|
|
|
|
|
2020-05-02 07:13:37 +02:00
|
|
|
https://doc.qt.io/qtcreator-extending/coding-style.html
|
2018-12-12 10:59:10 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
## Compiling Qt Creator
|
|
|
|
|
2009-12-03 14:52:19 +01:00
|
|
|
Prerequisites:
|
2015-03-10 08:27:53 +01:00
|
|
|
|
2020-03-27 11:56:25 +01:00
|
|
|
* Qt 5.12.0 or later
|
2016-10-24 13:55:54 +02:00
|
|
|
* Qt WebEngine module for QtWebEngine based help viewer
|
2015-03-10 08:27:53 +01:00
|
|
|
* On Windows:
|
|
|
|
* ActiveState Active Perl
|
2019-02-13 12:21:56 +01:00
|
|
|
* MinGW with g++ 5.3 or Visual Studio 2017 or later
|
2015-03-10 08:27:53 +01:00
|
|
|
* jom
|
2018-07-09 15:05:31 +02:00
|
|
|
* Python 3.5 or later (optional, needed for the python enabled debug helper)
|
2015-03-10 08:27:53 +01:00
|
|
|
* On Mac OS X: latest Xcode
|
2018-07-17 10:02:16 +02:00
|
|
|
* On Linux: g++ 5.3 or later
|
2019-04-04 14:50:10 +02:00
|
|
|
* LLVM/Clang 8.0.0 or later (optional, needed for the Clang Code Model, Clang Tools, ClangFormat,
|
2019-03-11 11:39:39 +01:00
|
|
|
Clang PCH Manager and Clang Refactoring plugins, see the section
|
2019-03-13 14:37:04 +01:00
|
|
|
"Get LLVM/Clang for the Clang Code Model". The LLVM C++ API provides no compatibility garantee,
|
|
|
|
so if later versions don't compile we don't support that version.)
|
2019-11-21 13:14:21 +01:00
|
|
|
* CMake (for manual builds of LLVM/Clang, and Qt Creator itself)
|
2019-11-22 16:31:04 +01:00
|
|
|
* Ninja (optional, recommended for building with CMake)
|
2016-11-15 09:52:30 +01:00
|
|
|
* Qbs 1.7.x (optional, sources also contain Qbs itself)
|
2013-04-18 10:58:50 +02:00
|
|
|
|
|
|
|
The installed toolchains have to match the one Qt was compiled with.
|
2009-12-03 14:52:19 +01:00
|
|
|
|
2012-10-16 11:01:53 +02:00
|
|
|
You can build Qt Creator with
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2017-11-16 10:56:28 +01:00
|
|
|
# Optional, needed for the Clang Code Model if llvm-config is not in PATH:
|
2016-07-11 10:40:09 +02:00
|
|
|
export LLVM_INSTALL_DIR=/path/to/llvm (or "set" on Windows)
|
2019-03-13 14:37:04 +01:00
|
|
|
# Optional, disable Clang Refactoring
|
|
|
|
export QTC_DISABLE_CLANG_REFACTORING=1
|
2016-11-15 09:52:30 +01:00
|
|
|
# Optional, needed to let the QbsProjectManager plugin use system Qbs:
|
|
|
|
export QBS_INSTALL_DIR=/path/to/qbs
|
2018-07-09 15:05:31 +02:00
|
|
|
# Optional, needed for the Python enabled dumper on Windows
|
|
|
|
set PYTHON_INSTALL_DIR=C:\path\to\python
|
2019-02-14 14:58:27 +01:00
|
|
|
# Optional, needed to use system KSyntaxHighlighting:
|
|
|
|
set KSYNTAXHIGHLIGHTING_LIB_DIR to folder holding the KSyntaxHighlighting library
|
|
|
|
# if automatic deducing of include folder fails set KSYNTAXHIGHLIGHTING_INCLUDE_DIR as well
|
|
|
|
# both variables can also be passed as qmake variables
|
2016-07-11 10:40:09 +02:00
|
|
|
|
2012-10-16 11:01:53 +02:00
|
|
|
cd $SOURCE_DIRECTORY
|
|
|
|
qmake -r
|
|
|
|
make (or mingw32-make or nmake or jom, depending on your platform)
|
|
|
|
|
|
|
|
Installation ("make install") is not needed. It is however possible, using
|
|
|
|
|
|
|
|
make install INSTALL_ROOT=$INSTALL_DIRECTORY
|
2009-12-03 14:52:19 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
## Compiling Qt and Qt Creator on Windows
|
2011-01-12 15:24:56 +01:00
|
|
|
|
|
|
|
This section provides step by step instructions for compiling the latest
|
|
|
|
versions of Qt and Qt Creator on Windows. Alternatively, to avoid having to
|
|
|
|
compile Qt yourself, you can use one of the versions of Qt shipped with the Qt
|
2019-02-13 12:21:56 +01:00
|
|
|
SDK (release builds of Qt using MinGW and Visual C++ 2017 or later).
|
2014-03-26 12:03:35 +01:00
|
|
|
For detailed information on the supported compilers, see
|
2015-03-10 08:27:53 +01:00
|
|
|
<https://wiki.qt.io/Building_Qt_5_from_Git> .
|
2011-01-12 15:24:56 +01:00
|
|
|
|
|
|
|
1. Decide which compiler to use: MinGW or Microsoft Visual Studio. If you
|
|
|
|
plan to contribute to Qt Creator, you should compile your changes with
|
|
|
|
both compilers.
|
|
|
|
|
2016-11-29 16:11:20 +02:00
|
|
|
2. Install Git for Windows from <https://git-for-windows.github.io/>. If you plan to
|
2011-01-12 15:24:56 +01:00
|
|
|
use the MinGW compiler suite, do not choose to put git in the
|
|
|
|
default path of Windows command prompts. For more information, see
|
|
|
|
step 9.
|
|
|
|
|
|
|
|
3. Create a working directory under which to check out Qt and Qt Creator,
|
2015-03-10 08:27:53 +01:00
|
|
|
for example, `c:\work`. If you plan to use MinGW and Microsoft Visual
|
2011-01-12 15:24:56 +01:00
|
|
|
Studio simultaneously or mix different Qt versions, we recommend
|
|
|
|
creating a directory structure which reflects that. For example:
|
2020-03-27 11:56:25 +01:00
|
|
|
`C:\work\qt5.12.0-vs15, C:\work\qt5.12.0-mingw`.
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
4. Download and install Perl from <https://www.activestate.com/activeperl>
|
|
|
|
and check that perl.exe is added to the path. Run `perl -v` to verify
|
2014-03-26 12:03:35 +01:00
|
|
|
that the version displayed is 5.10 or later. Note that git ships
|
|
|
|
an outdated version 5.8 which cannot be used for Qt.
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2015-03-10 09:20:33 +01:00
|
|
|
5. In the working directory, check out the respective branch of Qt from
|
2018-01-18 12:21:13 +01:00
|
|
|
<https://code.qt.io/cgit/qt/qt5.git> (we recommend the highest released version).
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
6. Check out Qt Creator (master branch or latest version, see
|
2015-03-10 09:20:33 +01:00
|
|
|
<https://code.qt.io/cgit/qt-creator/qt-creator.git>).
|
2011-01-12 15:24:56 +01:00
|
|
|
You should now have the directories qt and creator under your working
|
|
|
|
directory.
|
|
|
|
|
|
|
|
7. Install a compiler:
|
2015-03-10 08:27:53 +01:00
|
|
|
- For a MinGW toolchain for Qt, see <https://wiki.qt.io/MinGW> .
|
2011-01-12 15:24:56 +01:00
|
|
|
|
|
|
|
- For Microsoft Visual C++, install the Windows SDK and the "Debugging
|
|
|
|
Tools for Windows" from the SDK image. We strongly recommend using the
|
|
|
|
64-bit version and 64-bit compilers on 64-bit systems.
|
|
|
|
|
|
|
|
For the Visual C++ compilers, it is recommended to use the tool 'jom'.
|
|
|
|
It is a replacement for nmake that utilizes all CPU cores and thus
|
|
|
|
speeds up compilation significantly. Download it from
|
2015-03-10 08:27:53 +01:00
|
|
|
<https://download.qt.io/official_releases/jom>
|
2014-03-26 12:03:35 +01:00
|
|
|
and add the executable to the path.
|
2011-01-12 15:24:56 +01:00
|
|
|
|
|
|
|
8. For convenience, we recommend creating shell prompts with the correct
|
|
|
|
environment. This can be done by creating a .bat-file
|
2015-03-10 08:27:53 +01:00
|
|
|
(such as, `<working_directory>\qtvars.bat`) that contains the environment
|
2011-01-12 15:24:56 +01:00
|
|
|
variable settings.
|
2015-03-10 08:27:53 +01:00
|
|
|
A `.bat`-file for MinGW looks like:
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
set PATH=<path_to_qt>\[qtbase\]bin;<path_to_mingw>\bin;<working_directory>\creator\bin;%PATH%
|
2011-01-12 15:24:56 +01:00
|
|
|
set QMAKESPEC=win32-g++
|
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
For the Visual C++ compilers, call the `.bat` file that sets up the
|
2011-01-12 15:24:56 +01:00
|
|
|
environment for the compiler (provided by the Windows SDK or the
|
|
|
|
compiler):
|
|
|
|
|
2016-07-21 19:29:46 +02:00
|
|
|
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
|
2014-03-26 12:03:35 +01:00
|
|
|
set PATH=<path_to_qt>\[qtbase\]bin;<working_directory>\creator\bin;%PATH%
|
2015-04-13 14:33:10 +02:00
|
|
|
set QMAKESPEC=win32-msvc2013
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
You can create desktop links to the `.bat` files using the working
|
2011-01-12 15:24:56 +01:00
|
|
|
directory and specifying
|
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
%SystemRoot%\system32\cmd.exe /E:ON /V:ON /k <working_directory>\qtvars.bat
|
2011-01-12 15:24:56 +01:00
|
|
|
|
|
|
|
9. When using MinGW, open the shell prompt and enter:
|
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
sh.exe
|
2011-01-12 15:24:56 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
That should result in a `sh is not recognized as internal or external
|
|
|
|
command...` error. If a `sh.exe` is found, the compile process will fail.
|
2011-01-12 15:24:56 +01:00
|
|
|
You have to remove it from the path.
|
|
|
|
|
2016-11-24 17:07:39 +01:00
|
|
|
10. To make use of the Clang Code Model:
|
|
|
|
|
|
|
|
* Install LLVM/Clang - see the section "Get LLVM/Clang for the Clang
|
|
|
|
Code Model".
|
|
|
|
* Set the environment variable LLVM_INSTALL_DIR to the LLVM/Clang
|
2017-11-16 10:56:28 +01:00
|
|
|
installation directory if llvm-config is not in PATH.
|
2018-01-16 10:32:41 +01:00
|
|
|
* Before you launch Qt Creator you may prepend the PATH with
|
|
|
|
the location of libclang.dll/.so that you want to be used.
|
|
|
|
See more info in the section "Prebuilt LLVM/Clang packages".
|
2016-11-24 17:07:39 +01:00
|
|
|
|
|
|
|
11. You are now ready to configure and build Qt and Qt Creator.
|
2015-03-10 08:27:53 +01:00
|
|
|
Please see <https://wiki.qt.io/Building_Qt_5_from_Git> for
|
2014-03-26 12:03:35 +01:00
|
|
|
recommended configure-options for Qt 5.
|
2011-01-12 15:24:56 +01:00
|
|
|
To use MinGW, open the the shell prompt and enter:
|
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
cd <path_to_qt>
|
|
|
|
configure <configure_options> && mingw32-make -s
|
2011-01-12 15:24:56 +01:00
|
|
|
cd ..\creator
|
|
|
|
qmake && mingw32-make -s
|
|
|
|
|
|
|
|
To use the Visual C++ compilers, enter:
|
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
cd <path_to_qt>
|
|
|
|
configure <configure_options> && jom
|
2011-01-12 15:24:56 +01:00
|
|
|
cd ..\creator
|
|
|
|
qmake && jom
|
|
|
|
|
2016-02-01 10:15:32 +01:00
|
|
|
12. To launch Qt Creator, enter:
|
2011-01-12 15:24:56 +01:00
|
|
|
qtcreator
|
|
|
|
|
2016-02-01 10:15:32 +01:00
|
|
|
13. To test the Clang-based code model, verify that backend process
|
|
|
|
bin\clangbackend.exe
|
|
|
|
launches (displaying its usage).
|
|
|
|
|
|
|
|
The library libclang.dll needs to be copied to the bin directory if
|
|
|
|
Clang cannot be found in the path.
|
|
|
|
|
|
|
|
14. When using Visual C++ with the "Debugging Tools for Windows" installed,
|
2015-03-10 08:27:53 +01:00
|
|
|
the extension library `qtcreatorcdbext.dll` to be loaded into the
|
|
|
|
Windows console debugger (`cdb.exe`) should have been built under
|
|
|
|
`lib\qtcreatorcdbext32` or `lib\qtcreatorcdbext64`.
|
2011-01-12 15:24:56 +01:00
|
|
|
When using a 32 bit-build of Qt Creator with the 64 bit version of the
|
|
|
|
"Debugging Tools for Windows" the library should also be built with
|
2015-03-10 08:27:53 +01:00
|
|
|
a 64 bit compiler (rebuild `src\libs\qtcreatorcdbext` using a 64 bit
|
2011-01-12 15:24:56 +01:00
|
|
|
compiler).
|
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
If you are building 32 bit and running on a 64 bit
|
|
|
|
Windows, you can obtain the 64 bit versions of the extension library
|
2015-03-10 08:27:53 +01:00
|
|
|
and the binary `win64interrupt.exe`, which is required for
|
2014-03-26 12:03:35 +01:00
|
|
|
debugging from the repository
|
2015-03-10 09:20:33 +01:00
|
|
|
<https://code.qt.io/cgit/qt-creator/binary-artifacts.git/tree> .
|
2014-03-26 12:03:35 +01:00
|
|
|
|
2016-02-01 10:15:32 +01:00
|
|
|
15. Qt Creator can be registered as a post-mortem debugger. This
|
2014-03-26 12:03:35 +01:00
|
|
|
can be done in the options page or by running the tool qtcdebugger
|
|
|
|
with administrative privileges passing the command line options
|
|
|
|
-register/unregister, respectively. Alternatively,
|
|
|
|
the required registry entries
|
2015-03-10 08:27:53 +01:00
|
|
|
|
|
|
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
|
|
|
|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
|
|
|
|
|
2014-03-26 12:03:35 +01:00
|
|
|
can be modified using the registry editor regedt32 to contain
|
2015-03-10 08:27:53 +01:00
|
|
|
|
|
|
|
<path>\qt-creator\bin\qtcdebugger %ld %ld
|
2014-03-26 12:03:35 +01:00
|
|
|
|
|
|
|
When using a self-built version of Qt Creator as post-mortem debugger, it needs to be
|
|
|
|
able to find all dependent Qt-libraries and plugins when being launched by the
|
|
|
|
system. The easiest way to provide them for Qt 5 is to run the tool windeployqt:
|
|
|
|
|
2015-08-26 09:58:48 +02:00
|
|
|
windeployqt -quick -qmldir share\qtcreator\welcomescreen -qmldir src\plugins\qmlprofiler bin\qtcreator.exe lib\qtcreator lib\qtcreator\plugins
|
2014-03-26 12:03:35 +01:00
|
|
|
|
2011-01-12 15:24:56 +01:00
|
|
|
Note that unlike on Unix, you cannot overwrite executables that are running.
|
|
|
|
Thus, if you want to work on Qt Creator using Qt Creator, you need a
|
|
|
|
separate build of it. We recommend using a separate, release-built version
|
|
|
|
of Qt and Qt Creator to work on a debug-built version of Qt and Qt Creator
|
|
|
|
or using shadow builds.
|
|
|
|
|
2016-11-24 17:07:39 +01:00
|
|
|
## Get LLVM/Clang for the Clang Code Model
|
|
|
|
|
|
|
|
The Clang Code Model depends on the LLVM/Clang libraries. The currently
|
2019-04-04 14:50:10 +02:00
|
|
|
supported LLVM/Clang version is 8.0.
|
2016-11-24 17:07:39 +01:00
|
|
|
|
|
|
|
### Prebuilt LLVM/Clang packages
|
|
|
|
|
|
|
|
Prebuilt packages of LLVM/Clang can be downloaded from
|
|
|
|
|
|
|
|
https://download.qt.io/development_releases/prebuilt/libclang/
|
|
|
|
|
|
|
|
This should be your preferred option because you will use the version that is
|
2019-06-18 16:21:02 +02:00
|
|
|
shipped together with Qt Creator (with backported/additional patches). In
|
|
|
|
addition, MinGW packages for Windows are faster due to profile-guided
|
|
|
|
optimization. If the prebuilt packages do not match your configuration, you
|
|
|
|
need to build LLVM/Clang manually.
|
2016-11-24 17:07:39 +01:00
|
|
|
|
2018-01-16 10:32:41 +01:00
|
|
|
If you use the MSVC compiler to build Qt Creator the suggested way is:
|
|
|
|
1. Download both MSVC and MinGW packages of libclang.
|
|
|
|
2. Use the MSVC version of libclang during the Qt Creator build.
|
|
|
|
3. Prepend PATH variable used for the run time with the location of MinGW version of libclang.dll.
|
|
|
|
4. Launch Qt Creator.
|
|
|
|
|
2016-11-24 17:07:39 +01:00
|
|
|
### Building LLVM/Clang manually
|
|
|
|
|
|
|
|
You need to install CMake in order to build LLVM/Clang.
|
|
|
|
|
|
|
|
Build LLVM/Clang by roughly following the instructions at
|
|
|
|
http://llvm.org/docs/GettingStarted.html#git-mirror:
|
|
|
|
|
2019-06-19 09:26:38 +02:00
|
|
|
1. Clone LLVM/Clang and checkout a suitable branch
|
2016-11-24 17:07:39 +01:00
|
|
|
|
2020-07-13 16:58:04 +03:00
|
|
|
git clone -b release_100-based --recursive https://code.qt.io/clang/llvm-project.git
|
2016-11-24 17:07:39 +01:00
|
|
|
|
2018-10-12 01:27:55 +03:00
|
|
|
2. Build and install LLVM/Clang
|
2016-11-24 17:07:39 +01:00
|
|
|
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
|
|
|
|
For Linux/macOS:
|
|
|
|
|
2019-11-21 13:14:21 +01:00
|
|
|
cmake \
|
|
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
|
|
-D LLVM_ENABLE_RTTI=ON \
|
|
|
|
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
|
|
|
|
-D CMAKE_INSTALL_PREFIX=<installation location> \
|
|
|
|
../llvm-project/llvm
|
|
|
|
cmake --build . --target install
|
2016-11-24 17:07:39 +01:00
|
|
|
|
|
|
|
For Windows:
|
|
|
|
|
2019-11-21 13:14:21 +01:00
|
|
|
cmake ^
|
2020-07-13 16:58:04 +03:00
|
|
|
-G Ninja ^
|
2019-11-21 13:14:21 +01:00
|
|
|
-D CMAKE_BUILD_TYPE=Release ^
|
|
|
|
-D LLVM_ENABLE_RTTI=ON ^
|
|
|
|
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ^
|
|
|
|
-D CMAKE_INSTALL_PREFIX=<installation location> ^
|
|
|
|
..\llvm-project\llvm
|
|
|
|
cmake --build . --target install
|
2016-11-24 17:07:39 +01:00
|
|
|
|
2019-09-10 10:54:26 +02:00
|
|
|
### Clang-Format
|
|
|
|
|
|
|
|
The ClangFormat plugin depends on the additional patch
|
|
|
|
|
2020-07-13 16:58:04 +03:00
|
|
|
https://code.qt.io/cgit/clang/llvm-project.git/commit/?h=release_100-based&id=9b992a0f7f160dd6c75f20a4dcfcf7c60a4894df
|
2019-09-10 10:54:26 +02:00
|
|
|
|
|
|
|
While the plugin builds without it, it will be disabled on start with an error message.
|
|
|
|
|
|
|
|
Note that the plugin is disabled by default.
|
|
|
|
|
2019-11-21 13:14:21 +01:00
|
|
|
### Building Qt Creator with CMake
|
|
|
|
|
|
|
|
Qt Creator can also be built with CMake. The main Qt Creator dependencies, Qt and LLVM/Clang, both
|
|
|
|
offer CMake find packages, which reduce the steps of configuring Qt Creator to a minimum.
|
|
|
|
|
|
|
|
Configure and build Qt Creator:
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
|
|
|
|
For Linux/macOS:
|
|
|
|
|
|
|
|
cmake \
|
|
|
|
-G Ninja \
|
|
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
|
|
-D CMAKE_PREFIX_PATH=~/Qt/5.12.5/gcc_64;~/llvm \
|
|
|
|
../qt-creator
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
For Windows:
|
|
|
|
|
|
|
|
cmake ^
|
|
|
|
-G Ninja ^
|
|
|
|
-D CMAKE_BUILD_TYPE=Release ^
|
|
|
|
-D CMAKE_PREFIX_PATH=c:\Qt\5.12.5\msvc2017_64;c:\llvm ^
|
|
|
|
..\qt-creator
|
|
|
|
cmake --build .
|
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
## Third-party Components
|
|
|
|
|
2010-03-04 16:16:42 +01:00
|
|
|
Qt Creator includes the following third-party components,
|
2009-02-24 16:17:49 +01:00
|
|
|
we thank the authors who made this possible:
|
|
|
|
|
2019-07-30 15:26:31 +02:00
|
|
|
### YAML Parser yaml-cpp (MIT License)
|
|
|
|
|
|
|
|
https://github.com/jbeder/yaml-cpp
|
|
|
|
|
|
|
|
QtCreator/src/libs/3rdparty/yaml-cpp
|
|
|
|
|
|
|
|
Copyright (c) 2008-2015 Jesse Beder.
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
THE SOFTWARE.
|
|
|
|
|
2019-02-11 16:44:50 +01:00
|
|
|
### KSyntaxHighlighting
|
|
|
|
|
|
|
|
Syntax highlighting engine for Kate syntax definitions
|
|
|
|
|
|
|
|
This is a stand-alone implementation of the Kate syntax highlighting
|
|
|
|
engine. It's meant as a building block for text editors as well as
|
|
|
|
for simple highlighted text rendering (e.g. as HTML), supporting both
|
|
|
|
integration with a custom editor as well as a ready-to-use
|
|
|
|
QSyntaxHighlighter sub-class.
|
|
|
|
|
|
|
|
Distributed under the:
|
|
|
|
|
|
|
|
MIT License
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
a copy of this software and associated documentation files (the
|
|
|
|
"Software"), to deal in the Software without restriction, including
|
|
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included
|
|
|
|
in all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
|
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
|
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
|
|
|
The source code of KSyntaxHighlighting can be found here:
|
|
|
|
https://cgit.kde.org/syntax-highlighting.git
|
|
|
|
QtCreator/src/libs/3rdparty/syntax-highlighting
|
|
|
|
https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/libs/3rdparty/syntax-highlighting
|
|
|
|
|
2018-01-30 15:20:56 +01:00
|
|
|
### Clazy
|
|
|
|
|
|
|
|
https://github.com/KDE/clazy
|
|
|
|
|
|
|
|
Copyright (C) 2015-2018 Clazy Team
|
|
|
|
|
|
|
|
Distributed under GNU LIBRARY GENERAL PUBLIC LICENSE Version 2 (LGPL2).
|
|
|
|
|
2018-04-17 11:53:55 +02:00
|
|
|
Integrated with patches from
|
|
|
|
http://code.qt.io/cgit/clang/clang-tools-extra.git/.
|
2018-01-30 15:20:56 +01:00
|
|
|
|
|
|
|
### LLVM/Clang
|
|
|
|
|
2019-06-19 09:26:38 +02:00
|
|
|
https://github.com/llvm/llvm-project.git
|
2018-01-30 15:20:56 +01:00
|
|
|
|
2019-06-19 09:26:38 +02:00
|
|
|
Copyright (C) 2003-2019 LLVM Team
|
2018-01-30 15:20:56 +01:00
|
|
|
|
|
|
|
Distributed under the University of Illinois/NCSA Open Source License (NCSA),
|
2019-06-19 09:26:38 +02:00
|
|
|
see https://github.com/llvm/llvm-project/blob/master/llvm/LICENSE.TXT
|
2018-01-30 15:20:56 +01:00
|
|
|
|
2019-06-19 09:26:38 +02:00
|
|
|
With backported/additional patches from https://code.qt.io/clang/llvm-project.git
|
2018-01-30 15:20:56 +01:00
|
|
|
|
2016-07-13 11:19:24 +02:00
|
|
|
### Reference implementation for std::experimental::optional
|
|
|
|
|
|
|
|
https://github.com/akrzemi1/Optional
|
|
|
|
|
|
|
|
QtCreator/src/libs/3rdparty/optional
|
|
|
|
|
|
|
|
Copyright (C) 2011-2012 Andrzej Krzemienski
|
|
|
|
|
|
|
|
Distributed under the Boost Software License, Version 1.0
|
|
|
|
(see accompanying file LICENSE_1_0.txt or a copy at
|
|
|
|
http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
|
|
|
The idea and interface is based on Boost.Optional library
|
|
|
|
authored by Fernando Luis Cacciola Carballal
|
|
|
|
|
2017-12-19 14:49:09 +01:00
|
|
|
### Implementation for std::variant
|
|
|
|
|
|
|
|
https://github.com/mpark/variant
|
|
|
|
|
|
|
|
QtCreator/src/libs/3rdparty/variant
|
|
|
|
|
|
|
|
Copyright Michael Park, 2015-2017
|
|
|
|
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
|
|
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
|
|
|
|
|
2020-05-25 18:17:00 +02:00
|
|
|
### Implementation for std::span
|
|
|
|
|
|
|
|
https://github.com/tcbrindle/span
|
|
|
|
|
|
|
|
QtCreator/src/libs/3rdparty/span
|
|
|
|
|
|
|
|
Copyright Tristan Brindle, 2018
|
|
|
|
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
|
|
(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
|
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
### Open Source front-end for C++ (license MIT), enhanced for use in Qt Creator
|
2010-06-21 13:52:05 +02:00
|
|
|
|
2009-02-24 16:17:49 +01:00
|
|
|
Roberto Raggi <roberto.raggi@gmail.com>
|
2011-03-18 17:50:31 +01:00
|
|
|
|
2009-02-24 16:17:49 +01:00
|
|
|
QtCreator/src/shared/cplusplus
|
|
|
|
|
2011-03-18 17:50:31 +01:00
|
|
|
Copyright 2005 Roberto Raggi <roberto@kdevelop.org>
|
|
|
|
|
|
|
|
Permission to use, copy, modify, distribute, and sell this software and its
|
|
|
|
documentation for any purpose is hereby granted without fee, provided that
|
|
|
|
the above copyright notice appear in all copies and that both that
|
|
|
|
copyright notice and this permission notice appear in supporting
|
|
|
|
documentation.
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
KDEVELOP TEAM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
|
|
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
2016-04-07 10:36:59 +02:00
|
|
|
### Open Source tool for generating C++ code that classifies keywords (license MIT)
|
|
|
|
|
|
|
|
Roberto Raggi <roberto.raggi@gmail.com>
|
|
|
|
|
|
|
|
QtCreator/src/tools/3rdparty/cplusplus-keywordgen
|
|
|
|
|
|
|
|
Copyright (c) 2007 Roberto Raggi <roberto.raggi@gmail.com>
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
|
|
this software and associated documentation files (the "Software"), to deal in
|
|
|
|
the Software without restriction, including without limitation the rights to
|
|
|
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
|
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
|
|
subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
|
|
copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
|
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
|
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
2011-03-18 17:50:31 +01:00
|
|
|
|
2016-03-11 16:04:15 +01:00
|
|
|
### SQLite, in-process library that implements a SQL database engine
|
|
|
|
|
|
|
|
SQLite (https://www.sqlite.org) is in the Public Domain.
|
2011-03-18 17:50:31 +01:00
|
|
|
|
2015-03-10 08:27:53 +01:00
|
|
|
### ClassView and ImageViewer plugins
|
2011-03-18 17:50:31 +01:00
|
|
|
|
2016-01-15 14:47:40 +01:00
|
|
|
Copyright (C) 2016 The Qt Company Ltd.
|
2011-03-18 17:50:31 +01:00
|
|
|
|
|
|
|
All rights reserved.
|
2016-01-15 14:47:40 +01:00
|
|
|
Copyright (C) 2016 Denis Mingulov.
|
2011-03-18 17:50:31 +01:00
|
|
|
|
2014-10-01 13:21:18 +02:00
|
|
|
Contact: http://www.qt.io
|
2011-03-18 17:50:31 +01:00
|
|
|
|
|
|
|
This file is part of Qt Creator.
|
|
|
|
|
|
|
|
You may use this file under the terms of the BSD license as follows:
|
|
|
|
|
|
|
|
"Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions are
|
|
|
|
met:
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer in
|
|
|
|
the documentation and/or other materials provided with the
|
|
|
|
distribution.
|
2015-01-14 18:07:15 +01:00
|
|
|
* Neither the name of The Qt Company Ltd and its Subsidiary(-ies) nor
|
2011-03-18 17:50:31 +01:00
|
|
|
the names of its contributors may be used to endorse or promote
|
|
|
|
products derived from this software without specific prior written
|
|
|
|
permission.
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
|
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
|
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
2016-07-18 14:24:34 +02:00
|
|
|
|
|
|
|
### Source Code Pro font
|
|
|
|
|
|
|
|
Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/),
|
|
|
|
with Reserved Font Name 'Source'. All Rights Reserved. Source is a
|
|
|
|
trademark of Adobe Systems Incorporated in the United States
|
|
|
|
and/or other countries.
|
|
|
|
|
|
|
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
|
|
|
|
|
|
The font and license files can be found in QtCreator/src/libs/3rdparty/fonts.
|
2019-08-29 11:45:45 +02:00
|
|
|
|
|
|
|
### JSON Library by Niels Lohmann
|
|
|
|
|
|
|
|
Used by the Chrome Trace Format Visualizer plugin instead of QJson
|
|
|
|
because of QJson's current hard limit of 128 Mb object size and
|
|
|
|
trace files often being much larger.
|
|
|
|
|
|
|
|
The sources can be found in `QtCreator/src/libs/3rdparty/json`.
|
|
|
|
|
|
|
|
The class is licensed under the MIT License:
|
|
|
|
|
|
|
|
Copyright © 2013-2019 Niels Lohmann
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
|
|
copy of this software and associated documentation files (the “Software”), to
|
|
|
|
deal in the Software without restriction, including without limitation the
|
|
|
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is furnished
|
|
|
|
to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included
|
|
|
|
in all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
|
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
|
SOFTWARE.
|
|
|
|
|
|
|
|
The class contains the UTF-8 Decoder from Bjoern Hoehrmann which is
|
|
|
|
licensed under the MIT License (see above). Copyright © 2008-2009 Björn
|
|
|
|
Hoehrmann bjoern@hoehrmann.de
|
|
|
|
|
|
|
|
The class contains a slightly modified version of the Grisu2 algorithm
|
|
|
|
from Florian Loitsch which is licensed under the MIT License (see above).
|
|
|
|
Copyright © 2009 Florian Loitsch
|
2020-09-10 16:40:22 +02:00
|
|
|
|
|
|
|
### litehtml
|
|
|
|
|
|
|
|
The litehtml HTML/CSS rendering engine is used as a help viewer backend
|
|
|
|
to display help files.
|
|
|
|
|
|
|
|
The sources can be found in:
|
|
|
|
* QtCreator/src/plugins/help/qlitehtml
|
|
|
|
* https://github.com/litehtml
|
|
|
|
|
|
|
|
Copyright (c) 2013, Yuri Kobets (tordex)
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions are met:
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer in the
|
|
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
* Neither the name of the <organization> nor the
|
|
|
|
names of its contributors may be used to endorse or promote products
|
|
|
|
derived from this software without specific prior written permission.
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
|
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
|
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
|
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
### gumbo
|
|
|
|
|
|
|
|
The litehtml HTML/CSS rendering engine uses the gumbo parser.
|
|
|
|
|
|
|
|
Copyright 2010, 2011 Google
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
|
|
|
|
### gumbo/utf8.c
|
|
|
|
|
|
|
|
The litehtml HTML/CSS rendering engine uses gumbo/utf8.c parser.
|
|
|
|
|
|
|
|
Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de>
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|