Commit Graph

114 Commits

Author SHA1 Message Date
Alessandro Portale
50a214de9e Qbs build system: Add a component for test files groups
Mainly in order to enforce a unified group name across QtC libraries and
plugins.

Change-Id: I6eafe0f9d227ec73d8c9029675866c67063768fb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-21 14:54:08 +00:00
Eike Ziller
b338405477 Require Qt 6.2 for building Qt Creator
Change-Id: I43f7bf123e359b4e312269f645a9d26aeeeb6d7a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2022-07-11 13:36:18 +00:00
Christian Kandeler
9528762855 Disable -Wmissing-field-initializers when building with GCC
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>
2022-02-17 09:33:20 +00:00
Christian Stenger
12c63bbce9 Tests: Fix manual plugin view test
Amends b822b3f9e2.

Change-Id: Ibbed286a8626396319738194f417cedc84332011
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-11 07:49:32 +00:00
Christian Stenger
b822b3f9e2 Tests: Provide qbs files for some manual tests
Change-Id: I6c5c839dc199379edaf4c43ae4d6a0ed6ebdf751
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-02-03 05:27:56 +00:00
Eike Ziller
33f2074272 Bump requirement to Qt 5.15.2
Qt 5.15.2 includes API that makes transitioning to Qt 6 easier.
We currently have workarounds for Qt 5.14 in place that we can
remove when requiring 5.15.2, and we also can stop adding workarounds
for new code.

Change-Id: I920fdccc41d755a6ad39cb5161cd916999fee755
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-17 10:20:32 +00:00
Christian Kandeler
de8c90e9d9 Meson: Fix autotests
Change-Id: I5f690efe9db19ef8ae6f86ed5556b4939bb52a05
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-16 13:26:37 +00:00
Christian Kandeler
f6eba42522 qbs build: Use exportingProduct in Export items
The use of product in Export items is deprecated and will be removed in
one of the next qbs versions.

Change-Id: I2644a69012db4a4b4842066784913f4160d3d80a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-11 11:40:37 +00:00
Christian Kandeler
7cc2b149b1 qbs build: Make ImageViewer build with Qt 6
Change-Id: If934d2df162e043102ba65d9c3de4fb7fc121540
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-10 13:36:34 +00:00
Christian Kandeler
7d4a632cb2 qbs build: Remove code for creating deployment packages
Not a use case anymore, and if it were, we'd do it using built-in
capabilities.

Change-Id: I4c588ad7fb282530880210cb4c5795677074b1e0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-02-17 16:11:49 +00:00
Christian Kandeler
7e5ec83c1b Get qbs build closer to building with Qt 6
Change-Id: Idf96a03db3b3f1aa5af07fb59f261250d7787e61
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-10-26 15:25:10 +00:00
Christian Kandeler
3d718d3dae qbs build: Fix valgrind test failure
Change-Id: I563d9b61e0e281058dac46ed913b3102f70c4d90
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-27 14:25:07 +00:00
Christian Kandeler
e34ff64196 qbs build: Add convenience properties for sanitizers
Change-Id: I8c0908ed482127712c1cf4052d7b792be5ba79ae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-27 13:56:34 +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
Christian Kandeler
f899c49dca qbs build: Add autotest dependency to QtcAutotest
So we can easily mark tests as flaky via build properties.

Change-Id: Ib1ad8e212980c9eb5622534fb9b20ad31128b91e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-06-04 07:19:53 +00:00
Eike Ziller
52b7ec058b Merge remote-tracking branch 'origin/4.12'
Conflicts:
	src/plugins/mcusupport/mcusupportsdk.cpp

Change-Id: I1583fa81adc0218ad4657baa347c08e9e29f88e6
2020-05-15 14:49:11 +02:00
Christian Kandeler
8e1169f4bf qbs build: Take differences between clang and "apple clang" into account
In particular, clang with version number 10 is not really clang 10 on
macOS.

Change-Id: I8be489fa9cffd63c1ea8f13d181686ab1a575ec6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-12 07:31:39 +00:00
Eike Ziller
bf490b62e0 Merge remote-tracking branch 'origin/4.12'
Change-Id: I11936ad9e4515c3c6c9df1d949cc8116aeccd4c4
2020-05-06 09:43:20 +02:00
Christian Kandeler
d08e5c33ff Qbs build: Suppress excessive warnings from Qt with clang 10
We get these thousands of times:
/usr/include/qt/QtCore/qbytearray.h:586: warning: definition of implicit
copy constructor for 'QByteRef' is deprecated because it has a user-
declared copy assignment operator [-Wdeprecated-copy]
    inline QByteRef &operator=(const QByteRef &c)
                     ^

