22e9ff9c16
This allows distinguishing between these tools and tools for the host, when cross compiling. While mac tools normally only are available on macOS, there are third party efforts to port them to other platforms. In these cases, it might be useful to use a prefix (either some sort of triplet prefix, or an absolute path) to distinguish between the host build platform compilers/tools and the ones for the cross target. The use of this variable matches the one used in a lot of other mkspecs, and shouldn't cause any issues for those who aren't setting it. Change-Id: Iaeba571d955ea79ed1249989fcc525eb1eaf1f5c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
#
|
|
# Qmake configuration for Clang on Linux, OS X and iOS
|
|
#
|
|
|
|
QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc
|
|
|
|
QMAKE_CC = $${CROSS_COMPILE}clang
|
|
QMAKE_CXX = $${CROSS_COMPILE}clang++
|
|
|
|
QMAKE_LINK_C = $$QMAKE_CC
|
|
QMAKE_LINK_C_SHLIB = $$QMAKE_CC
|
|
|
|
QMAKE_LINK = $$QMAKE_CXX
|
|
QMAKE_LINK_SHLIB = $$QMAKE_CXX
|
|
|
|
CONFIG += clang_pch_style
|
|
QMAKE_PCH_OUTPUT_EXT = .pch
|
|
|
|
QMAKE_CFLAGS_ISYSTEM = -isystem
|
|
QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
|
QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
|
|
QMAKE_CFLAGS_LTCG = -flto
|
|
QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto
|
|
|
|
QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
|
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
|
|
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
|
|
QMAKE_CXXFLAGS_CXX11 = -std=c++11
|
|
QMAKE_CXXFLAGS_CXX14 = -std=c++1y
|
|
QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
|
|
QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
|
|
QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
|
|
QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
|
|
|
|
QMAKE_LFLAGS_CXX11 =
|
|
QMAKE_LFLAGS_CXX14 =
|
|
QMAKE_LFLAGS_CXX1Z =
|
|
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
|
|
# Wrapper tools that understand .o/.a files with LLVM bytecode instead of machine code
|
|
QMAKE_AR_LTCG = llvm-ar cqs
|
|
QMAKE_NM_LTCG = llvm-nm -P
|
|
QMAKE_RANLIB_LTCG = true # No need to run, since llvm-ar has "s"
|