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>
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>
So we can easily mark tests as flaky via build properties.
Change-Id: Ib1ad8e212980c9eb5622534fb9b20ad31128b91e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
... 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>
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>
The string concatenation macros were not set, as opposed to the qmake
build.
Change-Id: I32e2c72c891419ef8352cb7b46e3b7f9b82b6312
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
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>
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>
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>
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>
- 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>
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>
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>
It's "testlib", not "test". And "designercomponents" is actually a
private module.
Change-Id: I1a14d107bb5568b4f3807558ec6ed11937ac816a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
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>
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>
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>
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>
- 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>