blob: 5985c34b48addb753d4a885ed770e0b9dc0f250b [file] [log] [blame]
Geoff Langc3597522013-09-05 11:12:14 -04001# Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
Geoff Lang6ba49d92014-05-07 12:59:47 -04006 'variables':
7 {
8 'angle_build_conformance_tests%': '0',
Geoff Lang5df9f522014-05-16 10:37:47 -04009 'angle_build_deqp_tests%': '0',
Geoff Lang6ba49d92014-05-07 12:59:47 -040010 },
Geoff Langc3597522013-09-05 11:12:14 -040011 'targets':
12 [
13 {
14 'target_name': 'gtest',
15 'type': 'static_library',
Geoff Langd095bda2014-04-07 14:21:14 -040016 'includes': [ '../build/common_defines.gypi', ],
Geoff Langc3597522013-09-05 11:12:14 -040017 'include_dirs':
18 [
Geoff Lang0049e432013-10-07 17:07:33 -040019 'third_party/googletest',
20 'third_party/googletest/include',
Geoff Langc3597522013-09-05 11:12:14 -040021 ],
22 'sources':
23 [
Geoff Lang0049e432013-10-07 17:07:33 -040024 'third_party/googletest/src/gtest-all.cc',
Geoff Langc3597522013-09-05 11:12:14 -040025 ],
Geoff Lang4a9e2362013-10-17 10:31:32 -040026 'defines':
27 [
28 '_VARIADIC_MAX=10',
29 ],
30 'direct_dependent_settings':
31 {
32 'defines':
33 [
34 '_VARIADIC_MAX=10',
35 ],
36 },
Geoff Langc3597522013-09-05 11:12:14 -040037 },
38
39 {
40 'target_name': 'gmock',
41 'type': 'static_library',
Geoff Langd095bda2014-04-07 14:21:14 -040042 'includes': [ '../build/common_defines.gypi', ],
Geoff Langc3597522013-09-05 11:12:14 -040043 'include_dirs':
44 [
Geoff Lang0049e432013-10-07 17:07:33 -040045 'third_party/googlemock',
46 'third_party/googlemock/include',
47 'third_party/googletest/include',
Geoff Langc3597522013-09-05 11:12:14 -040048 ],
49 'sources':
50 [
Geoff Lang0049e432013-10-07 17:07:33 -040051 'third_party/googlemock/src/gmock-all.cc',
Geoff Langc3597522013-09-05 11:12:14 -040052 ],
Geoff Lang4a9e2362013-10-17 10:31:32 -040053 'defines':
54 [
55 '_VARIADIC_MAX=10',
56 ],
57 'direct_dependent_settings':
58 {
59 'defines':
60 [
61 '_VARIADIC_MAX=10',
62 ],
63 },
Geoff Langc3597522013-09-05 11:12:14 -040064 },
65
66 {
67 'target_name': 'preprocessor_tests',
68 'type': 'executable',
69 'dependencies':
70 [
71 '../src/angle.gyp:preprocessor',
72 'gtest',
73 'gmock',
74 ],
75 'include_dirs':
76 [
77 '../src/compiler/preprocessor',
Geoff Lang0049e432013-10-07 17:07:33 -040078 'third_party/googletest/include',
79 'third_party/googlemock/include',
Geoff Langc3597522013-09-05 11:12:14 -040080 ],
Jamie Madill236be222014-02-24 15:26:53 -050081 'includes':
Geoff Langc3597522013-09-05 11:12:14 -040082 [
Geoff Langd095bda2014-04-07 14:21:14 -040083 '../build/common_defines.gypi',
Jamie Madill236be222014-02-24 15:26:53 -050084 'preprocessor_tests/preprocessor_tests.gypi',
Geoff Langc3597522013-09-05 11:12:14 -040085 ],
Geoff Lang1deca4f2014-04-17 10:50:43 -040086 'sources':
87 [
88 'preprocessor_tests/preprocessor_test_main.cpp',
89 ],
Geoff Langc3597522013-09-05 11:12:14 -040090 },
91
92 {
93 'target_name': 'compiler_tests',
94 'type': 'executable',
95 'dependencies':
96 [
Jamie Madill8cc03bf2014-04-11 13:33:57 -040097 '../src/angle.gyp:translator_static',
Geoff Langc3597522013-09-05 11:12:14 -040098 'gtest',
Geoff Langc3597522013-09-05 11:12:14 -040099 ],
100 'include_dirs':
101 [
102 '../include',
103 '../src',
Geoff Lang0049e432013-10-07 17:07:33 -0400104 'third_party/googletest/include',
Geoff Langc3597522013-09-05 11:12:14 -0400105 ],
Jamie Madill236be222014-02-24 15:26:53 -0500106 'includes':
Geoff Langc3597522013-09-05 11:12:14 -0400107 [
Geoff Langd095bda2014-04-07 14:21:14 -0400108 '../build/common_defines.gypi',
Jamie Madill236be222014-02-24 15:26:53 -0500109 'compiler_tests/compiler_tests.gypi',
Geoff Langc3597522013-09-05 11:12:14 -0400110 ],
Geoff Lang1deca4f2014-04-17 10:50:43 -0400111 'sources':
112 [
113 'compiler_tests/compiler_test_main.cpp',
114 ],
Geoff Langc3597522013-09-05 11:12:14 -0400115 },
Kenneth Russelldb8ae162014-08-25 19:02:35 -0700116
117 {
118 'target_name': 'angle_implementation_unit_tests',
119 'type': 'executable',
120 'dependencies':
121 [
122 '../src/angle.gyp:libGLESv2_static',
123 'gtest',
124 'gmock',
125 ],
126 'include_dirs':
127 [
128 '../include',
129 '../src',
130 'third_party/googletest/include',
131 'third_party/googlemock/include',
132 ],
133 'includes':
134 [
135 '../build/common_defines.gypi',
136 'angle_implementation_unit_tests/angle_implementation_unit_tests.gypi',
137 ],
138 'sources':
139 [
140 'angle_implementation_unit_tests/angle_implementation_unit_tests_main.cpp',
141 ],
142 },
Geoff Langc3597522013-09-05 11:12:14 -0400143 ],
Geoff Lang8a079e52013-10-18 16:13:33 -0400144
145 'conditions':
146 [
147 ['OS=="win"',
148 {
149 'targets':
150 [
151 {
152 'target_name': 'angle_tests',
153 'type': 'executable',
Geoff Langd095bda2014-04-07 14:21:14 -0400154 'includes': [ '../build/common_defines.gypi', ],
Geoff Lang8a079e52013-10-18 16:13:33 -0400155 'dependencies':
156 [
157 '../src/angle.gyp:libGLESv2',
158 '../src/angle.gyp:libEGL',
159 'gtest',
Jamie Madill8add0eb2014-08-26 13:16:35 -0400160 '../util/util.gyp:angle_util',
Geoff Lang8a079e52013-10-18 16:13:33 -0400161 ],
162 'include_dirs':
163 [
164 '../include',
165 'angle_tests',
166 'third_party/googletest/include',
Geoff Lang8a079e52013-10-18 16:13:33 -0400167 ],
168 'sources':
169 [
Jamie Madillf0b40602014-03-24 14:49:11 -0400170 '<!@(python <(angle_path)/enumerate_files.py angle_tests -types *.cpp *.h *.inl)'
Geoff Lang8a079e52013-10-18 16:13:33 -0400171 ],
172 },
Jamie Madillc5a63122013-12-09 13:03:32 -0500173 {
174 'target_name': 'standalone_tests',
175 'type': 'executable',
Geoff Langd095bda2014-04-07 14:21:14 -0400176 'includes': [ '../build/common_defines.gypi', ],
Jamie Madillc5a63122013-12-09 13:03:32 -0500177 'dependencies':
178 [
179 'gtest',
180 'gmock',
181 ],
182 'include_dirs':
183 [
184 '../include',
185 'angle_tests',
186 'third_party/googletest/include',
187 'third_party/googlemock/include',
188 ],
189 'sources':
190 [
Jamie Madillf0b40602014-03-24 14:49:11 -0400191 '<!@(python <(angle_path)/enumerate_files.py standalone_tests -types *.cpp *.h)'
Jamie Madillc5a63122013-12-09 13:03:32 -0500192 ],
193 },
Jamie Madillffcc2e62014-08-26 13:16:40 -0400194 {
195 'target_name': 'angle_perf_tests',
196 'type': 'executable',
197 'includes': [ '../build/common_defines.gypi', ],
198 'dependencies':
199 [
200 '../src/angle.gyp:libGLESv2',
201 '../src/angle.gyp:libEGL',
202 'gtest',
203 '../util/util.gyp:angle_util',
204 ],
205 'include_dirs':
206 [
207 '../include',
208 'third_party/googletest/include',
209 ],
210 'sources':
211 [
Jamie Madill33ea2f92014-08-29 15:15:01 -0400212 'perf_tests/BufferSubData.cpp',
213 'perf_tests/BufferSubData.h',
Jamie Madillffcc2e62014-08-26 13:16:40 -0400214 'perf_tests/SimpleBenchmark.cpp',
215 'perf_tests/SimpleBenchmark.h',
216 'perf_tests/SimpleBenchmarks.cpp',
Jamie Madillbbffd552014-09-10 10:12:49 -0400217 'perf_tests/TexSubImage.cpp',
218 'perf_tests/TexSubImage.h',
Jamie Madillffcc2e62014-08-26 13:16:40 -0400219 ],
220 },
Geoff Lang8a079e52013-10-18 16:13:33 -0400221 ],
Geoff Lang6ba49d92014-05-07 12:59:47 -0400222 'conditions':
223 [
224 ['angle_build_conformance_tests',
225 {
226 'variables':
227 {
228 'gles_conformance_tests_output_dir': '<(SHARED_INTERMEDIATE_DIR)/conformance_tests',
229 'gles_conformance_tests_input_dir': 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF',
230 'gles_conformance_tests_generator_script': 'gles_conformance_tests/generate_gles_conformance_tests.py',
231 },
232 'targets':
233 [
234 {
235 'target_name': 'gles2_conformance_tests',
236 'type': 'executable',
237 'includes': [ '../build/common_defines.gypi', ],
238 'dependencies':
239 [
240 '../src/angle.gyp:libGLESv2',
241 '../src/angle.gyp:libEGL',
242 'gtest',
243 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es_cts_test_data',
244 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es2_cts',
245 ],
246 'variables':
247 {
248 'gles2_conformance_tests_input_file': '<(gles_conformance_tests_input_dir)/mustpass_es20.run',
249 'gles2_conformance_tests_generated_file': '<(gles_conformance_tests_output_dir)/generated_gles2_conformance_tests.cpp',
250 },
251 'sources':
252 [
253 '<!@(python <(angle_path)/enumerate_files.py gles_conformance_tests -types *.cpp *.h *.inl)',
254 '<(gles2_conformance_tests_generated_file)',
255 ],
256 'include_dirs':
257 [
258 '../include',
259 'gles_conformance_tests',
260 'third_party/googletest/include',
261 ],
262 'defines':
263 [
264 'CONFORMANCE_TESTS_TYPE=CONFORMANCE_TESTS_ES2',
265 ],
266 'actions':
267 [
268 {
269 'action_name': 'generate_gles2_conformance_tests',
270 'message': 'Generating ES2 conformance tests...',
271 'msvs_cygwin_shell': 0,
272 'inputs':
273 [
274 '<(gles_conformance_tests_generator_script)',
275 '<(gles2_conformance_tests_input_file)',
276 ],
277 'outputs':
278 [
279 '<(gles2_conformance_tests_generated_file)',
280 ],
281 'action':
282 [
283 'python',
284 '<(gles_conformance_tests_generator_script)',
285 '<(gles2_conformance_tests_input_file)',
286 '<(gles_conformance_tests_input_dir)',
287 '<(gles2_conformance_tests_generated_file)',
288 ],
289 },
290 ],
291 },
292 {
293 'target_name': 'gles3_conformance_tests',
294 'type': 'executable',
295 'includes': [ '../build/common_defines.gypi', ],
296 'dependencies':
297 [
298 '../src/angle.gyp:libGLESv2',
299 '../src/angle.gyp:libEGL',
300 'gtest',
301 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es_cts_test_data',
302 'third_party/gles_conformance_tests/conform/GTF_ES/glsl/GTF/es_cts.gyp:es3_cts',
303 ],
304 'variables':
305 {
306 'gles3_conformance_tests_input_file': '<(gles_conformance_tests_input_dir)/mustpass_es30.run',
307 'gles3_conformance_tests_generated_file': '<(gles_conformance_tests_output_dir)/generated_gles3_conformance_tests.cpp',
308 },
309 'sources':
310 [
311 '<!@(python <(angle_path)/enumerate_files.py gles_conformance_tests -types *.cpp *.h *.inl)',
312 '<(gles3_conformance_tests_generated_file)',
313 ],
314 'include_dirs':
315 [
316 '../include',
317 'gles_conformance_tests',
318 'third_party/googletest/include',
319 ],
320 'defines':
321 [
322 'CONFORMANCE_TESTS_TYPE=CONFORMANCE_TESTS_ES3',
323 ],
Geoff Langb1319f62014-08-28 10:55:25 -0400324 'msvs_settings':
325 {
326 'VCCLCompilerTool':
327 {
328 # MSVS has trouble compiling this due to the obj files becoming too large.
329 'AdditionalOptions': [ '/bigobj' ],
330 },
331 },
Geoff Lang6ba49d92014-05-07 12:59:47 -0400332 'actions':
333 [
334 {
335 'action_name': 'generate_gles3_conformance_tests',
336 'message': 'Generating ES3 conformance tests...',
337 'msvs_cygwin_shell': 0,
338 'inputs':
339 [
340 '<(gles_conformance_tests_generator_script)',
341 '<(gles3_conformance_tests_input_file)',
342 ],
343 'outputs':
344 [
345 '<(gles3_conformance_tests_generated_file)',
346 ],
347 'action':
348 [
349 'python',
350 '<(gles_conformance_tests_generator_script)',
351 '<(gles3_conformance_tests_input_file)',
352 '<(gles_conformance_tests_input_dir)',
353 '<(gles3_conformance_tests_generated_file)',
354 ],
355 },
356 ],
357 },
358 ],
359 }],
Geoff Lang5df9f522014-05-16 10:37:47 -0400360 ['angle_build_deqp_tests',
361 {
362 'targets':
363 [
364 {
365 'target_name': 'deqp_tests',
366 'type': 'executable',
367 'includes': [ '../build/common_defines.gypi', ],
368 'dependencies':
369 [
370 '../src/angle.gyp:libGLESv2',
371 '../src/angle.gyp:libEGL',
372 'gtest',
373 'third_party/deqp/src/deqp/modules/gles3/gles3.gyp:deqp-gles3',
374 'third_party/deqp/src/deqp/framework/platform/platform.gyp:tcutil-platform',
375 ],
376 'include_dirs':
377 [
378 '../include',
379 'third_party/googletest/include',
380 'deqp_tests',
381 ],
382 'variables':
383 {
384 'deqp_tests_output_dir': '<(SHARED_INTERMEDIATE_DIR)/deqp_tests',
385 'deqp_tests_input_file': 'deqp_tests/deqp_tests.txt',
386 'deqp_tests_generated_file': '<(deqp_tests_output_dir)/generated_deqp_tests.cpp',
387 },
388 'sources':
389 [
390 '<!@(python <(angle_path)/enumerate_files.py deqp_tests -types *.cpp *.h *.inl)',
391 '<(deqp_tests_generated_file)',
392 ],
393 'actions':
394 [
395 {
396 'action_name': 'generate_deqp_tests',
397 'message': 'Generating dEQP tests...',
398 'msvs_cygwin_shell': 0,
399 'variables':
400 {
401 'deqp_tests_generator_script': 'deqp_tests/generate_deqp_tests.py',
402 },
403 'inputs':
404 [
405 '<(deqp_tests_generator_script)',
406 '<(deqp_tests_input_file)',
407 ],
408 'outputs':
409 [
410 '<(deqp_tests_generated_file)',
411 ],
412 'action':
413 [
414 'python',
415 '<(deqp_tests_generator_script)',
416 '<(deqp_tests_input_file)',
417 '<(deqp_tests_generated_file)',
418 ],
419 },
420 ],
421 },
422 ],
423 }],
Geoff Lang6ba49d92014-05-07 12:59:47 -0400424 ],
Geoff Lang8a079e52013-10-18 16:13:33 -0400425 }],
426 ],
Geoff Langc3597522013-09-05 11:12:14 -0400427}