From 95774f732cc6dd033926b5b173098aeacd9a28f4 Mon Sep 17 00:00:00 2001 From: Sacha Date: Mon, 7 Jul 2014 03:52:22 +1000 Subject: [PATCH] Qt: use an 'ALLFLAGS' variable to keep flags that need to be for C and C++. Fixes #6510. --- Qt/Settings.pri | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/Qt/Settings.pri b/Qt/Settings.pri index e9842e9f9..fd238a10f 100644 --- a/Qt/Settings.pri +++ b/Qt/Settings.pri @@ -14,37 +14,33 @@ P = $$_PRO_FILE_PWD_/.. INCLUDEPATH += $$P/ext/zlib $$P/Common symbian { - exists($$P/.git): GIT_VERSION = $$system(git describe --always) - isEmpty(GIT_VERSION): GIT_VERSION = $$VERSION + exists($$P/.git): GIT_VERSION = $$system(git describe --always) + isEmpty(GIT_VERSION): GIT_VERSION = $$VERSION } else { - # QMake seems to change how it handles quotes with every version. This works for most systems: - exists($$P/.git): GIT_VERSION = '\\"$$system(git describe --always)\\"' - isEmpty(GIT_VERSION): GIT_VERSION = '\\"$$VERSION\\"' + # QMake seems to change how it handles quotes with every version. This works for most systems: + exists($$P/.git): GIT_VERSION = '\\"$$system(git describe --always)\\"' + isEmpty(GIT_VERSION): GIT_VERSION = '\\"$$VERSION\\"' } DEFINES += PPSSPP_GIT_VERSION=\"$$GIT_VERSION\" win32-msvc* { - QMAKE_CXXFLAGS_RELEASE += /O2 /arch:SSE2 /fp:fast DEFINES += _MBCS GLEW_STATIC _CRT_SECURE_NO_WARNINGS "_VARIADIC_MAX=10" - contains(DEFINES,UNICODE): DEFINES+=_UNICODE - PRECOMPILED_HEADER = $$P/Windows/stdafx.h - PRECOMPILED_SOURCE = $$P/Windows/stdafx.cpp - INCLUDEPATH += .. $$P/ffmpeg/Windows/$${QMAKE_TARGET.arch}/include + contains(DEFINES, UNICODE): DEFINES += _UNICODE + QMAKE_ALLFLAGS_RELEASE += /O2 /fp:fast } else { DEFINES += __STDC_CONSTANT_MACROS - QMAKE_CXXFLAGS += -Wno-unused-function -Wno-unused-variable -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-unused-parameter - QMAKE_CXXFLAGS += -ffast-math -fno-strict-aliasing + QMAKE_CXXFLAGS += -Wno-unused-function -Wno-unused-variable -Wno-unused-parameter -Wno-multichar -Wno-uninitialized -Wno-ignored-qualifiers -Wno-missing-field-initializers greaterThan(QT_MAJOR_VERSION,4): CONFIG+=c++11 else: QMAKE_CXXFLAGS += -std=c++11 QMAKE_CFLAGS_RELEASE ~= s/-O.*/ QMAKE_CXXFLAGS_RELEASE ~= s/-O.*/ - QMAKE_CFLAGS_RELEASE += -O3 - QMAKE_CXXFLAGS_RELEASE += -O3 + QMAKE_ALLFLAGS_RELEASE += -O3 -ffast-math } # Arch specific -xarch = $$find(QT_ARCH, "86") $$find(QMAKE_TARGET.arch, "86") -macx|!count(xarch, 0) { - !win32-msvc*: QMAKE_CXXFLAGS += -msse2 + +contains(QT_ARCH, ".*86.*")|contains(QMAKE_TARGET.arch, ".*86.*") { + !win32-msvc*: QMAKE_ALLFLAGS += -msse2 + else: QMAKE_ALLFLAGS += /arch:SSE2 } else { # Assume ARM DEFINES += ARM CONFIG += arm @@ -53,10 +49,8 @@ arm:!symbian { CONFIG += armv7 QMAKE_CFLAGS_RELEASE ~= s/-mfpu.*/ QMAKE_CFLAGS_DEBUG ~= s/-mfpu.*/ - QMAKE_CFLAGS_RELEASE += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math - QMAKE_CFLAGS_DEBUG += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math - QMAKE_CXXFLAGS_RELEASE += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math - QMAKE_CXXFLAGS_DEBUG += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math + QMAKE_ALLFLAGS_DEBUG += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize + QMAKE_ALLFLAGS_RELEASE += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize } contains(QT_CONFIG, opengles.) { @@ -72,6 +66,11 @@ contains(QT_CONFIG, opengles.) { contains(MEEGO_EDITION,harmattan): DEFINES += "_SYS_UCONTEXT_H=1" maemo: DEFINES += MAEMO +win32 { + PRECOMPILED_HEADER = $$P/Windows/stdafx.h + PRECOMPILED_SOURCE = $$P/Windows/stdafx.cpp + INCLUDEPATH += $$P $$P/ffmpeg/Windows/$${QMAKE_TARGET.arch}/include +} macx { QMAKE_MAC_SDK=macosx10.9 INCLUDEPATH += $$P/ffmpeg/macosx/x86_64/include @@ -113,3 +112,11 @@ symbian { maemo { DEFINES += __GL_EXPORTS } + +# Handle flags for both C and C++ +QMAKE_CFLAGS += $$QMAKE_ALLFLAGS +QMAKE_CXXFLAGS += $$QMAKE_ALLFLAGS +QMAKE_CFLAGS_DEBUG += $$QMAKE_ALLFLAGS_DEBUG +QMAKE_CXXFLAGS_DEBUG += $$QMAKE_ALLFLAGS_DEBUG +QMAKE_CFLAGS_RELEASE += $$QMAKE_ALLFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE += $$QMAKE_ALLFLAGS_RELEASE