/usr/include/qt/QtCore/5.14.2/QtCore/private/qmetatype_p.h:111: warning:
use of logical '||' with constant operand [-Wconstant-logical-operand]

Change-Id: I5f97f23d9b62ef1cd8d07495c46598d2a34a6d85
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-04 11:57:05 +00:00
Christian Stenger
bf6ecbb042 Update minimum Qt for Qbs builds
Change-Id: I5920b5c1bcdd0f186c9de6c1bb690334a5193051
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-04-02 10:50:42 +00:00
Christian Kandeler
7b2d41a972 qbs build: Suppress some GCC 9 warnings
Otherwise, we get thousands of warnings from Qt, e.g.:
    qvariant.h:275:25: warning: implicitly-declared ‘constexpr QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]

Change-Id: I8b3bbfae6791adca8bcfacc7ad5ab46701474aa4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-02 13:47:56 +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
Christian Kandeler
ffa14187a1 qbs build: Fix regression with qbs 1.13
Don't fall back to pkg-config for non-existing dev headers products, as
that becomes expensive.

Change-Id: Ibf51a93950e04ee061ca16444fbc18349389d74a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-02-04 10:11:30 +00:00
Christian Kandeler
bb15dde8a7 Documentation: Fix qbs build
Amends 1e1c212090 and 54208113ee.

Change-Id: I1f15a118b40513382e4e1d5767781865d4458ce9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-11-14 14:22:24 +00:00
Eike Ziller
428fcb476b Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/libs/utils/settingsaccessor.cpp
	src/plugins/autotest/autotestplugin.cpp
	src/plugins/git/gitclient.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.h

Change-Id: I65f143cad18af509a2621d6c5925abbd038ea70f
2018-04-13 10:54:42 +02:00
Christian Kandeler
d2d5208819 qbs build: Enable the vcs module only for commercial plugins
The other ones are in the Qt Creator source tree and should not get
rebuilt on repo metadata changes, because they do not make use of
QTC_PLUGIN_REVISION.

Change-Id: I216a89de4411948b7ccad65f883d0d8782a283d4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2018-04-04 12:08:40 +00:00
Eike Ziller
c23d2b6e09 Increase requirement for building Qt Creator from Qt 5.6.2 to Qt 5.9
Qt 5.11 will be released and Qt 5.9 is the new LTS.
Increasing the requirement allows us to remove some baggage and
workarounds like Utils::asConst, special Q_OVERRIDE header, and
deployment target adaptions on macOS, and simplifies pulling in
proparser changes from Qt.

Change-Id: I9faf99336d26dd20bd63e6904ae543c0f351aa4d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-03-22 10:01:36 +00:00
Joerg Bornemann
cabbeb1c54 Synchronize autotest defines in qmake and qbs build
Do not remove QT_USE_FAST_OPERATOR_PLUS and QT_USE_FAST_CONCATENATION
in QtcAutotest, but in the two tests that won't build with it.

In the qmake build the defines are not removed from json.pro, because
this file does not include qttest.pri.

Change-Id: I97d173528ca2a02bac1bfae30709a959e6b69375
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-03-19 11:50:38 +00:00
Christian Kandeler
ae20deb3a7 qbs build: Use project-global destination dir for libs and plugins
The autotests' rpath settings expect them there.

Change-Id: I13e3b8fb9a65be16e980b8465ff2e89b9e01ec6b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-02-12 15:34:18 +00:00
Eike Ziller
8921888ce3 Merge remote-tracking branch 'origin/4.5' into 4.6
Conflicts:
	src/shared/qbs

Change-Id: I5314559cbf188e4c339de44052c6e0c89d3c2aa6
2018-01-22 12:46:10 +01:00
Christian Kandeler
a405f2f53d qbs build: Fix minimum Windows version
It's Windows 7, not XP.

Change-Id: I0f058fae0e4af10ddca20967eb51594099ba8569
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-01-19 14:37:05 +00:00
Christian Kandeler
51ddd4bcfd qbs build: Suppress some warnings
Like in the qmake build.

Change-Id: I7dc4a42bf3e4394a4fb6a579646d806f80fa3e96
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-01-19 14:36:44 +00:00
Christian Kandeler
e68418f22e qbs build: Set minimum macOS deployment target unconditionally
The previous construct left the value undefined for Qt < 5.7.

Task-number: QTCREATORBUG-19602
Change-Id: I6e6e5b0d3fb4ec76593c50bb13bad49f83b50dcc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-01-18 08:27:58 +00:00
Christian Kandeler
3c75d3aec1 qbs build: Install debug info alongside binaries
... if separate debug info is enabled.

