1 # Copyright 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. 4 5 { 6 'variables': { 7 'chromium_code': 1, 8 }, 9 'targets': [ 10 { 11 'target_name': 'ui_unittests', 12 'type': '<(gtest_target_type)', 13 'dependencies': [ 14 '../base/base.gyp:base', 15 '../base/base.gyp:test_support_base', 16 '../skia/skia.gyp:skia', 17 '../testing/gmock.gyp:gmock', 18 '../testing/gtest.gyp:gtest', 19 '../third_party/icu/icu.gyp:icui18n', 20 '../third_party/icu/icu.gyp:icuuc', 21 '../url/url.gyp:url_lib', 22 'base/ui_base.gyp:ui_base', 23 'base/ui_base.gyp:ui_base_test_support', 24 'events/events.gyp:events_base', 25 'gfx/gfx.gyp:gfx_test_support', 26 'resources/ui_resources.gyp:ui_resources', 27 'resources/ui_resources.gyp:ui_test_pak', 28 'strings/ui_strings.gyp:ui_strings', 29 ], 30 # iOS uses a small subset of ui. common_sources are the only files that 31 # are built on iOS. 32 'common_sources' : [ 33 'base/layout_unittest.cc', 34 'base/l10n/l10n_util_mac_unittest.mm', 35 'base/l10n/l10n_util_unittest.cc', 36 'base/l10n/l10n_util_win_unittest.cc', 37 'base/l10n/time_format_unittest.cc', 38 'base/models/tree_node_iterator_unittest.cc', 39 'base/resource/data_pack_literal.cc', 40 'base/resource/data_pack_unittest.cc', 41 'base/resource/resource_bundle_unittest.cc', 42 'base/test/run_all_unittests.cc', 43 'gfx/screen_unittest.cc', 44 ], 45 'all_sources': [ 46 '<@(_common_sources)', 47 'base/accelerators/accelerator_manager_unittest.cc', 48 'base/accelerators/menu_label_accelerator_util_linux_unittest.cc', 49 'base/clipboard/custom_data_helper_unittest.cc', 50 'base/cocoa/base_view_unittest.mm', 51 'base/cocoa/cocoa_base_utils_unittest.mm', 52 'base/cocoa/controls/blue_label_button_unittest.mm', 53 'base/cocoa/controls/hover_image_menu_button_unittest.mm', 54 'base/cocoa/controls/hyperlink_button_cell_unittest.mm', 55 'base/cocoa/focus_tracker_unittest.mm', 56 'base/cocoa/fullscreen_window_manager_unittest.mm', 57 'base/cocoa/hover_image_button_unittest.mm', 58 'base/cocoa/menu_controller_unittest.mm', 59 'base/cocoa/nsgraphics_context_additions_unittest.mm', 60 'base/cocoa/tracking_area_unittest.mm', 61 'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc', 62 'base/models/list_model_unittest.cc', 63 'base/models/list_selection_model_unittest.cc', 64 'base/models/tree_node_model_unittest.cc', 65 'base/test/data/resource.h', 66 'base/text/bytes_formatting_unittest.cc', 67 'base/view_prop_unittest.cc', 68 'base/webui/web_ui_util_unittest.cc', 69 'gfx/canvas_unittest_mac.mm', 70 'gfx/platform_font_mac_unittest.mm', 71 'gfx/render_text_unittest.cc', 72 ], 73 'includes': [ 74 'display/display_unittests.gypi', 75 ], 76 'include_dirs': [ 77 '../', 78 ], 79 'conditions': [ 80 ['OS!="ios"', { 81 'sources' : ['<@(_all_sources)'], 82 'includes': [ 83 'base/ime/ime_unittests.gypi', 84 ], 85 }, { # OS=="ios" 86 'sources' : [ 87 '<@(_common_sources)', 88 ], 89 # The ResourceBundle unittest expects a locale.pak file to exist in 90 # the bundle for English-US. Copy it in from where it was generated 91 # by ui_resources.gyp:ui_test_pak. 92 'mac_bundle_resources': [ 93 '<(PRODUCT_DIR)/ui/en.lproj/locale.pak', 94 ], 95 'actions': [ 96 { 97 'action_name': 'copy_test_data', 98 'variables': { 99 'test_data_files': [ 100 'base/test/data', 101 ], 102 'test_data_prefix' : 'ui', 103 }, 104 'includes': [ '../build/copy_test_data_ios.gypi' ], 105 }, 106 ], 107 }], 108 ['OS == "win"', { 109 'sources': [ 110 'base/dragdrop/os_exchange_data_win_unittest.cc', 111 'base/win/hwnd_subclass_unittest.cc', 112 'gfx/color_profile_win_unittest.cc', 113 'gfx/font_fallback_win_unittest.cc', 114 'gfx/icon_util_unittest.cc', 115 'gfx/icon_util_unittests.rc', 116 'gfx/platform_font_win_unittest.cc', 117 ], 118 'include_dirs': [ 119 '../..', 120 '../third_party/wtl/include', 121 ], 122 'msvs_settings': { 123 'VCLinkerTool': { 124 'DelayLoadDLLs': [ 125 'd2d1.dll', 126 'd3d10_1.dll', 127 ], 128 'AdditionalDependencies': [ 129 'd2d1.lib', 130 'd3d10_1.lib', 131 ], 132 }, 133 }, 134 'link_settings': { 135 'libraries': [ 136 '-limm32.lib', 137 '-loleacc.lib', 138 ], 139 }, 140 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 141 'msvs_disabled_warnings': [ 4267, ], 142 }], 143 ['OS == "android"', { 144 'dependencies': [ 145 '../testing/android/native_test.gyp:native_test_native_code', 146 ], 147 }], 148 ['use_pango == 1', { 149 'dependencies': [ 150 '../build/linux/system.gyp:pangocairo', 151 ], 152 'conditions': [ 153 ['use_allocator!="none"', { 154 'dependencies': [ 155 '../base/allocator/allocator.gyp:allocator', 156 ], 157 }], 158 ], 159 }], 160 ['use_x11==1', { 161 'dependencies': [ 162 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', 163 'events/platform/x11/x11_events_platform.gyp:x11_events_platform', 164 ], 165 }], 166 ['OS=="android" or OS=="ios"', { 167 'sources!': [ 168 'gfx/render_text_unittest.cc', 169 ], 170 }], 171 ['OS!="win" or use_aura==0', { 172 'sources!': [ 173 'base/view_prop_unittest.cc', 174 ], 175 }], 176 ['use_x11==1 and use_aura==1', { 177 'sources': [ 178 'base/cursor/cursor_loader_x11_unittest.cc', 179 ], 180 }], 181 ['OS=="mac"', { 182 'dependencies': [ 183 'events/events.gyp:events_test_support', 184 'gfx/gfx.gyp:gfx_test_support', 185 'ui_unittests_bundle', 186 ], 187 }], 188 ['use_aura==1 or toolkit_views==1', { 189 'sources': [ 190 'base/dragdrop/os_exchange_data_unittest.cc', 191 ], 192 'dependencies': [ 193 'events/events.gyp:events', 194 'events/events.gyp:events_base', 195 'events/events.gyp:events_test_support', 196 'events/platform/events_platform.gyp:events_platform', 197 ], 198 }], 199 ['use_aura==1', { 200 'sources!': [ 201 'base/dragdrop/os_exchange_data_win_unittest.cc', 202 'gfx/screen_unittest.cc', 203 ], 204 }], 205 ['use_ozone==1 and use_pango==0', { 206 'sources!': [ 207 'gfx/render_text_unittest.cc', 208 ], 209 }], 210 ['chromeos==1', { 211 'dependencies': [ 212 '../chromeos/chromeos.gyp:chromeos', 213 'aura/aura.gyp:aura_test_support', 214 'chromeos/ui_chromeos.gyp:ui_chromeos', 215 'events/events.gyp:gesture_detection', 216 ], 217 'sources': [ 218 'chromeos/touch_exploration_controller_unittest.cc' 219 ], 220 'sources!': [ 221 'base/dragdrop/os_exchange_data_provider_aurax11_unittest.cc', 222 ], 223 }], 224 ], 225 'target_conditions': [ 226 ['OS == "ios"', { 227 'sources/': [ 228 # Pull in specific Mac files for iOS (which have been filtered out 229 # by file name rules). 230 ['include', '^base/l10n/l10n_util_mac_unittest\\.mm$'], 231 ], 232 }], 233 ], 234 }, 235 ], 236 'conditions': [ 237 # Mac target to build a test Framework bundle to mock out resource loading. 238 ['OS == "mac"', { 239 'targets': [ 240 { 241 'target_name': 'ui_unittests_bundle', 242 'type': 'shared_library', 243 'dependencies': [ 244 'resources/ui_resources.gyp:ui_test_pak', 245 ], 246 'includes': [ 'ui_unittests_bundle.gypi' ], 247 }, 248 ], 249 }], 250 ['OS == "android"', { 251 'targets': [ 252 { 253 'target_name': 'ui_unittests_apk', 254 'type': 'none', 255 'dependencies': [ 256 'ui_unittests', 257 ], 258 'variables': { 259 'test_suite_name': 'ui_unittests', 260 }, 261 'includes': [ '../build/apk_test.gypi' ], 262 }, 263 ], 264 }], 265 ], 266 } 267