diff options
author | Michael Goddard <michael.goddard@nokia.com> | 2012-07-24 12:49:14 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-01 02:25:26 +0200 |
commit | 019b97fc4fc84a9e81c66a659f5d22df2e0b85d6 (patch) | |
tree | 13d08ae3329b86689a4eb4d248efcefedf955832 /src/gui/gui.pro | |
parent | 1610b6df062ebbbb2019c1103abfb0919efd27f7 (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.pro | 142 |
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 -} |