...
 
Commits (5903)

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------
*~
*.autosave
!core/
*.*#
*.a
*.app
*.autosave
*.core
*.debug
*.embed.manifest
*.moc
*.o
*.obj
*.orig
*.prl
*.qm
*.rc
*.rej
*.res
*.so
*.so.*
*_pch.h.cpp
*_resource.rc
*.qm
*_wrapper.bat
*_wrapper.sh
*~
.#*
*.*#
core
!core/
tags
.DS_Store
*.debug
/.qmake.cache
/.qmake.stash
/.clang-format
Makefile*
*.prl
*.app
Thumbs.db
core
moc_*.cpp
ui_*.h
qrc_*.cpp
Thumbs.db
*.res
*.rc
*.embed.manifest
/.qmake.cache
/.qmake.stash
*_wrapper.sh
*_wrapper.bat
wrapper.sh
tags
ui_*.h
wrapper.bat
wrapper.sh
# qtcreator generated files
*.pro.user*
*.creator.user*
*.pro.user*
*.pyqtc.user*
*.qbs.user*
*.qmlproject.user*
*.pyqtc.user*
/src/plugins/**/*.json
/share/qtcreator/externaltools
/share/qtcreator/fonts/
/share/qtcreator/generic-highlighter/
/src/app/Info.plist
app_version.h
/src/plugins/**/*.json
/src/plugins/coreplugin/ide_version.h
/share/qtcreator/externaltools
/src/libs/qt-breakpad/bin
app_version.h
phony.c
# xemacs temporary files
......@@ -62,21 +66,21 @@ phony.c
*.ib_pdb_index
*.idb
*.ilk
*.ncb
*.opensdf
*.pdb
*.sdf
*.sln
*.suo
*.vcproj
*vcproj.*.*.user
*.ncb
*.sdf
*.opensdf
*.vcxproj
*vcproj.*.*.user
*vcxproj.*
# gcov files
*.gcov
*.gcda
*.gcno
*.gcov
# MinGW generated files
*.Debug
......@@ -89,30 +93,35 @@ phony.c
/share/qtcreator/translations/*_tr.h
/share/qtcreator/translations/qtcreator_untranslated.ts
# Qml caching files
*.jsc
*.qmlc
# Directories to ignore
# ---------------------
debug/
release/
/lib/
/lib64/
.moc/
.obj/
.pch/
.rcc/
.uic/
/*-debug/
/*-release/
/doc/html/
/doc/html-dev/
/doc/api/html/
/doc/pluginhowto/html/
/dist/gdb/*.gz
/dist/gdb/python/
/dist/gdb/qtcreator-*/
/dist/gdb/source/
/dist/gdb/staging/
/dist/gdb/*.gz
.moc/
.obj/
.pch/
.rcc/
.uic/
/doc/qbs/
/doc/qtcreator/
/doc/qtcreator-dev/
/doc/pluginhowto/html/
/lib/
/lib64/
/libexec/
debug/
ipch/
release/
tmp/
# ignore both a directory as well as a symlink
/share/qtcreator/QtProject
......@@ -126,11 +135,12 @@ tmp/
/bin/cpaster
/bin/cplusplus-ast2png
/bin/cplusplus-frontend
/bin/cplusplus-keywordgen
/bin/cplusplus-mkvisitor
/bin/cplusplus-update-frontend
/bin/qbs*
/bin/qmlpuppet
/bin/qml2puppet
/bin/qmlpuppet
/bin/qtcreator
/bin/qtcreator_crash_handler
/bin/qtcreator_ctrlc_stub
......@@ -139,31 +149,33 @@ tmp/
/bin/sdktool
/share/doc/qtcreator/*.qch
/share/qtcreator/qbs/
/src/tools/qml/qmldump/qmldump
/src/tools/examplesscanner/examplesscanner
/src/tools/qml/qmldump/qmldump
/src/tools/valgrindfake/valgrind-fake
# Tests
#------
/tests/manual/qml-ast2dot/qml-ast2dot
/tests/manual/debugger/simple/libsimple_test_plugin.*dylib
/tests/manual/debugger/simple/simple_test_app
/tests/manual/preprocessor/pp
/tests/auto/aggregation/tst_aggregation
/tests/auto/algorithm/tst_algorithm
/tests/auto/changeset/tst_changeset
/tests/auto/clangstaticanalyzer/clangstaticanalyzerlogfilereader/tst_clangstaticanalyzerlogfilereader
/tests/auto/clangstaticanalyzer/clangstaticanalyzerrunner/tst_clangstaticanalyzerrunnertest
/tests/auto/cplusplus/ast/tst_ast
/tests/auto/cplusplus/c99/tst_c99
/tests/auto/cplusplus/checksymbols/tst_checksymbols
/tests/auto/cplusplus/codeformatter/tst_codeformatter
/tests/auto/cplusplus/codegen/tst_codegen
/tests/auto/cplusplus/cxx11/tst_cxx11
/tests/auto/cplusplus/cppselectionchanger/tst_cppselectionchanger
/tests/auto/cplusplus/cxx11/tst_c99
/tests/auto/cplusplus/lexer/tst_lexer
/tests/auto/cplusplus/misc/tst_misc
/tests/auto/cplusplus/simplifytypes/tst_simplifytypes
/tests/auto/cplusplus/ast/tst_ast
/tests/auto/cplusplus/codeformatter/tst_codeformatter
/tests/auto/cplusplus/cxx11/tst_cxx11
/tests/auto/cplusplus/fileiterationorder/tst_fileiterationorder
/tests/auto/cplusplus/findusages/tst_findusages
/tests/auto/cplusplus/lexer/tst_lexer
/tests/auto/cplusplus/lookup/tst_lookup
/tests/auto/cplusplus/misc/tst_misc
/tests/auto/cplusplus/preprocessor/tst_preprocessor
/tests/auto/cplusplus/semantic/tst_semantic
/tests/auto/cplusplus/simplifytypes/tst_simplifytypes
/tests/auto/cplusplus/translationunit/tst_translationunit
/tests/auto/cplusplus/typeprettyprinter/tst_typeprettyprinter
/tests/auto/debugger/qt_tst_dumpers_*
......@@ -182,14 +194,19 @@ tmp/
/tests/auto/externaltool/tst_externaltool
/tests/auto/fakevim/tst_fakevim
/tests/auto/filesearch/tst_filesearch
/tests/auto/flamegraph/tst_flamegraph
/tests/auto/generichighlighter/highlighterengine/tst_highlighterengine
/tests/auto/generichighlighter/specificrules/tst_specificrules
/tests/auto/ioutils/tst_ioutils
/tests/auto/json/tst_json
/tests/auto/mapreduce/tst_mapreduce
/tests/auto/profilewriter/tst_profilewriter
/tests/auto/qml/codemodel/check/tst_codemodel_check
/tests/auto/qml/codemodel/dependencies/tst_dependencies
/tests/auto/qml/codemodel/importscheck/tst_qml_imports_check
/tests/auto/qml/persistenttrie/tst_trie_check
/tests/auto/qml/qmldesigner/bauhaustests/tst_bauhaus
/tests/auto/qml/qmldesigner/coretests/tst_coretests
/tests/auto/qml/qmldesigner/coretests/tst_qmldesigner_core
/tests/auto/qml/qmldesigner/propertyeditortests/tst_propertyeditor
/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter
......@@ -198,11 +215,26 @@ tmp/
/tests/auto/qml/qrcparser/tst_qrcparser
/tests/auto/qml/reformatter/tst_reformatter
/tests/auto/qtcprocess/tst_qtcprocess
/tests/auto/runextensions/tst_runextensions
/tests/auto/sdktool/tst_sdktool
/tests/auto/timeline/timelineabstractrenderer/tst_timelineabstractrenderer
/tests/auto/timeline/timelineitemsrenderpass/tst_timelineitemsrenderpass
/tests/auto/timeline/timelinemodel/tst_timelinemodel
/tests/auto/timeline/timelinemodelaggregator/tst_timelinemodelaggregator
/tests/auto/timeline/timelinenotesmodel/tst_timelinenotesmodel
/tests/auto/timeline/timelinenotesrenderpass/tst_timelinenotesrenderpass
/tests/auto/timeline/timelineoverviewrenderer/tst_timelineoverviewrenderer
/tests/auto/timeline/timelinerenderer/tst_timelinerenderer
/tests/auto/timeline/timelinerenderpass/tst_timelinerenderpass
/tests/auto/timeline/timelinerenderstate/tst_timelinerenderstate
/tests/auto/timeline/timelineselectionrenderpass/tst_timelineselectionrenderpass
/tests/auto/timeline/timelinezoomcontrol/tst_timelinezoomcontrol
/tests/auto/treeviewfind/tst_treeviewfind
/tests/auto/utils/ansiescapecodehandler/tst_ansiescapecodehandler
/tests/auto/utils/fileutils/tst_fileutils
/tests/auto/utils/stringutils/tst_stringutils
/tests/auto/utils/templateengine/tst_templateengine
/tests/auto/utils_stringutils/tst_utils_stringutils
/tests/auto/utils/treemodel/tst_treemodel
/tests/auto/valgrind/callgrind/tst_callgrindparsertests
/tests/auto/valgrind/memcheck/modeldemo
/tests/auto/valgrind/memcheck/testapps/free1/free1
......@@ -221,9 +253,15 @@ tmp/
/tests/auto/valgrind/memcheck/tst_testrunner
/tests/manual/debugger/gui/gui
/tests/manual/debugger/helper/helper
/tests/manual/debugger/simple/libsimple_test_plugin.*dylib
/tests/manual/debugger/simple/simple_test_app
/tests/manual/fakevim/tst_fakevim
/tests/manual/pluginview/tst_plugindialog
/tests/manual/preprocessor/pp
/tests/manual/process/process
/tests/manual/proparser/testreader
/tests/manual/qml-ast2dot/qml-ast2dot
/tests/manual/shootout/shootout
/tests/manual/ssh/errorhandling/errorhandling
/tests/manual/ssh/remoteprocess/remoteprocess
/tests/manual/ssh/sftp/sftp
......@@ -231,23 +269,8 @@ tmp/
/tests/manual/ssh/shell/shell
/tests/manual/ssh/tunnel/tunnel
/tests/tools/qml-ast2dot/qml-ast2dot
/tests/valgrind/memcheck/modeldemo
/tests/valgrind/memcheck/parsertests
/tests/valgrind/memcheck/testapps/free1/free1
/tests/valgrind/memcheck/testapps/free2/free2
/tests/valgrind/memcheck/testapps/invalidjump/invalidjump
/tests/valgrind/memcheck/testapps/leak1/leak1
/tests/valgrind/memcheck/testapps/leak2/leak2
/tests/valgrind/memcheck/testapps/leak3/leak3
/tests/valgrind/memcheck/testapps/leak4/leak4
/tests/valgrind/memcheck/testapps/overlap/overlap
/tests/valgrind/memcheck/testapps/syscall/syscall
/tests/valgrind/memcheck/testapps/uninit1/uninit1
/tests/valgrind/memcheck/testapps/uninit2/uninit2
/tests/valgrind/memcheck/testapps/uninit3/uninit3
/tests/valgrind/memcheck/testrunner
/tests/valgrind/callgrind/callgrindparsertests
/tests/valgrind/callgrind/modeltest
/tests/unit/echoserver/echo
/tests/unit/unittest/unittest
# qbs builds
/*-debug/
......
CONFIG += c++11
......@@ -6,24 +6,26 @@ Qt Creator is a cross-platform IDE for development with the Qt framework.
The standalone binary packages support the following platforms:
Windows 7 or later
(K)Ubuntu Linux 14.04 (64-bit) or later
macOS 10.8 or later
Building the sources requires Qt 5.5.0 or later.
* Windows 7 or later
* (K)Ubuntu Linux 16.04 (64-bit) or later
* macOS 10.10 or later
## Compiling Qt Creator
Prerequisites:
* Qt 5.5.0 or later
* Qt 5.6.2 or later
* Qt WebEngine module for QtWebEngine based help viewer
* On Windows:
* ActiveState Active Perl
* MinGW with g++ 4.7 or Visual Studio 2013 Update 2 or later
* MinGW with g++ 4.9 or Visual Studio 2015 or later
* jom
* On Mac OS X: latest Xcode
* On Linux: g++ 4.7 or later
* LLVM 3.8.0 or later (optional, needed for the Clang Code Model)
* On Linux: g++ 4.9 or later
* LLVM/Clang 3.9.0 or later (optional, needed for the Clang Code Model, see the
section "Get LLVM/Clang for the Clang Code Model")
* CMake (only for manual builds of LLVM/Clang)
* Qbs 1.7.x (optional, sources also contain Qbs itself)
The installed toolchains have to match the one Qt was compiled with.
......@@ -31,6 +33,8 @@ You can build Qt Creator with
# Optional, needed for the Clang Code Model:
export LLVM_INSTALL_DIR=/path/to/llvm (or "set" on Windows)
# Optional, needed to let the QbsProjectManager plugin use system Qbs:
export QBS_INSTALL_DIR=/path/to/qbs
cd $SOURCE_DIRECTORY
qmake -r
......@@ -45,7 +49,7 @@ Installation ("make install") is not needed. It is however possible, using
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
SDK (release builds of Qt using MinGW and Visual C++ 2013 or later).
SDK (release builds of Qt using MinGW and Visual C++ 2015 or later).
For detailed information on the supported compilers, see
<https://wiki.qt.io/Building_Qt_5_from_Git> .
......@@ -53,7 +57,7 @@ For detailed information on the supported compilers, see
plan to contribute to Qt Creator, you should compile your changes with
both compilers.
2. Install msysGit from <https://msysgit.github.io/>. If you plan to
2. Install Git for Windows from <https://git-for-windows.github.io/>. If you plan to
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.
......@@ -62,7 +66,7 @@ For detailed information on the supported compilers, see
for example, `c:\work`. If you plan to use MinGW and Microsoft Visual
Studio simultaneously or mix different Qt versions, we recommend
creating a directory structure which reflects that. For example:
`C:\work\qt5.5.1-vs12, C:\work\qt5.5.1-mingw`.
`C:\work\qt5.6.0-vs12, C:\work\qt5.6.0-mingw`.
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
......@@ -103,7 +107,7 @@ For detailed information on the supported compilers, see
environment for the compiler (provided by the Windows SDK or the
compiler):
CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64
CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
set PATH=<path_to_qt>\[qtbase\]bin;<working_directory>\creator\bin;%PATH%
set QMAKESPEC=win32-msvc2013
......@@ -120,11 +124,16 @@ For detailed information on the supported compilers, see
command...` error. If a `sh.exe` is found, the compile process will fail.
You have to remove it from the path.
10. To enable the Clang-based code model: Install Clang (>= version 3.8.0)
and set the environment variable LLVM_INSTALL_DIR to point to the
installation location.
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
installation directory.
* When you launch Qt Creator, activate the Clang Code Model plugin as
described in doc/src/editors/creator-clang-codemodel.qdoc.
11. You are now ready to configure and build Qt and Qt Creator.
11. You are now ready to configure and build Qt and Qt Creator.
Please see <https://wiki.qt.io/Building_Qt_5_from_Git> for
recommended configure-options for Qt 5.
To use MinGW, open the the shell prompt and enter:
......@@ -191,11 +200,95 @@ 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.
## Get LLVM/Clang for the Clang Code Model
The Clang Code Model depends on the LLVM/Clang libraries. The currently
supported LLVM/Clang version is 3.9.
### 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
shipped together with Qt Creator. In addition, the 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.
If you use GCC 5 or higher on Linux, please do not use our LLVM package, but get
the package for your distribution. Our LLVM package is compiled with GCC 4, so
you get linking errors, because GCC 5 is using a C++ 11 conforming string
implementation, which is not used by GCC 4. To sum it up, do not mix GCC 5 and
GCC 4 binaries. On Ubuntu, you can download the package from
http://apt.llvm.org/ with:
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/`lsb_release -cs`/ llvm-toolchain-`lsb_release -cs`-3.9 main"
sudo apt-get update
sudo apt-get install llvm-3.9 libclang-3.9-dev
There is a workaround to set _GLIBCXX_USE_CXX11_ABI to 1 or 0, but we recommend
to download the package from http://apt.llvm.org/.
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html
### 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:
1. Clone LLVM and switch to a suitable branch
git clone https://git.llvm.org/git/llvm.git/
cd llvm
git checkout release_39
2. Clone Clang into llvm/tools/clang and switch to a suitable branch
cd tools
git clone https://git.llvm.org/git/clang.git/
cd clang
git checkout release_39
3. Build and install LLVM/Clang
cd ../../..
mkdir build
cd build
For Linux/macOS:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<installation location> -DLLVM_ENABLE_RTTI=ON ../llvm
make install
For Windows:
cmake -G "NMake Makefiles JOM" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<installation location> -DLLVM_ENABLE_RTTI=ON ..\llvm
jom install
## Third-party Components
Qt Creator includes the following third-party components,
we thank the authors who made this possible:
### 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)