Change-Id: I15a02b11e7df18719074b9bc503fe2c207f8bf00
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-01-12 10:08:22 +00:00
Christian Kandeler
b98d5822f5 qbs build: Use the proper way to check the Qt version
Doing this via the product condition silently switches the product off
if Qt is too old, which will leave users wondering about the reason.
Instead, use the long-supported version check functionality of the
Depends item, which will result in a clear message in case of a failure.
Also, move the check to QtcProduct. The version requirement is for all
of QtCreator, not just the plugins.

Change-Id: Id445823e0243f5ad3b7a0ccb747a90e4fb18889b
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-11-30 09:34:46 +00:00
Orgad Shaneh
dc8d0f048a Suppress noexcept-type warnings also in qbs build
This amends commit 68589a3fbc.

Change-Id: Idf0e296f7549e8aea7109e0c877e27032b99e9b8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-10-30 10:53:50 +00:00
Christian Kandeler
527594bb83 qbs build: Add missing defines
The string concatenation macros were not set, as opposed to the qmake
build.

Change-Id: I32e2c72c891419ef8352cb7b46e3b7f9b82b6312
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-18 14:18:41 +00:00
Eike Ziller
b6c1cb3487 Bump minimum Qt version to 5.6.2
Starting to use macos qmake scope. 5.6.3 should be around soon so
we can still regression test latest two patch levels.

Change-Id: I14f67a26e26c50f6dd0fb8b621f13780b0b05f76
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-29 11:23:15 +00:00
Eike Ziller
345ea0307c Merge remote-tracking branch 'origin/4.3' into 4.4
Conflicts:
	qtcreator.qbs

Change-Id: Ic5e268326d93172208de291d31a716e437b9cedf
2017-07-10 09:54:52 +02:00
Jake Petroules
b80d5c1c95 Qbs: fix bundle installation with Qbs 1.8
This patch also sets the minimumQbsVersion to 1.7 because that's the version
that is actually documented as being required in the README.

Change-Id: I862daaf5fa34ab2cc5db47581689e08aa34f0910
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-07-07 17:28:33 +00:00
Jake Petroules
7ff48935e8 Explicitly specify the minimum macOS version in the qtcjson library
Also don't set the value in more than one place.

Change-Id: Iea1dc1d4e127c12d6333799dda91749eb2d604d4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-06-23 17:28:58 +00:00
Jake Petroules
5f45bb34ce Fix deployment target on macOS
According to the README, the minimum version is 10.8, but the code did
not reflect that reality.

Change-Id: I2bbaeefe614cba5b5fa8413b68202bb75f346d70
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-06-12 17:11:57 +00:00
Eike Ziller
cec29f34ea Merge remote-tracking branch 'origin/4.2' into 4.3
Conflicts:
	doc/src/qtcreator.qdoc
	tests/system/suite_general/suite.conf

Change-Id: Ia298b177d6920a1d853e342b62cf98f7c48a278a
2017-03-09 12:14:55 +01:00
Eike Ziller
461a7483e3 Doc: Remove unused QTC_LICENSE_TYPE define
Change-Id: Iba49e6fc6b1d857cc0f87b5bf833f42a4a8a976f
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2017-03-06 07:46:13 +00:00
Eike Ziller
d64e17ad55 Move mimetype definitions to plugin specs
- Avoids the hassle of QRC files and manually registering mime types
- Avoids performance regressions because of mime types that are
  registered after mime database has been used
- Makes it technically possible to detect that a disabled plugin could
  handle a mime type if it was enabled

Change-Id: I373008b1b56e9c6b4853055f20b3eeb112a6eff9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-02-27 13:54:59 +00:00
Marco Bubke
ddbe6117b3 Bump C++ version to 14
Our compilers support some features which are part of the C++ 14 feature
set. Some off them are silently compiled with the C++ 11 setting.

For example:

[foo=bar] {}

is actually working with GCC but is part of C++ 14.

Change-Id: Icf2c3806e26c675f8251768c6ad54ba4da186d11
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-01-05 10:34:29 +00:00
Christian Kandeler
c32ef98c0f qbs build: Don't use relative paths in product parent items
We should be explicit about where we assume the source files to be. The
base directory might change in the future.

Change-Id: Ifd53c2586f5c67a72ed928130647083d467a3e30
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-11-23 09:11:43 +00:00
Christian Kandeler
77ba40603a qbs build: Fix the names of some Qt modules in Depends items
It's "testlib", not "test". And "designercomponents" is actually a
private module.

Change-Id: I1a14d107bb5568b4f3807558ec6ed11937ac816a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-11-10 16:36:17 +00:00
Orgad Shaneh
1853f01a5b Merge remote-tracking branch 'origin/4.1'
Change-Id: Ia442f30f387fe9292217582260bbe79e54608810
2016-08-05 11:40:07 +02:00