MSVC incorrectly warns when using a static method in a lambda that
has non-static overloads, and not capturing 'this' in the lambda.
That wouldn't be a big issue if other compilers wouldn't then
warn about 'this' being captured and not used.
Simply disable the warning.
Change-Id: I40b96c4758f7468c1e6f3577119123e0c7abf241
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
This fixes two issues:
1. the QT_FEATURE_static_runtime feature of a static build of Qt
2. the static sqlite sql driver bundled with a static build of Qt
Change-Id: Ia245ee3d8f7205c536c9fa77a4ba53ef066f968c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The functionality comes from Qt6 and will be enabled only for Qt6 builds.
/w3 level for MSVC, -Wall -Wextra for the rest of compilers.
Change-Id: Ib62a27e50ce37a6a860ba2bfa1bdb80a7ae60ace
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This warning is enabled with -Wextra, but incomplete aggregate
initialization is quite common in modern C++ due to direct member
initialization, and we make use of that in Creator in several places.
Change-Id: I585dd70e7c5c52e4549f1c5e3b8d16cc40b260ce
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
CMake 3.16 is available on the major Linux distributions nowadays,
so we can get rid of some workarounds.
Change-Id: I32500375748f33c3e40fbd7a08824d823f817a8f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Removes qmake as a build system for building Qt Creator itself.
Keep them for some tests that are not completely moved to CMake yet.
Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This was needed in the early days of the CMake port when the list of
source files would change due to being added to the qmake project
files.
Change-Id: I7afd219b24ab7a0d87fce26ba35dac75cf8caa5b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
On Windows QtCreatorAPIInternal.cmake would contain a check for
BUILD_WITH_PCH and if not set add a few defines to the DEFAULT_DEFINES.
First time the BUILD_WITH_PCH would not be set, because the option
will be set later, the DEFAULT_DEFINES will contain the specific non-pch
defines.
The second time BUILD_WITH_PCH would be ON and those non-pch
specific DEFAULT_DEFINES will be removed, and the build system has
to do a full rebuild because the defines changed.
Change-Id: I3f039a91667affc35f18103cfed062481f9dc93e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The named option is BUILD_LINK_WITH_QT, which when set to ON will
generate the QtCreator.ini file needed for Qt Creator to find the
installed Qt.
Change-Id: If3a47a463510fbfc90a314829378c6c4e505d2f7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
In order to enable tools like qmllint and in order to avoid the
following warning, define QT_QML_OUTPUT_DIRECTORY
Warning message:
The Tracing target is a QML module with target path QtCreator/FooBar.
It uses an OUTPUT_DIRECTORY of foobar, which should end in the same
target path, but doesn't. Tooling such as qmllint may not work
correctly.
Since this change is relevant for the build against Qt 6.2-Beta4,
common_environment.yaml gets bumped, accordingly.
Change-Id: Ic6766cf29baddd7c22b68270a0f1702aade7c53f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The issues have been fixed in the meantime
Fixes: QTCREATORBUG-25950
Change-Id: I22cf765acd3008a5b216a9e6afe5854589c7b515
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
- Add oars content rating to appdata xml
- Add screenshots to appdata xml
- Add release info
Change-Id: I61bf023814149983f7a64e03f49eb8d998dac85b
Reviewed-by: Youri Westerman <tetracon@gmail.com>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
sccache does not support the "/Zi /FS" option for debug information
with MSVC. Optionally replace "/Zi" by "/Z7", which leaves debug
information in the object files and only collects it at link time.
See also qtbase 2354274f39934b94383923834479901106489def.
Change-Id: Id94c2116f3c4192556dbdf8fe82b12ce0a204273
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
On Linux (and Windows) we should not create toplevel files (README.md
etc) or directories (doc/, scripts/ etc).
On macOS, move the whole Devel package contents into the app bundle,
because that is installed toplevel in the Qt installers, and we
shouldn't even create include/, lib/ or any other directory at the
toplevel at all.
Since the prefix path must now point to the Resources folder inside the
app bundle, adapt build_plugin.py to also accept --qtc-path pointing to
the app bundle (Qt Creator.app) itself, and also to the app bundles
parent directory. Adapt the Qt Creator plugin project template
similarly.
Task-number: QTCREATORBUG-25414
Fixes: QTCREATORBUG-25415
Change-Id: Ic756237fb920b54b1ec95d076649ad947b39a7e8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
FakeVim does not compile on MSVC because Qt 6 doesn't like
meta types that are recursive maps with keys that have a custom
operator==.
Building with PCH has different issues on macOS and MSVC.
Change-Id: Id1b9580f7347f1c8facade67fd74532a023af41f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This adds at least partial, transitional support for building
3rdparty plugins with qmake against Qt Creator built with CMake.
This might still miss some other .pri files that follow
their own naming conventions.
Fixes: QTCREATORBUG-24055
Fixes: QTCREATORBUG-25334
Change-Id: I83cc547da938976c2ec12a21a17f286b937147f7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Makes it possible to point CMake to crashpad via CMAKE_PREFIX_PATH
if it was built to <crashpad>/out/Default, or by setting individual
CRASHPAD_* variables to the sources and build results.
Change-Id: I9634fe7ab8c1e14b7e0f3ccf3415396c8dc1e71a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Enable/disable our own KSyntaxHighlighting by default
depending on the availability of KF5SyntaxHighlighting.
If that is available, it still is possible to turn the building
and using of our own KSyntaxHighlighting copy on by enabling
BUILD_LIBRARY_KSYNTAXHIGHLIGHTING.
Fixes: QTCREATORBUG-25076
Change-Id: I3545fc12d87572d7eb6f5977994b081ff7ea3880
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
We don't use it for packaging, nor for github anymore, it duplicates a
whole lot of logic, and that only partially (as an example fixing the
RPATH for clang tools on macOS is missing), and the Clang part only
works with CMake >= 3.14 ("file(READ_SYMLINK"), which was the final
trigger of this patch.
Change-Id: I21ff6b01297009eff15bda36963e729dea4927c8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
When changing branding, we need to copy and install that different
branding file instead of the standard one.
Change-Id: I3a2f8391b5e5ed1c4c79b81294ed6221df5e7ddc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
qhelpgenerator moved to a separate package "Tools" which doesn't exist in Qt5.
Task-number: QTCREATORBUG-24098
Change-Id: If7d0d638d6cee27f9154141ca415fb412745d1ee
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
While porting to Qt6 we'll need the compat library at some places.
Add a custom Qt6Core5Compat target that we can unconditionally use.
For Qt5 it refers to a dummy target.
For Qt6 it refers to the actual compat library.
Task-number: QTCREATORBUG-24098
Change-Id: Idd2b9f285352f685cfe715eee3fa046dfb468873
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Create a FindClang.cmake and move all Clang configuration there.
Find Clang and choose static libraries if available, otherwise use
clang-cpp if available.
Add option to link to clang-cpp even if static libraries are available.
Fixes: QTCREATORBUG-23172
Change-Id: If40304d174469df0c786259e724cbee8de0e2d0e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
QTBUG-75867 about missing Qt5::DesignerComponents support has been
fixed, so use that over our own hand-rolled version.
Change-Id: I6d8bb7f7d5359050f20a095adb4a074f143e8d49
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
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>
Was wondering if my current build included tests or not...
Change-Id: I17030455ffd89d6b482e8cc08da3cb3b2dcbbe35
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
To make errors appear faster when developing on Windows
MSVC 2017 and later have this flag to disallow MSVC-specific C++
language extensions. Use it to make code more correct and more portable.
Set this option with add_compile_options() in root CMakeLists.txt to
apply it to all targets.
Add one #include to unittest/gtest-clang-printing.cpp as workaround for
forward template declaration bug in MSVC http://tiny.cc/fa4tpz
Change-Id: Ie0b19701ad773c79ffd2fed24fffbb1dcb29538c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This is due to policy CMP0071 which affects AUTOMOC and
generated files.
With CMP0071 set to OLD (CMake 3.9) precompiled headers
would fail to work with GCC.
GCC and precompiled headers would still require the upcoming
3.18 CMake, but having CMP0071 set to NEW (CMake 3.10) is
a prerequisite.
Change-Id: I7c3c1f739877646a91ffa07e2a8006ab7d6f4d77
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Removes "install_..._docs" and "clean_docs" special targets.
Instead install documentation with "--install . --component qch_docs"
and "--install . --component html_docs" which have the advantage that
the install prefix can be specified later on with --prefix.
Also removes export of IDE_SOURCE_DIR, which is not used.
Change-Id: I4fce0b9aa8c7fc40b7e94e065777ddf4c0b76c41
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
And fix that the "ts_all" target did not get the custom target prefix.
Change-Id: Iff6a5e328456f3d949c31f2e41b48c400fad773c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Passing a URL via defines breaks when trying to "stringify" it.
It would always stop at the first slash.
Instead use a qmake variable directly. That has the additional advantage that
the value isn't passed on each and every compiler command line.
Change-Id: I97a297fbcdee5ea03eb6fa08181c95b1ad2de767
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
https://github.com/<qtcreator-fork>/commits/<sha>
Instead of expecting a "%1" placeholder in the passed-in
IDE_REVISION_URL_STR, we now expect IDE_REVISION_URL_STR to be a plain
URL.
Reason is that passing a string containing "%1" from CMake to the
VersionDialog caused a premature replacement of that placeholder
somewhere on the way.
Also log the CMake configure call in build_cmake.yml
Change-Id: I4c1a946c66f891101576e3556ca87a004cead950
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
- Install will also copy the dependencies.
- Made the dependencies search recursive, not just two steps
- Moved install code to a script, not having to escape quotes and dollars
Change-Id: I6c5fb19e4094e9dcd4b339d5b90be6e7c5055223
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>