| # |
| # qmake configuration for win32-clang-msvc |
| # |
| # Notice: this uses the clang-cl wrapper |
| # |
| |
| include(../common/msvc-desktop.conf) |
| |
| # clang-cl does not use anything above SSE2 without extra arguments |
| QMAKE_CFLAGS_SSE3 = -msse3 |
| QMAKE_CFLAGS_SSSE3 = -mssse3 |
| QMAKE_CFLAGS_SSE4_1 = -msse4.1 |
| QMAKE_CFLAGS_SSE4_2 = -msse4.2 |
| QMAKE_CFLAGS_AVX = -mavx |
| QMAKE_CFLAGS_AVX2 = -mavx2 |
| QMAKE_CFLAGS_F16C = -mf16c |
| QMAKE_CFLAGS_RDRND = -mrdrnd |
| QMAKE_CFLAGS_AVX512F = -mavx512f |
| QMAKE_CFLAGS_AVX512ER = -mavx512er |
| QMAKE_CFLAGS_AVX512CD = -mavx512cd |
| QMAKE_CFLAGS_AVX512PF = -mavx512pf |
| QMAKE_CFLAGS_AVX512DQ = -mavx512dq |
| QMAKE_CFLAGS_AVX512BW = -mavx512bw |
| QMAKE_CFLAGS_AVX512VL = -mavx512vl |
| QMAKE_CFLAGS_AVX512IFMA = -mavx512ifma |
| QMAKE_CFLAGS_AVX512VBMI = -mavx512vbmi |
| QMAKE_CFLAGS_AESNI = -maes |
| QMAKE_CFLAGS_SHANI = -msha |
| |
| QMAKE_COMPILER += clang_cl llvm |
| |
| QMAKE_CC = clang-cl |
| QMAKE_CXX = $$QMAKE_CC |
| |
| QMAKE_CFLAGS += -Wno-microsoft-enum-value |
| |
| QMAKE_CXXFLAGS += -Wno-microsoft-enum-value |
| |
| QMAKE_LINK = lld-link |
| QMAKE_LIB = llvm-lib /NOLOGO |
| |
| QMAKE_CXXFLAGS_CXX11 = -std:c++11 |
| QMAKE_CXXFLAGS_CXX14 = -std:c++14 |
| QMAKE_CXXFLAGS_CXX1Z = -std:c++17 |
| QMAKE_CXXFLAGS_CXX2A = -std:c++latest |
| |
| QMAKE_CFLAGS_LTCG = -flto=thin |
| QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG |
| QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto |
| QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS |
| # Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters |
| QMAKE_LFLAGS_LTCG = |
| |
| QMAKE_CFLAGS_OPTIMIZE_SIZE = /clang:-Oz |
| QMAKE_CFLAGS_OPTIMIZE_FULL = /clang:-O3 |
| |
| load(qt_config) |