#
# qmake configuration for win32-clang-g++
#
# Written for MinGW-w64 / clang 6.0 or higher
#
# Cross compile example for x86_64-w64-mingw32-clang++:
#   configure -xplatform win32-clang-g++ -device-option CROSS_COMPILE=x86_64-w64-mingw32-
#

include(../common/g++-win32.conf)

# modifications to g++-win32.conf

QMAKE_COMPILER         += clang llvm   # clang pretends to be gcc

QMAKE_CC                = $${CROSS_COMPILE}clang
QMAKE_CFLAGS           +=
QMAKE_CFLAGS_WARN_ON   += -Wextra -Wno-ignored-attributes

QMAKE_CXX               = $${CROSS_COMPILE}clang++
QMAKE_CXXFLAGS         +=
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON

QMAKE_LINK              = $${CROSS_COMPILE}clang++
QMAKE_LINK_C            = $${CROSS_COMPILE}clang

QMAKE_CFLAGS_LTCG       = -flto=thin
QMAKE_CXXFLAGS_LTCG     = $$QMAKE_CFLAGS_LTCG
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG

QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz

load(qt_config)
