ff44440651
Prefer -std=gnu++11 unless strict_c++11 is defined. You can enable strict C++11/C++14 mode by using CONFIG += strict_c++ That is enabled for Qt's own code, so we we don't accidentally use GNU extensions in portable code. There's no support for strict C++98 mode (that is, the -ansi option). [ChangeLog][qmake] By default, GNU extensions are now enabled with Clang, GCC and ICC even in C++11 and C++14 modes. To disable the GNU extensions, add to your .pro file: CONFIG += strict_c++. Change-Id: Ib056b47dde3341ef9a52ffff13ef14de2169bef5 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
93 lines
3.2 KiB
Plaintext
93 lines
3.2 KiB
Plaintext
#
|
|
# qmake configuration for macx-icc
|
|
#
|
|
# Written for Intel C++ Compiler version 14.0 for OS X
|
|
#
|
|
|
|
MAKEFILE_GENERATOR = UNIX
|
|
CONFIG += app_bundle
|
|
QMAKE_INCREMENTAL_STYLE = sublibs
|
|
QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__
|
|
|
|
QMAKE_COMPILER = gcc clang intel_icc # icc pretends to be gcc and clang
|
|
|
|
QMAKE_CC = icc
|
|
QMAKE_CFLAGS =
|
|
QMAKE_CFLAGS_DEPS = -M
|
|
QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280
|
|
QMAKE_CFLAGS_WARN_OFF = -w
|
|
QMAKE_CFLAGS_RELEASE =
|
|
QMAKE_CFLAGS_DEBUG = -g
|
|
QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables
|
|
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
|
|
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
|
|
QMAKE_CFLAGS_THREAD =
|
|
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
|
|
QMAKE_CFLAGS_LTCG = -ipo
|
|
|
|
QMAKE_CFLAGS_SSE2 += -msse2
|
|
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 += -march=core-avx2
|
|
|
|
QMAKE_OBJECTIVE_CC = clang
|
|
QMAKE_OBJECTIVE_CFLAGS = -pipe
|
|
QMAKE_OBJECTIVE_CFLAGS_WARN_ON = -Wall -W
|
|
QMAKE_OBJECTIVE_CFLAGS_WARN_OFF = -w
|
|
QMAKE_OBJECTIVE_CFLAGS_RELEASE = -Os
|
|
QMAKE_OBJECTIVE_CFLAGS_DEBUG = -g
|
|
QMAKE_OBJECTIVE_CFLAGS_HIDESYMS = -fvisibility=hidden
|
|
|
|
QMAKE_CXX = icpc
|
|
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
|
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
|
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
|
|
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
|
|
QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
|
|
QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
|
|
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
|
|
QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
|
|
QMAKE_CXXFLAGS_CXX11 = -std=c++11
|
|
QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
|
|
QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
|
|
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
|
|
QMAKE_LINK = icpc
|
|
QMAKE_LINK_SHLIB = icpc
|
|
QMAKE_LFLAGS = -headerpad_max_install_names
|
|
QMAKE_LFLAGS_RELEASE =
|
|
QMAKE_LFLAGS_DEBUG =
|
|
QMAKE_LFLAGS_SHLIB = -single_module -dynamiclib
|
|
QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace
|
|
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
|
|
QMAKE_LFLAGS_SONAME = -install_name$${LITERAL_WHITESPACE}
|
|
QMAKE_LFLAGS_THREAD =
|
|
QMAKE_LFLAGS_RPATH = -Wl,-rpath,
|
|
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
|
|
QMAKE_LFLAGS_VERSION = -current_version$${LITERAL_WHITESPACE}
|
|
QMAKE_LFLAGS_COMPAT_VERSION = -compatibility_version$${LITERAL_WHITESPACE}
|
|
|
|
QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
|
|
|
|
# pch support
|
|
CONFIG += icc_pch_style
|
|
QMAKE_PCH_OUTPUT_EXT = .pchi
|
|
QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT}
|
|
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}
|
|
|
|
# Symbol visibility control
|
|
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
|
|
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
|
|
|
|
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
|
|
|
|
include(../common/macx.conf)
|
|
|
|
load(qt_config)
|