Before it was tested if the C++ compiler would be GCC. It was not
testing if the compiler would be C++.
Fixes: QTCREATORBUG-32583
Change-Id: I2ca3614dc4a429bc594fade81b86cedceb2ef98c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reading concept errors is sometimes quite hard because they say that the
constraint was failing but not why. With a deeper diagnostic stack, it
is easier to understand why it was failing.
Change-Id: I863a23457bea390f50f9c458b5e82a24e17a26ea
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This means the libdir is always "lib", which is incorrect, but too
scary to change in the 15.0 branch. Let's work on a proper fix in master.
CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:253 (message):
Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
target architecture is known. Please enable at least one language before
including GNUInstallDirs.
Call Stack (most recent call first):
cmake/QtCreatorAPIInternal.cmake:81 (include)
cmake/QtCreatorAPI.cmake:8 (include)
CMakeLists.txt:21 (include)
Change-Id: I6085e8bac47922bd333e4e4a3b93d7e7aea88b78
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It gives a warning saying that -undefined is deprecated.
Change-Id: I9652b4dab1838d3e6eca9f719efbb18ffccf7a89
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The code had a workaround for CMake versions older than 3.12.
CMake starting with version 3.12 treats OBJECT libraries like other
library types when using target_link_libraries.
Change-Id: I422fa78a53cf97c6ec6481a876f901a56bf54e05
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
And remove some version checks.
Qt 6.8 is released and Qt 6.5 and 6.8 are LTS.
This enables us to use some newer APIs like Qt::ColorScheme.
Change-Id: Ibdeeb933bb8e9fa2d1a02fba3e3f0b868747e763
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
add QWidget include in src/plugins/qmldesigner/libs/designercore/model/model.cpp
prepare src/plugins/lua/CMakeLists.txt if lua plugin is not built
Necessary change in:
src/plugins/qmldesigner/components/toolbar/messagemodel.h
Because Utils::Id is a friend of qHash now, QtCreator API
removed uniqueIdentifier().
std::unordered_map<quintptr, ProjectExplorer::TaskCategory>
->
QHash<Utils::Id, ProjectExplorer::TaskCategory> m_categories = {};
other resolved Conflicts were in:
cmake/QtCreatorAPI.cmake
cmake/QtCreatorAPIInternal.cmake
share/qtcreator/qmldesigner/studio_templates/projects/shared-plugin/name/DirectoryFontLoader.qml.tpl
share/qtcreator/templates/wizards/projects/qtquickapplication/wizard.json
src/plugins/effectcomposer/effectcomposerview.cpp
src/plugins/effectcomposer/effectcomposerwidget.cpp
src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp
src/plugins/qmldesigner/components/edit3d/edit3dview.cpp
src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp
src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
src/plugins/qmldesigner/designmodecontext.cpp
src/plugins/qmldesigner/designmodewidget.cpp
src/plugins/qmldesigner/qmldesignerplugin.cpp
src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp
src/plugins/qmlprojectmanager/qmlprojectmanager.qbs
src/plugins/studiowelcome/examplecheckout.h
Change-Id: Ia6c204460baf4de886e45666d859ca048d578bcb
Instead of PUBLIC_DEPENDS, our build system would keep record and track
recursive plugin dependencies manually, by attaching a custom property
to the targets that reference the targets it depends on. Then it used
DEPENDS to add all these recursive dependencies.
Get rid of this custom reimplementation of PUBLIC_DEPENDS and just use
that instead. This needs a fix that we should not separately export the
licensechecker plugin when doing a super-repository build. Otherwise
external plugins configured with the result cannot find the licensechecker
target, which is referenced by the vxworks target that is exported
together with the QtCreatorConfig.
Change-Id: I1444a0b16e5519f5310f9c0ffdfc49481ac228a4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
They refer to targets with the QtCreator:: prefix, but the dependency
information that we add as a custom property does not have that. So we
need to add the prefix if needed.
Change-Id: Ib202865a56f6530b8ae5973f635a81f53fcb4219
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
That we add to plugin targets, so these are also available when building
external plugins. Helps for e.g. recursive PLUGIN_DEPENDS.
Change-Id: I89b10a58a9aa3ceb720c0dff4b76564d1cb06ca3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
We want to use the libraries in different projects where the plugins
are not present.
Change-Id: I51382ac7cfcf06871ac99a6b53b84840ca39bf00
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This reverts commit f5bb913c9d.
Reason for revert: This breaks snapshots build for the license plugin
Change-Id: I52a9f0b40081d648de68a5bdc3d9b3962e19061a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
We want to use the libraries in different projects where the plugins
are not present.
Change-Id: Ia3b183dcf57c7c63c75a17e9d5e3c3ef672e668e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Qt 6.8 has apparently changed from a *BEFORE to an *UP_TO naming scheme
in 816071d44012. As we need also pre-6.8 builds we better have both.
After talking the change's author it seems to be ok to use the same
numbers.
Change-Id: I451dc9ac9c842405f5f36a04079b4284a42a2378
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It offers an clean interface to disable warnings
Change-Id: Ia19360994d7ca439d067d2370d001d5aeae3999d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
That is silencing warnings in Qt and GoogleTest headers .
Change-Id: Ia6fda019c271788fbb341a8de0cf6d7b757f38bf
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Set the minimum required Windows version not only for PCH builds, but
also for builds without precompiled headers. While there also increase
the minimum required Windows version: Qt 6 already requires Windows 10.
Therefore its safe to require the same API level for Qt Creator.
Fixes: QTCREATORBUG-30189
Change-Id: Icbbc63657e3c64be1151dda06004234d56e33990
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
llvm-link is faster on macOS than ld64. llvm-link can also be used with
MinGW GCC's ld which is very slow in debug mode.
Change-Id: Ie519f3111e05cfc7dffab2676108a0d53ebe08b2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Adding SYSTEM_INCLUDE for which you get no warnings. Fix
PUBLIC_SYSTEM_INCLUDE to work for all cases where PUBLIC_INLCUDES works.
Change-Id: I7059c2879004743c13c368220596081dd054407a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
System includes are silencing warnings.
Change-Id: I7d7954e01a28f94aa5983cfc44eba976d97b0311
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
The `env_with_default` function is part of Utils.cmake, which would need
to be deployed. But it can't be part of QtCreatorAPIInternal.cmake due
to its usage before the inclusion of QtCreatorAPIInternal.cmake in the
main QtCreator CMakeLists.txt file.
A sepparate function needs to do the task.
Amends 1036c776f5
Change-Id: I95344dd98c5fa0258303ed8d02855584a1945144
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This was required for older MinGW toolchains.
Change-Id: I89e048adf01fa2b04c52715f71bf266cbd65c44e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Otherwise, the extension system will unnecessarily try to load them at
start-up.
Change-Id: I7a932904835cb387e3cf10924ca79a58e5f92b33
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This way the check if the target is enabled and the condition is met
doesn't have to be done manually.
Change-Id: If490a84fd5f1ede2d032c3800f69ede4f755bc2c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
No longer needed, since we generally only support building with
Qt 6 nowadays, and the parts that still do support building with
Qt 5 handle that manually.
Change-Id: I72381589ca3ab7bf1af88d9f185cad7f0cdf149c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Since we do not support Qt < 5.15 anymore, and as a first step
for getting rid of our special FindQt5.cmake.
Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Instead of silenty failing and resulting in broken builds/packages.
The property is only available since CMake 3.19, so limit the feature to
that.
Change-Id: I82b06e78540e81a809f7fdfe130648becfc9672e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Adding qtc_enable_sanitize to add_qtc_executable to also instrument applications
Changing qtc_enable_sanitize to use target_compile_options instead of trying
to modify CMAKE_CXX_FLAGS_DEBUG and hoping that nobody else overwrites it,
which previously erased the added flags.
Adds support for MSVC /fsanitize
Change-Id: Ida80cfd7ef7ea91b2d6473fdc047cb7132cdfec6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
For now just run them without failing the precheck on failing tests.
The test results are only visible in the precheck details
on testresults.qt.io
Remove the fixed timeout of 5 seconds, since this depends on the test
setup where the tests are run, and it is not possible to override a
fixed timeout with the --timeout option of ctest.
Change-Id: Ib5f12092b64d0cf87e1213b031e1990973e18669
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
get_property fails if the target does not exist, and _dep stays at some
old value.
This leads to a) a lot of cmake backtraces with an error message that
doesn't add anything useful, and b) an endless loop in
find_dependent_plugins. Which in the end leads to 500.000 lines of
useless CMake output, repeating
"qtcreator/cmake/QtCreatorAPIInternal.cmake:340 (find_dependent_plugins)"
Skip get_property if the target doesn't exist.
Change-Id: Ic694bc05b3dce5b83220a2f5dab8f063ef692c12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This adds the build system feature that allows Qt Creator's libraries
and plugins to be compiled statically.
Fixes some symbol clashes when all plugins are linked into the same
executable.
Support for actually loading static plugins will be added in a separate
commit.
The feature is controlled by QTC_STATIC_BUILD which by default is OFF.
Change-Id: I1fab7953c43e42dc75619e35660029ee067106df
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Amends 46f6c5d005
Simply disable this safe-guard for < 3.18.
Change-Id: I0ae3b7520a913861c8c9f97ec7e01e5c9c00d362
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The ELF default is historical legacy. We should always require all
libraries and all plugins to link to their dependencies and not
accidentally forget something (like implementing a virtual function).
Change-Id: I5e00996d7f4b4a10bc98fffd1629f8bfcf0d1c8f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@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>
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>
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>
Even in the debug build, as done for the qmake build system. This is for
performance optimization of this critical part for C++ parsing even in
debug / developer builds.
Change-Id: I9552ba9fc44e213f2df1d2d2a64a126af3603fd1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>