Commit Graph

125 Commits

Author SHA1 Message Date
Christian Stenger
1ab00ae5ec Fix Qbs build
Amends f5dde31558.

Change-Id: I409b872ccab2bfe825df3c993aaf942d327e9381
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-21 05:26:08 +00:00
Marcus Tillmanns
ddd137f3b1 Lua: Move lua plugins into normal plugin folder
Change-Id: I14ab0bb755a4279bc255673596fe084cd556433c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 10:26:29 +00:00
Christian Kandeler
6c6b01faa8 qbs build: Fix building documentation
qdoc needs a new environment variable these days.

Change-Id: I29eb64c2d3ee7555fc99a928971eaccaac8317bf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-06-12 08:30:20 +00:00
Christian Stenger
f1277f6cf2 Lua: Add lua plugins to qbs build
Change-Id: I4c8428e64c5e322582742e686bf921ebea7df842
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-05-31 04:32:09 +00:00
hjk
e678da9934 Require C++20
Change-Id: Id6581a4c32ec6411195edb51339f017e4ddb51ff
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-02-22 11:22:09 +00:00
Christian Kandeler
fca94a8366 qbs build: Fix manual tests
- Remove dependency on project.withAutotests by adding local
{Qt,Cpp}Application overrides that alias QtcManualTest. This way, the
respective products are a QtcManualTest when inside Qt Creator, while
also working outside the source tree.
- Rename QtcManualtest to QtcManualTest. (The reason QtcAutotest is not
camel-cased is because "autotest" is a single word.)
- Plus some minor clean-ups.

Change-Id: Idd77191f0b433d6d7443c639eebda383ab110082
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-20 10:22:21 +00:00
Christian Kandeler
a217fa0c22 qbs build: Clean up testing infrastructure
- Rename ambiguously named "testsEnabled" property to "withPluginTests"
  and fix the wrong uses.
- Move AutotestRunner out of main project file and into tests.qbs.
- Move "withAutotests" property into qtc module. We cannot remove it
  from the main project file just yet, because some manual tests do not
  make use of QtcManualTest at the moment.
- Do not remove the autotests from the project tree if autotests are
  disabled. Instead, just disable the products.

Change-Id: I74a4cc717d9adbe53d37536b2565111e1617115b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-19 13:16:28 +00:00
Christian Kandeler
24f0732d3a qbs build: Do not set minimum OS versions
These requirements come from Qt these days; anything we specify here is
redundant at best.

Change-Id: Ib52d4e80d77cc05ea6d9baa4aa0c88cac2c1a132
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-19 09:56:07 +00:00
Christian Kandeler
bdded29b33 qbs build: Improve some base items
Clean-up, simplification and modernization.
Also fix the bugs uncovered by this.

Change-Id: Ia3a77557f10faf9a901540a55fd6c07a2e986bf5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-18 11:50:09 +00:00
Christian Kandeler
93273af6dc qbs build: Move pluginjson replacements property to the module
... where it clearly belongs.

Change-Id: I22d098b701e4921cde53ab34d11ab0078326ab94
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-14 12:21:46 +00:00
Christian Kandeler
021f0108cb qbs build: Do not declare a Qt dependency for the Ctrl-C stub tool
Change-Id: I75f4a1775b7718ee8d38937557be3bf71efade1f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-06-19 08:43:47 +00:00
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