metro_driver.gyp revision effb81e5f8246d0db0270817048dc992db66e9fb
1# Copyright (c) 2012 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.
4{
5  'conditions': [
6    ['OS=="win"', {
7      'variables': {
8        'chromium_code': 1,
9      },
10      'includes': [
11        '../../build/util/version.gypi',
12        '../../build/win_precompile.gypi',
13      ],
14      'target_defaults': {
15        # This and the force include below is a workaround for intsafe.h in
16        # VS 2010.
17        'msvs_system_include_dirs': [
18          '<(DEPTH)/build',
19        ],
20        'msvs_settings': {
21          'VCLinkerTool': {
22            'AdditionalDependencies': [
23              'D2D1.lib',
24              'D3D11.lib',
25              'runtimeobject.lib',
26            ],
27            'DelayLoadDLLs': [
28              'API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL',
29              'API-MS-WIN-CORE-WINRT-L1-1-0.DLL',
30              'API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL',
31            ],
32          },
33          'VCCLCompilerTool': {
34            'ForcedIncludeFiles': [ 'intsafe_workaround.h', ],
35          },
36        },
37      },
38      'targets': [
39        {
40          'target_name': 'metro_driver_version_resources',
41          'type': 'none',
42          'conditions': [
43            ['branding == "Chrome"', {
44              'variables': {
45                 'branding_path': '../../chrome/app/theme/google_chrome/BRANDING',
46              },
47            }, { # else branding!="Chrome"
48              'variables': {
49                 'branding_path': '../../chrome/app/theme/chromium/BRANDING',
50              },
51            }],
52          ],
53          'variables': {
54            'output_dir': 'metro_driver',
55            'template_input_path': '../../chrome/app/chrome_version.rc.version',
56          },
57          'sources': [
58            'metro_driver_dll.ver',
59          ],
60          'includes': [
61            '../../chrome/version_resource_rules.gypi',
62          ],
63        },
64        {
65          'target_name': 'metro_driver',
66          'type': 'shared_library',
67          'dependencies': [
68            '../../base/base.gyp:base',
69            '../../chrome/common_constants.gyp:common_constants',
70            '../../chrome/chrome.gyp:installer_util',
71            '../../crypto/crypto.gyp:crypto',
72            '../../google_update/google_update.gyp:google_update',
73            '../../ipc/ipc.gyp:ipc',
74            '../../sandbox/sandbox.gyp:sandbox',
75            '../../ui/metro_viewer/metro_viewer.gyp:metro_viewer_messages',
76            '../../url/url.gyp:url_lib',
77            '../win8.gyp:check_sdk_patch',
78            'metro_driver_version_resources',
79          ],
80          'sources': [
81            'display_properties.cc',
82            'display_properties.h',
83            'metro_driver.cc',
84            'metro_driver.h',
85            'metro_driver_win7.cc',
86            'stdafx.h',
87            'winrt_utils.cc',
88            'winrt_utils.h',
89            '<(SHARED_INTERMEDIATE_DIR)/metro_driver/metro_driver_dll_version.rc',
90          ],
91          'conditions': [
92            ['use_aura==1', {
93              'dependencies': [
94                '../win8.gyp:metro_viewer_constants',
95              ],
96              'sources': [
97                'chrome_app_view_ash.cc',
98                'chrome_app_view_ash.h',
99                'direct3d_helper.cc',
100                'direct3d_helper.h',
101                'file_picker_ash.cc',
102                'file_picker_ash.h',
103              ],
104              'includes': [
105                'ime/ime.gypi',
106              ],
107            }, {  # use_aura!=1
108              'sources': [
109                'chrome_app_view.cc',
110                'chrome_app_view.h',
111                'chrome_url_launch_handler.cc',
112                'chrome_url_launch_handler.h',
113                'devices_handler.cc',
114                'devices_handler.h',
115                'file_picker.cc',
116                'file_picker.h',
117                'metro_dialog_box.cc',
118                'metro_dialog_box.h',
119                'print_document_source.cc',
120                'print_document_source.h',
121                'print_handler.cc',
122                'print_handler.h',
123                'secondary_tile.cc',
124                'secondary_tile.h',
125                'settings_handler.cc',
126                'settings_handler.h',
127                'toast_notification_handler.cc',
128                'toast_notification_handler.h',
129              ],
130            }],
131          ],
132          'copies': [
133            {
134              'destination': '<(PRODUCT_DIR)',
135              'files': [
136                'resources/Logo.png',
137                'resources/SecondaryTile.png',
138                'resources/SmallLogo.png',
139                'resources/splash-620x300.png',
140                'resources/VisualElementsManifest.xml',
141              ],
142            },
143          ],
144        },
145        {
146          'target_name': 'metro_driver_unittests',
147          'type': 'executable',
148          'dependencies': [
149            '../../base/base.gyp:base',
150            '../../chrome/chrome.gyp:installer_util',
151            '../../testing/gtest.gyp:gtest',
152            'metro_driver',
153          ],
154          'sources': [
155            'run_all_unittests.cc',
156            'winrt_utils.cc',
157            'winrt_utils.h',
158            'winrt_utils_unittest.cc',
159          ],
160        },
161      ],
162    },],
163  ],
164}
165