Commit Graph

104 Commits

Author SHA1 Message Date
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
Christian Kandeler
d004203b13 qbs build: Fix warnings on Windows
Change-Id: Ic62200d30be054128fd810ae85e7b8eb1900be89
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-05 07:12:20 +00:00
Christian Kandeler
5d34676fdc qbs build: Remove "-s" from linker flags
It is unclear why this was added, the qmake build does not have it
either, and it breaks linking on some versions of macOS.

Change-Id: I878273e072808416a12cf5c973f2ceacde549f74
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-01 07:27:01 +00:00
Orgad Shaneh
35d7352b3e Merge remote-tracking branch 'origin/4.1'
Change-Id: Ie96fa53a88bcd06fa688a579c1d84aaf6f5e905f
2016-07-29 16:13:18 +03:00
Christian Kandeler
b1477190de Fix qbs build on macOS
"osx" -> "macos"

Change-Id: Ie25e096b2759cf8f96411560fcca337169d80b08
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-07-28 14:45:12 +00:00
Eike Ziller
546df37c98 Merge remote-tracking branch 'origin/4.1'
Conflicts:
	README.md
	src/plugins/modeleditor/actionhandler.cpp

Change-Id: I65c2885593b881eda94872168a3891cab9cafe71
2016-07-11 10:46:05 +02:00
Eike Ziller
7812390b0b Update requirements for building Qt Creator
Change-Id: I462c496a6998862d1f1d09fc323342429115b67b
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Ralf Nolden <nolden@kde.org>
2016-07-06 08:11:51 +00:00
Christian Kandeler
35c17ac73a qbs build: Remove version part from plugin file names
The files now have the same names as in the qmake build (e.g. libCore.so
rather than libCore.so.4.0.82).

Change-Id: I426a8b3ff55525cc9b066bfa4288d993fe3c1b6e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-07-05 11:24:35 +00:00
Christian Kandeler
e54b53cdaa qbs build: Use precompiled headers.
It was an oversight that we haven't done this before.

Change-Id: Ic338503f6c1ca5e6c52c9af3bdbdb92b7776cac1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-23 11:45:37 +00:00
Christian Kandeler
31258ec555 qbs build: Introduce libclang module.
This is The Right Way to detect libclang. Using a Probe will also
slightly improve performance in qbs 1.6 due to the result caching.

Change-Id: I063a8d108d02b620dda2df75dd8c014c84f27ec7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-17 13:33:03 +00:00
Christian Kandeler
e1e203598d qbs build: Final steps to support building plugins "out of source".
- Use the entire Export block when creating a module, not just the
  Depends items. Adapt references to the product source directory
  and the "share" directory so that they point to the respective
  locations in the install tree.
- Install dev headers for some more plugins.
- Bug fixes & polishing.

Create a "dev installation" like this:
$ qbs qtc.make_dev_package:true qbs.installRoot:<install root>

Then build your plugin against it like this:
$ qbs qtc.make_dev_package:true qbs.installRoot:<install root>
project.qbsSearchPaths:<install root>/qbs-resources
(Using qbs from 1.5 branch; 1.5.1 requires a trivial wrapper project.)

That's all. Successfully tested with all commercial plugins on Linux.

Change-Id: Ie39c4717dafcd431c533421a15f2f898783d8521
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-06-15 12:35:55 +00:00