qtbase/mkspecs
Alexandru Croitor a29bff3d80 CMake: Warn when configuring Qt with an unsupported Apple SDK or Xcode
The warnings are shown when configuring any Qt submodule or top-level.
The warnings are NOT shown when configuring a user project with CMake.

Opt out CMake cache variables can be set to silence any of the
warnings:
- QT_NO_APPLE_SDK_AND_XCODE_CHECK
- QT_NO_APPLE_SDK_MIN_VERSION_CHECK
- QT_NO_XCODE_MIN_VERSION_CHECK
- QT_NO_APPLE_SDK_MAX_VERSION_CHECK

The warnings can be upgraded into errors by configuring with
-DQT_FORCE_FATAL_APPLE_SDK_AND_XCODE_CHECK=ON

The platform version requirements that qtbase specifies in .cmake.conf
are saved in Qt6ConfigExtras.cmake so that they can be used when
configuring other non-qtbase submodules.

The code is added to the public CMake files, so that in the future we
don't need to move code around if we enable the checks for public
CMake projects as well.

The version extraction helpers were moved out of QtAutoDetectHelpers
into QtPublicAppleHelpers.

Task-number: QTBUG-119490
Change-Id: Ic840e1013aeb607bf23247a9cb43471dde802e9d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-11-29 16:00:57 +01:00
..
aix-g++
aix-g++-64
android-clang Android: bump Android target API level to 33 2023-09-23 17:38:23 +00:00
common Remove remnants of Qt for Native Client (NACL) 2023-09-23 13:40:44 +02:00
cygwin-g++
darwin-g++
devices
dummy
features CMake: Warn when configuring Qt with an unsupported Apple SDK or Xcode 2023-11-29 16:00:57 +01:00
freebsd-clang
freebsd-g++
haiku-g++
hpuxi-g++-64
hurd-g++
integrity-armv7
integrity-armv7-imx6
integrity-armv8-rcar
integrity-x86
linux-aarch64-gnu-g++
linux-arm-gnueabi-g++
linux-clang
linux-clang-32
linux-clang-libc++
linux-clang-libc++-32
linux-g++
linux-g++-32
linux-g++-64
linux-icc
linux-icc-32
linux-icc-64
linux-icc-k1om
linux-llvm
linux-lsb-g++
lynxos-g++
macx-clang
macx-g++
macx-icc
macx-ios-clang
macx-xcode
modules
netbsd-g++
openbsd-g++
qnx-aarch64le-qcc
qnx-armle-v7-qcc
qnx-x86-64-qcc
qnx-x86-qcc
solaris-cc
solaris-cc-64
solaris-cc-64-stlport
solaris-cc-stlport
solaris-g++
solaris-g++-64
unsupported Remove remnants of Qt for Native Client (NACL) 2023-09-23 13:40:44 +02:00
vxworks-clang Add initial support for building for VxWorks using clang 2023-07-21 06:08:04 +02:00
wasm-emscripten
wasm-emscripten-64
win32-arm64-msvc
win32-clang-g++
win32-clang-msvc
win32-g++
win32-icc
win32-icc-k1om
win32-msvc