7 DEFINES += QT_NO_USING_NAMESPACE
11 # Code coverage with TestCocoon
12 # The following is required as extra compilers use $$QMAKE_CXX instead of $(CXX).
13 # Without this, testcocoon.prf is read only after $$QMAKE_CXX is used by the
19 QMAKE_DOCS = $$PWD/doc/qtgui.qdocconf
20 QMAKE_DOCS_INDEX = ../../doc
22 include(accessible/accessible.pri)
23 include(kernel/kernel.pri)
24 include(image/image.pri)
25 include(text/text.pri)
26 include(painting/painting.pri)
27 include(util/util.pri)
28 include(math3d/math3d.pri)
29 include(opengl/opengl.pri)
30 include(animation/animation.pri)
31 include(itemmodels/itemmodels.pri)
33 QMAKE_LIBS += $$QMAKE_LIBS_GUI
35 *-g++*|linux-icc*|*-clang*|*-qcc* {
37 sse2_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
38 !contains(QT_CPU_FEATURES, sse2):sse2_compiler.commands += $$QMAKE_CFLAGS_SSE2
39 sse2_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
40 sse2_compiler.dependency_type = TYPE_C
41 sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
42 sse2_compiler.input = SSE2_SOURCES
43 sse2_compiler.variable_out = OBJECTS
44 sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN}
45 silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands
46 QMAKE_EXTRA_COMPILERS += sse2_compiler
49 ssse3_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
50 !contains(QT_CPU_FEATURES, ssse3):ssse3_compiler.commands += $$QMAKE_CFLAGS_SSSE3
51 ssse3_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
52 ssse3_compiler.dependency_type = TYPE_C
53 ssse3_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
54 ssse3_compiler.input = SSSE3_SOURCES
55 ssse3_compiler.variable_out = OBJECTS
56 ssse3_compiler.name = compiling[ssse3] ${QMAKE_FILE_IN}
57 silent:ssse3_compiler.commands = @echo compiling[ssse3] ${QMAKE_FILE_IN} && $$ssse3_compiler.commands
58 QMAKE_EXTRA_COMPILERS += ssse3_compiler
61 avx_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
62 !contains(QT_CPU_FEATURES, avx):avx_compiler.commands += $$QMAKE_CFLAGS_AVX
63 avx_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
64 avx_compiler.dependency_type = TYPE_C
65 avx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
66 avx_compiler.input = AVX_SOURCES
67 avx_compiler.variable_out = OBJECTS
68 avx_compiler.name = compiling[avx] ${QMAKE_FILE_IN}
69 silent:avx_compiler.commands = @echo compiling[avx] ${QMAKE_FILE_IN} && $$avx_compiler.commands
70 QMAKE_EXTRA_COMPILERS += avx_compiler
73 HEADERS += $$NEON_HEADERS
75 DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM
77 neon_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
78 !contains(QT_CPU_FEATURES, neon):neon_compiler.commands += $$QMAKE_CFLAGS_NEON
79 neon_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
80 neon_compiler.dependency_type = TYPE_C
81 neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
82 neon_compiler.input = DRAWHELPER_NEON_ASM_FILES NEON_SOURCES
83 neon_compiler.variable_out = OBJECTS
84 neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN}
85 silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands
86 QMAKE_EXTRA_COMPILERS += neon_compiler
89 iwmmxt_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
90 iwmmxt_compiler.commands += $$QMAKE_CFLAGS_IWMMXT
91 iwmmxt_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
92 iwmmxt_compiler.dependency_type = TYPE_C
93 iwmmxt_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
94 iwmmxt_compiler.input = IWMMXT_SOURCES
95 iwmmxt_compiler.variable_out = OBJECTS
96 iwmmxt_compiler.name = compiling[iwmmxt] ${QMAKE_FILE_IN}
97 silent:iwmmxt_compiler.commands = @echo compiling[iwmmxt] ${QMAKE_FILE_IN} && $$iwmmxt_compiler.commands
98 QMAKE_EXTRA_COMPILERS += iwmmxt_compiler
101 HEADERS += $$MIPS_DSP_HEADERS
103 DRAWHELPER_MIPS_DSP_ASM_FILES = $$MIPS_DSP_ASM
104 mips_dsp_compiler.commands = $$QMAKE_CXX -c
105 mips_dsp_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
106 mips_dsp_compiler.dependency_type = TYPE_C
107 mips_dsp_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
108 mips_dsp_compiler.input = DRAWHELPER_MIPS_DSP_ASM_FILES MIPS_DSP_SOURCES
109 mips_dsp_compiler.variable_out = OBJECTS
110 mips_dsp_compiler.name = compiling[mips_dsp] ${QMAKE_FILE_IN}
111 silent:mips_dsp_compiler.commands = @echo compiling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_compiler.commands
112 QMAKE_EXTRA_COMPILERS += mips_dsp_compiler
115 HEADERS += $$MIPS_DSP_HEADERS
117 DRAWHELPER_MIPS_DSPR2_ASM_FILES += $$MIPS_DSPR2_ASM
118 mips_dspr2_compiler.commands = $$QMAKE_CXX -c
119 mips_dspr2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
120 mips_dspr2_compiler.dependency_type = TYPE_C
121 mips_dspr2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
122 mips_dspr2_compiler.input = DRAWHELPER_MIPS_DSPR2_ASM_FILES
123 mips_dspr2_compiler.variable_out = OBJECTS
124 mips_dspr2_compiler.name = compiling[mips_dspr2] ${QMAKE_FILE_IN}
125 silent:mips_dspr2_compiler.commands = @echo compiling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_compiler.commands
126 QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler
130 sse2_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
131 !contains(QT_CPU_FEATURES, sse2):sse2_compiler.commands += $$QMAKE_CFLAGS_SSE2
132 sse2_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
133 sse2_compiler.dependency_type = TYPE_C
134 sse2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
135 sse2_compiler.input = SSE2_SOURCES
136 sse2_compiler.variable_out = OBJECTS
137 sse2_compiler.name = compiling[sse2] ${QMAKE_FILE_IN}
138 silent:sse2_compiler.commands = @echo compiling[sse2] ${QMAKE_FILE_IN} && $$sse2_compiler.commands
139 QMAKE_EXTRA_COMPILERS += sse2_compiler
142 ssse3_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
143 # MSVC doesn't have an option for SSSE3 specifically, so check if SSE2 is
144 # already enabled instead
145 !contains(QT_CPU_FEATURES, sse2):ssse3_compiler.commands += $$QMAKE_CFLAGS_SSSE3
146 ssse3_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
147 ssse3_compiler.dependency_type = TYPE_C
148 ssse3_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
149 ssse3_compiler.input = SSSE3_SOURCES
150 ssse3_compiler.variable_out = OBJECTS
151 ssse3_compiler.name = compiling[ssse3] ${QMAKE_FILE_IN}
152 silent:ssse3_compiler.commands = @echo compiling[ssse3] ${QMAKE_FILE_IN} && $$ssse3_compiler.commands
153 QMAKE_EXTRA_COMPILERS += ssse3_compiler
156 avx_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) -D_M_AVX
157 !contains(QT_CPU_FEATURES, avx):avx_compiler.commands += $$QMAKE_CFLAGS_AVX
158 avx_compiler.commands += $(INCPATH) ${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT}
159 avx_compiler.dependency_type = TYPE_C
160 avx_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
161 avx_compiler.input = AVX_SOURCES
162 avx_compiler.variable_out = OBJECTS
163 avx_compiler.name = compiling[avx] ${QMAKE_FILE_IN}
164 silent:avx_compiler.commands = @echo compiling[avx] ${QMAKE_FILE_IN} && $$avx_compiler.commands
165 QMAKE_EXTRA_COMPILERS += avx_compiler
168 # This allows an IDE like Creator to know that these files are part of the sources
169 SOURCES += $$SSE2_SOURCES $$SSSE3_SOURCES \
171 $$NEON_SOURCES $$NEON_ASM \
173 $$MIPS_DSP_SOURCES $$MIPS_DSP_ASM $$MIPS_DSPR2_ASM