qt5base-lts/mkspecs
Alexandru Croitor e9a797799e CMake: Add Qt6 forward compatible CMake API and targets
Create Qt:: versionless targets for libraries and tools. So
Qt::Core will link to Qt5::Core.

Add additional feature properties to targets, with the same name
they have in Qt6: QT_ENABLED_PUBLIC_FEATURES,
QT_DISABLED_PUBLIC_FEATURES, QT_ENABLED_PRIVATE_FEATURES,
QT_DISABLED_PRIVATE_FEATURES, to be forward-compatible with Qt6.
Prefix properties with INTERFACE_ for interface libraries.

Create functions with no major version in their prefix, so qt_foo
instead of qt5_foo.
The non-versioned functions will call the versioned functions,
depending on the value of QT_DEFAULT_MAJOR_VERSION, which can be
set by an application developer before finding the Qt package.

Set QT_DEFAULT_MAJOR_VERSION to 5 if the value has not been defined
in the current scope.

Application developers can set QT_NO_CREATE_VERSIONLESS_FUNCTIONS to
TRUE before calling find_package(Qt5) to suppress creation of the
non-versioned functions.

Application developers can set QT_NO_CREATE_VERSIONLESS_TARGETS to
TRUE before calling find_package(Qt5) to suppress creation of the
non-versioned targets.

Setting these can be useful when both find_package(Qt5) and
find_package(Qt6) are in the same project.
If none of these are set by the user, then the first find_package(Qt5)
will create versionless targets with the major version being "5",
which means the second find_package(Qt6) will not create versionless
targets.

Handle versionless plugin names in qt_import_plugins, so both
Qt::QCocoaIntegrationPlugin and Qt5/6::QCocoaIntegrationPlugin
are recognized by the function.

Allow specifying multiple types in EXCLUDE_BY_TYPE in
qt_import_plugins, to be consitent with the Qt 6 version.

Make sure to set the QT_PLUGIN_CLASS_NAME property to compatible with
Qt 6.

Task-number: QTBUG-74137
Task-number: QTBUG-80477
Change-Id: Ib89d090ea6f7794d7debd64f03f29da963a17ca7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-25 18:10:26 +01:00
..
aix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
aix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
android-clang Be able to create a response file for other generators too 2019-11-06 18:14:17 +01:00
common Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-27 09:29:30 +01:00
cygwin-g++ Updated license headers 2016-01-15 12:25:24 +00:00
darwin-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
devices Add an i.MX8 (aarch64) device spec 2019-09-28 08:36:12 +02:00
dummy move all target spec handling to qmake-based configure system 2016-12-13 18:56:34 +00:00
features CMake: Add Qt6 forward compatible CMake API and targets 2020-01-25 18:10:26 +01:00
freebsd-clang make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
freebsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
haiku-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hpuxi-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hurd-g++ Add <features.h> include to hurd-g++ mkspec 2019-02-14 14:24:56 +00:00
integrity-armv7 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv7-imx6 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv8-rcar integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-x86 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
linux-aarch64-gnu-g++ Add new mkspec for cross-compiling Qt5 for AArch64 2017-03-31 00:34:48 +00:00
linux-arm-gnueabi-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-clang-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-clang-libc++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang-libc++-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-g++-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc centralize ICC flags for *nix-systems toolchains 2018-06-22 17:04:06 +00:00
linux-icc-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
linux-llvm Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
linux-lsb-g++ qmake: link qt libraries by full path 2019-04-15 05:41:08 +00:00
lynxos-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
macx-clang Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
macx-g++ Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
macx-icc Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
macx-ios-clang Update supported platforms and build requirements for Apple platforms 2019-11-05 19:49:14 +01:00
macx-tvos-clang Update supported platforms and build requirements for Apple platforms 2019-11-05 19:49:14 +01:00
macx-watchos-clang Update supported platforms and build requirements for Apple platforms 2019-11-05 19:49:14 +01:00
macx-xcode Xcode: Disable GPU frame capture and Metal API validation by default 2019-12-18 19:16:09 +01:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
openbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
qnx-aarch64le-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-armle-v7-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-64-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-x86-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
solaris-cc Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
unsupported Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
wasm-emscripten Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-27 09:29:30 +01:00
win32-arm64-msvc2017 Add Windows Desktop arm64 target to Qtbase 2018-11-11 09:05:10 +00:00
win32-clang-g++ Clang: use -Oz instead of -O1 to optimize for size 2019-03-21 23:46:32 +00:00
win32-clang-msvc QRandom: add support for RDSEED 2019-10-09 07:31:28 -07:00
win32-g++ Merge remote-tracking branch 'origin/5.12' into 5.13 2019-04-02 01:00:26 +02:00
win32-icc QRandom: add support for RDSEED on INTEL_ICL & MSVC 2019-10-27 15:53:58 -03:00
win32-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
win32-msvc unify windows mkspecs: define c++ flags explicitly 2018-02-22 18:45:15 +00:00
winrt-arm64-msvc2017 Add arm64 winrt target 2019-01-24 21:04:20 +00:00
winrt-arm64-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-arm-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-arm-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-arm-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-x64-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x64-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x64-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00
winrt-x86-msvc2015 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x86-msvc2017 qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
winrt-x86-msvc2019 winrt: Add support for Visual Studio 2019 2019-02-20 13:32:29 +00:00