Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / gpu / gles2_conform_support / gles2_conform_test.gyp
blob1f23efa3c3cd0fc507cb27f9f972ad1225f02d40
1 # Copyright (c) 2013 The Chromium 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.
7   'includes': [
8     'gles2_conform.gypi',
9   ],
10   'target_defaults': {
11     'msvs_disabled_warnings': [4005, 4013, 4018, 4101, 4716],
12      'include_dirs': [
13        '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
14        '../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source',
15      ],
16   },
17   'targets': [
18     {
19       'target_name': 'gles2_conform_test',
20       'type': 'executable',
21       'dependencies': [
22         '<(DEPTH)/base/base.gyp:base',
23         '<(DEPTH)/gpu/gpu.gyp:gpu',
24         '<(DEPTH)/testing/gtest.gyp:gtest',
25       ],
26       'sources': [
27         'gles2_conform_test.cc',
28       ],
29       'conditions': [
30         ['internal_gles2_conform_tests', {
31           'dependencies': [
32             'gles2_conform_test_windowless',
33           ],
34           'variables': {
35             'gles2_conform_test_output_dir': '<(SHARED_INTERMEDIATE_DIR)/gpu/gles2_conform_test',
36           },
37           'sources': [
38             '<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
39           ],
40           'actions': [
41             {
42               'action_name': 'generate_gles2_conform_tests',
43               'inputs': [
44                 'generate_gles2_conform_tests.py',
45                 'gles2_conform_test.h',
46                 '<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass_es20.run',
47               ],
48               'outputs': [
49                 '<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
50               ],
51               'action': [
52                 'python',
53                 'generate_gles2_conform_tests.py',
54                 '<(gles2_conform_test_output_dir)',
55               ],
56             },
57           ],
58         }], # internal_gles2_conform_tests
59       ],
60     },
61     # TODO(alokp): Add gles2_conform_test_pepper target
62   ],
63   'conditions': [
64     ['internal_gles2_conform_tests', {
65       'targets': [
66         {
67           'target_name': 'gles2_conform_test_embedded_data',
68           'type': 'none',
69           'hard_dependency': 1,
70           'actions': [
71             {
72               'action_name': 'generate_gles2_conform_embedded_files',
73               'variables': {
74                 'generator_path': 'generate_gles2_embedded_data.py',
75               },
76               'inputs': [
77                 '<(generator_path)',
78                 '<!@(python <(generator_path) ../../third_party/gles2_conform/GTF_ES/glsl/GTF)',
79               ],
80               'outputs': [
81                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.c',
82                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.h',
83                 #'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesTOC.c',
84                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.c',
85                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.h',
86                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesTOC.c',
87               ],
88               'action': [
89                 'python',
90                 '<(generator_path)',
91                 '../../third_party/gles2_conform/GTF_ES/glsl/GTF',
92                 '<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
93               ],
94             },
95           ],
96         },
97         {
98           'target_name': 'gles2_conform_test_windowless',
99           'type': 'executable',
100           'dependencies': [
101             'gles2_conform_test_embedded_data',
102             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_native',
103             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_windowless',
104             '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib_nocheck',
105             '<(DEPTH)/third_party/expat/expat.gyp:expat',
106           ],
107           'conditions': [
108             ['OS=="linux"', {
109               'conditions': [
110                 [ 'chromeos==0', {
111                   'dependencies': ['../../build/linux/system.gyp:gtk']
112                 }],
113                 [ 'clang==1', {
114                   'cflags': [
115                     '-Wno-array-bounds',
116                     '-Wno-implicit-function-declaration',
117                     '-Wno-incompatible-pointer-types',
118                     '-Wno-parentheses-equality',
119                     '-Wno-pointer-sign',
120                     '-Wno-return-type',
121                     '-Wno-sizeof-pointer-memaccess',
122                     '-Wno-tautological-compare'
123                   ]
124                 }]
125               ],
126             }],
127             ['OS=="win"', {
128               'dependencies': [
129                 '<(angle_path)/src/angle.gyp:libGLESv2',
130                 '<(angle_path)/src/angle.gyp:libEGL',
131               ],
132               'defines': [
133                 'EGLAPI=',
134                 'EGLAPIENTRY=',
135               ],
136               'msvs_disabled_warnings': [
137                 4018,  # signed/unsigned mismatch
138                 4101,  # unreferenced local variable
139                 4715,  # not all control paths return a value
140                 4267,  # size_t/unsigned int conversion
141               ],
142               'defines!': [ 'NOMINMAX' ],
143             }],
144             ['OS=="mac"', {
145               'defines': [
146                 '_STDINT',
147                 '_STDINT_H',
148               ],
149               'conditions': [
150                 [ 'clang==1', {
151                   'cflags': [
152                     '-Wno-pointer-sign',
153                     '-Wno-array-bounds',
154                     '-Wno-sizeof-pointer-memaccess',
155                     '-Wno-implicit-function-declaration',
156                     '-Wno-logical-op-parentheses',
157                     '-Wno-tautological-compare',
158                     '-Wno-parentheses-equality',
159                     '-Wno-return-type',
160                   ],
161                   'xcode_settings': {
162                     'LD': 'clang++',
163                     'WARNING_CFLAGS': [
164                       '-Wno-pointer-sign',
165                       '-Wno-array-bounds',
166                       '-Wno-sizeof-pointer-memaccess',
167                       '-Wno-implicit-function-declaration',
168                       '-Wno-logical-op-parentheses',
169                       '-Wno-tautological-compare',
170                       '-Wno-parentheses-equality',
171                       '-Wno-return-type',
172                     ],
173                   },
174                 }],
175               ],
176             }],
177           ],
178           'defines': [
179             'GTF_API=GTF_GLES20',
180             'HKEMBEDDEDFILESYSTEM',
181           ],
182           'sources': [
183             '<@(gtf_es_sources)',
184             # Include a dummy c++ file to force linking of libstdc++.
185             '<(DEPTH)/gpu/gles2_conform_support/dummy.cc',
186           ],
187           'run_as': {
188             'conditions': [
189               ['OS=="win"', {
190                 'action': [
191                   '$(TargetPath)',
192                   '-noimagefileio',
193                   '-run=<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass.run',
194                 ],
195               }],
196             ],
197           },
198         },
199       ],
200     }], # internal_gles2_conform_tests
201     ['OS=="win" and internal_gles2_conform_tests', {
202       'targets': [
203         {
204           'target_name': 'gles2_conform_test_angle',
205           'type': 'executable',
206           'dependencies': [
207             'gles2_conform_test_embedded_data',
208             '<(DEPTH)/base/base.gyp:base',
209             '<(DEPTH)/third_party/expat/expat.gyp:expat',
210             '<(angle_path)/src/angle.gyp:libGLESv2',
211             '<(angle_path)/src/angle.gyp:libEGL',
212             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
213           ],
214           'defines': [
215             'GTF_API=GTF_GLES20',
216           ],
217           'include_dirs': [
218             '<(DEPTH)/third_party/angle_dx11/include',
219           ],
220           'sources': [
221             '<@(gtf_es_sources)',
222           ],
223         },
224       ],
225     }],
227     ['chromeos==1 and internal_gles2_conform_tests', {
228       'targets': [
229         {
230           'target_name': 'gles2_conform_test_chromeos',
231           'type': 'executable',
232           'dependencies': [
233             'gles2_conform_test_embedded_data',
234             '<(DEPTH)/base/base.gyp:*',
235             '<(DEPTH)/third_party/expat/expat.gyp:expat',
236             '<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
237           ],
238           'libraries': [
239             '-lEGL',
240             '-lGLESv2',
241           ],
242           'defines': [
243             'GTF_API=GTF_GLES20',
244             'CHROMEOS_GLES2_CONFORMANCE',
245           ],
246           'sources': [
247             '<@(gtf_es_sources)',
248           ],
249         },
250       ],
251     }],
252   ],
256 # Local Variables:
257 # tab-width:2
258 # indent-tabs-mode:nil
259 # End:
260 # vim: set expandtab tabstop=2 shiftwidth=2: