55a15a1c1b
Tested locally with the following configurations: - iOS device builds (arm64) - iOS simulator builds (x86_64) - iOS simulator_and_device builds (fat arm64 and x86_64 archives) All iOS builds currently require a custom vcpkg fork which contains fixes for building the required 3rd party libraries. qtsvg, qtdeclarative, qtgraphicaleffects and qtquickcontrols2 have also been tested to build successfully. simulator_and_device builds are also supported, but require an umerged patch in upstream CMake as well as further patches to vcpkg. Task-number: QTBUG-75576 Change-Id: Icd29913fbbd52a60e07ea5253fd9c7af7f8ce44c Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
124 lines
4.7 KiB
CMake
124 lines
4.7 KiB
CMake
if (QCC)
|
|
set(QT_CFLAGS_SSE2 "-msse2")
|
|
set(QT_CFLAGS_SSE3 "-msse3")
|
|
set(QT_CFLAGS_SSSE3 "-mssse3")
|
|
set(QT_CFLAGS_SSE4_1 "-msse4.1")
|
|
set(QT_CFLAGS_SSE4_2 "-msse4.2")
|
|
set(QT_CFLAGS_AVX "-mavx")
|
|
set(QT_CFLAGS_AVX2 "-mavx2")
|
|
set(QT_CFLAGS_AESNI "-maes")
|
|
set(QT_CFLAGS_SHANI "-msha")
|
|
endif()
|
|
|
|
if (MSVC)
|
|
if (QT_64BIT)
|
|
# SSE2 is mandatory on 64-bit mode, so skip the option. It triggers:
|
|
# cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2'
|
|
set(QT_CFLAGS_SSE2 "")
|
|
else()
|
|
set(QT_CFLAGS_SSE2 "-arch:SSE2")
|
|
endif()
|
|
set(QT_CFLAGS_SSE3 "${QT_CFLAGS_SSE2}")
|
|
set(QT_CFLAGS_SSSE3 "${QT_CFLAGS_SSE2}")
|
|
set(QT_CFLAGS_SSE4_1 "${QT_CFLAGS_SSE2}")
|
|
set(QT_CFLAGS_SSE4_2 "${QT_CFLAGS_SSE2}")
|
|
set(QT_CFLAGS_AESNI "${QT_CFLAGS_SSE2}")
|
|
set(QT_CFLAGS_SHANI "${QT_CFLAGS_SSE2}")
|
|
|
|
# FIXME to be Visual Studio version specific, like in mkspecs/common/msvc-version.conf
|
|
set(QT_CFLAGS_AVX "-arch:AVX")
|
|
set(QT_CFLAGS_AVX2 "-arch:AVX2")
|
|
set(QT_CFLAGS_F16C "-arch:AVX")
|
|
set(QT_CFLAGS_RDRND "")
|
|
set(QT_CFLAGS_AVX512F "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512ER "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512CD "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512PF "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512DQ "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512BW "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512VL "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512IFMA "-arch:AVX512")
|
|
set(QT_CFLAGS_AVX512VBMI "-arch:AVX512")
|
|
endif()
|
|
|
|
if(GCC OR CLANG)
|
|
set(QT_CFLAGS_SSE2 "-msse2")
|
|
set(QT_CFLAGS_SSE3 "-msse3")
|
|
set(QT_CFLAGS_SSSE3 "-mssse3")
|
|
set(QT_CFLAGS_SSE4_1 "-msse4.1")
|
|
set(QT_CFLAGS_SSE4_2 "-msse4.2")
|
|
set(QT_CFLAGS_F16C "-mf16c")
|
|
set(QT_CFLAGS_RDRND "-mrdrnd")
|
|
set(QT_CFLAGS_AVX "-mavx")
|
|
set(QT_CFLAGS_AVX2 "-mavx2")
|
|
set(QT_CFLAGS_AVX512F "-mavx512f")
|
|
set(QT_CFLAGS_AVX512ER "-mavx512er")
|
|
set(QT_CFLAGS_AVX512CD "-mavx512cd")
|
|
set(QT_CFLAGS_AVX512PF "-mavx512pf")
|
|
set(QT_CFLAGS_AVX512DQ "-mavx512dq")
|
|
set(QT_CFLAGS_AVX512BW "-mavx512bw")
|
|
set(QT_CFLAGS_AVX512VL "-mavx512vl")
|
|
set(QT_CFLAGS_AVX512IFMA "-mavx512ifma")
|
|
set(QT_CFLAGS_AVX512VBMI "-mavx512vbmi")
|
|
set(QT_CFLAGS_AESNI "-maes")
|
|
set(QT_CFLAGS_SHANI "-msha")
|
|
if(NOT APPLE_UIKIT)
|
|
set(QT_CFLAGS_NEON "-mfpu=neon")
|
|
endif()
|
|
set(QT_CFLAGS_MIPS_DSP "-mdsp")
|
|
set(QT_CFLAGS_MIPS_DSPR2 "-mdspr2")
|
|
endif()
|
|
|
|
if (winrt) # FIXME: Correct variable
|
|
set(QT_CFLAGS_SSE2 "-arch:SSE2")
|
|
set(QT_CFLAGS_SSE3 "-arch:SSE2")
|
|
set(QT_CFLAGS_SSSE3 "-arch:SSE2")
|
|
set(QT_CFLAGS_SSE4_1 "-arch:SSE2")
|
|
set(QT_CFLAGS_SSE4_2 "-arch:SSE2")
|
|
set(QT_CFLAGS_AVX "-arch:AVX")
|
|
set(QT_CFLAGS_AVX2 "-arch:AVX")
|
|
set(QT_CFLAGS_AESNI "-arch:SSE2")
|
|
set(QT_CFLAGS_SHANI "-arch:SSE2")
|
|
endif()
|
|
|
|
if (ICC)
|
|
if (MSVC)
|
|
set(QT_CFLAGS_SSE2 "-QxSSE2")
|
|
set(QT_CFLAGS_SSE3 "-QxSSE3")
|
|
set(QT_CFLAGS_SSSE3 "-QxSSSE3")
|
|
set(QT_CFLAGS_SSE4_1 "-QxSSE4.1")
|
|
set(QT_CFLAGS_SSE4_2 "-QxSSE4.2")
|
|
set(QT_CFLAGS_AVX "-QxAVX")
|
|
set(QT_CFLAGS_AVX2 "-QxCORE-AVX2")
|
|
set(QT_CFLAGS_AVX512F "-QxCOMMON-AVX512")
|
|
set(QT_CFLAGS_AVX512CD "-QxCOMMON-AVX512")
|
|
set(QT_CFLAGS_AVX512ER "-QxMIC-AVX512")
|
|
set(QT_CFLAGS_AVX512PF "-QxMIC-AVX512")
|
|
set(QT_CFLAGS_AVX512DQ "-QxCORE-AVX512")
|
|
set(QT_CFLAGS_AVX512BW "-QxCORE-AVX512")
|
|
set(QT_CFLAGS_AVX512VL "-QxCORE-AVX512")
|
|
set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
|
|
set(QT_CFLAGS_AESNI "-QxSSE2")
|
|
set(QT_CFLAGS_SHANI "-QxSSE4.2")
|
|
else()
|
|
set(QT_CFLAGS_SSE2 "-msse2")
|
|
set(QT_CFLAGS_SSE3 "-msse3")
|
|
set(QT_CFLAGS_SSSE3 "-mssse3")
|
|
set(QT_CFLAGS_SSE4_1 "-msse4.1")
|
|
set(QT_CFLAGS_SSE4_2 "-msse4.2")
|
|
set(QT_CFLAGS_AVX "-march=core-avx")
|
|
set(QT_CFLAGS_AVX2 "-march=core-avx2")
|
|
set(QT_CFLAGS_AVX512F "-march=broadwell -xCOMMON-AVX512")
|
|
set(QT_CFLAGS_AVX512CD "-march=broadwell -xCOMMON-AVX512")
|
|
set(QT_CFLAGS_AVX512ER "-march=knl")
|
|
set(QT_CFLAGS_AVX512PF "-march=knl")
|
|
set(QT_CFLAGS_AVX512DQ "-march=skylake-avx512")
|
|
set(QT_CFLAGS_AVX512BW "-march=skylake-avx512")
|
|
set(QT_CFLAGS_AVX512VL "-march=skylake-avx512")
|
|
set(QT_CFLAGS_AESNI "-maes")
|
|
set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
|
|
set(QT_CFLAGS_RDRND "-mrdrnd")
|
|
set(QT_CFLAGS_SHANI "-msha")
|
|
endif()
|
|
endif()
|