summaryrefslogtreecommitdiffstats
path: root/src/gui/gui.pro
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-07-24 12:49:14 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-01 02:25:26 +0200
commit019b97fc4fc84a9e81c66a659f5d22df2e0b85d6 (patch)
tree13d08ae3329b86689a4eb4d248efcefedf955832 /src/gui/gui.pro
parent1610b6df062ebbbb2019c1103abfb0919efd27f7 (diff)
Add a .prf file for SIMD qmake variables.
So you can get AVX/NEON etc source compiled by assigning to the corresponding variable (e.g. AVX_SOURCES). This was previously used in just the gui module, but other external modules might like it too. Change-Id: I51aa64760c469c7dc4c71e6f089c2ddef4f509c5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'src/gui/gui.pro')
-rw-r--r--src/gui/gui.pro142
1 files changed, 2 insertions, 140 deletions
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index bdd70012a7..7f3e069aba 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -16,6 +16,8 @@ testcocoon {
load(testcocoon)
}
+CONFIG += simd
+
QMAKE_DOCS = $$PWD/doc/qtgui.qdocconf
QMAKE_DOCS_INDEX = ../../doc
@@ -32,143 +34,3 @@ include(itemmodels/itemmodels.pri)
QMAKE_LIBS += $$QMAKE_LIBS_GUI
-*-g++*|linux-icc*|*-clang*|*-qcc* {
- sse2 {
- sse2_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- !contains(QT_CPU_FEATURES, sse2):sse2_compiler.commands += $$QMAKE_CFLAGS_SSE2
- sse2_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- sse2_compiler.dependency_type = TYPE_C
- sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- sse2_compiler.input = SSE2_SOURCES
- sse2_compiler.variable_out = OBJECTS
- sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN}
- silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands
- QMAKE_EXTRA_COMPILERS += sse2_compiler
- }
- ssse3 {
- ssse3_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- !contains(QT_CPU_FEATURES, ssse3):ssse3_compiler.commands += $$QMAKE_CFLAGS_SSSE3
- ssse3_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- ssse3_compiler.dependency_type = TYPE_C
- ssse3_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- ssse3_compiler.input = SSSE3_SOURCES
- ssse3_compiler.variable_out = OBJECTS
- ssse3_compiler.name = compiling[ssse3] ${QMAKE_FILE_IN}
- silent:ssse3_compiler.commands = @echo compiling[ssse3] ${QMAKE_FILE_IN} && $$ssse3_compiler.commands
- QMAKE_EXTRA_COMPILERS += ssse3_compiler
- }
- avx {
- avx_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- !contains(QT_CPU_FEATURES, avx):avx_compiler.commands += $$QMAKE_CFLAGS_AVX
- avx_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- avx_compiler.dependency_type = TYPE_C
- avx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- avx_compiler.input = AVX_SOURCES
- avx_compiler.variable_out = OBJECTS
- avx_compiler.name = compiling[avx] ${QMAKE_FILE_IN}
- silent:avx_compiler.commands = @echo compiling[avx] ${QMAKE_FILE_IN} && $$avx_compiler.commands
- QMAKE_EXTRA_COMPILERS += avx_compiler
- }
- neon {
- HEADERS += $$NEON_HEADERS
-
- DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM
-
- neon_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- !contains(QT_CPU_FEATURES, neon):neon_compiler.commands += $$QMAKE_CFLAGS_NEON
- neon_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- neon_compiler.dependency_type = TYPE_C
- neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- neon_compiler.input = DRAWHELPER_NEON_ASM_FILES NEON_SOURCES
- neon_compiler.variable_out = OBJECTS
- neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN}
- silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands
- QMAKE_EXTRA_COMPILERS += neon_compiler
- }
- iwmmxt {
- iwmmxt_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- iwmmxt_compiler.commands += $$QMAKE_CFLAGS_IWMMXT
- iwmmxt_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- iwmmxt_compiler.dependency_type = TYPE_C
- iwmmxt_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- iwmmxt_compiler.input = IWMMXT_SOURCES
- iwmmxt_compiler.variable_out = OBJECTS
- iwmmxt_compiler.name = compiling[iwmmxt] ${QMAKE_FILE_IN}
- silent:iwmmxt_compiler.commands = @echo compiling[iwmmxt] ${QMAKE_FILE_IN} && $$iwmmxt_compiler.commands
- QMAKE_EXTRA_COMPILERS += iwmmxt_compiler
- }
- mips_dsp {
- HEADERS += $$MIPS_DSP_HEADERS
-
- DRAWHELPER_MIPS_DSP_ASM_FILES = $$MIPS_DSP_ASM
- mips_dsp_compiler.commands = $$QMAKE_CXX -c
- mips_dsp_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- mips_dsp_compiler.dependency_type = TYPE_C
- mips_dsp_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- mips_dsp_compiler.input = DRAWHELPER_MIPS_DSP_ASM_FILES MIPS_DSP_SOURCES
- mips_dsp_compiler.variable_out = OBJECTS
- mips_dsp_compiler.name = compiling[mips_dsp] ${QMAKE_FILE_IN}
- silent:mips_dsp_compiler.commands = @echo compiling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_compiler.commands
- QMAKE_EXTRA_COMPILERS += mips_dsp_compiler
- }
- mips_dspr2 {
- HEADERS += $$MIPS_DSP_HEADERS
-
- DRAWHELPER_MIPS_DSPR2_ASM_FILES += $$MIPS_DSPR2_ASM
- mips_dspr2_compiler.commands = $$QMAKE_CXX -c
- mips_dspr2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- mips_dspr2_compiler.dependency_type = TYPE_C
- mips_dspr2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- mips_dspr2_compiler.input = DRAWHELPER_MIPS_DSPR2_ASM_FILES
- mips_dspr2_compiler.variable_out = OBJECTS
- mips_dspr2_compiler.name = compiling[mips_dspr2] ${QMAKE_FILE_IN}
- silent:mips_dspr2_compiler.commands = @echo compiling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_compiler.commands
- QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler
- }
-} else:win32-msvc* {
- sse2 {
- sse2_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- !contains(QT_CPU_FEATURES, sse2):sse2_compiler.commands += $$QMAKE_CFLAGS_SSE2
- sse2_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
- sse2_compiler.dependency_type = TYPE_C
- sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- sse2_compiler.input = SSE2_SOURCES
- sse2_compiler.variable_out = OBJECTS
- sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN}
- silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands
- QMAKE_EXTRA_COMPILERS += sse2_compiler
- }
- ssse3 {
- ssse3_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
- # MSVC doesn't have an option for SSSE3 specifically, so check if SSE2 is
- # already enabled instead
- !contains(QT_CPU_FEATURES, sse2):ssse3_compiler.commands += $$QMAKE_CFLAGS_SSSE3
- ssse3_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
- ssse3_compiler.dependency_type = TYPE_C
- ssse3_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- ssse3_compiler.input = SSSE3_SOURCES
- ssse3_compiler.variable_out = OBJECTS
- ssse3_compiler.name = compiling[ssse3] ${QMAKE_FILE_IN}
- silent:ssse3_compiler.commands = @echo compiling[ssse3] ${QMAKE_FILE_IN} && $$ssse3_compiler.commands
- QMAKE_EXTRA_COMPILERS += ssse3_compiler
- }
- avx {
- avx_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) -D_M_AVX
- !contains(QT_CPU_FEATURES, avx):avx_compiler.commands += $$QMAKE_CFLAGS_AVX
- avx_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
- avx_compiler.dependency_type = TYPE_C
- avx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- avx_compiler.input = AVX_SOURCES
- avx_compiler.variable_out = OBJECTS
- avx_compiler.name = compiling[avx] ${QMAKE_FILE_IN}
- silent:avx_compiler.commands = @echo compiling[avx] ${QMAKE_FILE_IN} && $$avx_compiler.commands
- QMAKE_EXTRA_COMPILERS += avx_compiler
- }
-} else:false {
- # This allows an IDE like Creator to know that these files are part of the sources
- SOURCES += $$SSE2_SOURCES $$SSSE3_SOURCES \
- $$AVX_SOURCES \
- $$NEON_SOURCES $$NEON_ASM \
- $$IWMMXT_SOURCES \
- $$MIPS_DSP_SOURCES $$MIPS_DSP_ASM $$MIPS_DSPR2_ASM
-}