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 'target_defaults': { 6 'variables': { 7 'chromium_code': 1, 8 'enable_wexit_time_destructors': 1, 9 }, 10 'include_dirs': [ 11 '<(DEPTH)', 12 # To allow including "version.h" 13 '<(SHARED_INTERMEDIATE_DIR)', 14 ], 15 'defines' : [ 16 'COMPILE_CONTENT_STATICALLY', 17 'SECURITY_WIN32', 18 'STRICT', 19 '_ATL_APARTMENT_THREADED', 20 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS', 21 '_ATL_NO_COM_SUPPORT', 22 '_ATL_NO_AUTOMATIC_NAMESPACE', 23 '_ATL_NO_EXCEPTIONS', 24 ], 25 'conditions': [ 26 ['OS=="win"', { 27 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 28 'msvs_disabled_warnings': [ 4267, ], 29 }], 30 ], 31 }, 32 'targets': [ 33 { 34 'target_name': 'service_resources', 35 'type': 'none', 36 'variables': { 37 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/cloud_print', 38 }, 39 'actions': [ 40 { 41 'action_name': 'service_resources', 42 'variables': { 43 'grit_grd_file': 'win/service_resources.grd', 44 }, 45 'includes': [ '../../build/grit_action.gypi' ], 46 }, 47 ], 48 'includes': [ '../../build/grit_target.gypi' ], 49 }, 50 { 51 'target_name': 'cloud_print_service_lib', 52 'type': 'static_library', 53 'dependencies': [ 54 '<(DEPTH)/base/base.gyp:base', 55 '<(DEPTH)/base/base.gyp:base_static', 56 '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 57 '<(DEPTH)/components/components.gyp:cloud_devices_common', 58 '<(DEPTH)/google_apis/google_apis.gyp:google_apis', 59 '<(DEPTH)/ipc/ipc.gyp:ipc', 60 '<(DEPTH)/net/net.gyp:net', 61 '<(DEPTH)/url/url.gyp:url_lib', 62 'service_resources', 63 ], 64 'conditions': [ 65 ['OS=="win"', { 66 'dependencies': [ 67 '<(DEPTH)/chrome/chrome.gyp:chrome_version_header', 68 '<(DEPTH)/chrome/chrome.gyp:launcher_support', 69 '<(DEPTH)/chrome/common_constants.gyp:common_constants', 70 ], 71 }], 72 ['enable_printing!=0', { 73 'dependencies': [ 74 '<(DEPTH)/printing/printing.gyp:printing', 75 ], 76 }], 77 ], 78 'sources': [ 79 '<(DEPTH)/content/public/common/content_switches.h', 80 '<(DEPTH)/content/public/common/content_switches.cc', 81 '<(DEPTH)/cloud_print/common/win/cloud_print_utils.cc', 82 '<(DEPTH)/cloud_print/common/win/cloud_print_utils.h', 83 'service_constants.cc', 84 'service_constants.h', 85 'service_state.cc', 86 'service_state.h', 87 'service_switches.cc', 88 'service_switches.h', 89 'win/chrome_launcher.cc', 90 'win/chrome_launcher.h', 91 'win/local_security_policy.cc', 92 'win/local_security_policy.h', 93 'win/service_controller.cc', 94 'win/service_controller.h', 95 'win/service_listener.cc', 96 'win/service_listener.h', 97 'win/service_utils.cc', 98 'win/service_utils.h', 99 'win/setup_listener.cc', 100 'win/setup_listener.h', 101 ], 102 }, 103 { 104 'target_name': 'cloud_print_service', 105 'type': 'executable', 106 'sources': [ 107 '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_exe_version.rc', 108 'win/cloud_print_service.cc', 109 ], 110 'includes': [ 111 'win/service_resources.gypi' 112 ], 113 'dependencies': [ 114 'cloud_print_service_lib', 115 ], 116 'msvs_settings': { 117 'VCLinkerTool': { 118 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE 119 'UACExecutionLevel': '2', # /level='requireAdministrator' 120 'AdditionalDependencies': [ 121 'secur32.lib', 122 ], 123 }, 124 }, 125 }, 126 { 127 'target_name': 'cloud_print_service_config', 128 'type': 'executable', 129 'sources': [ 130 '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_config_exe_version.rc', 131 'win/cloud_print_service_config.cc', 132 ], 133 'includes': [ 134 'win/service_resources.gypi' 135 ], 136 'dependencies': [ 137 '<(DEPTH)/cloud_print/common/common.gyp:cloud_print_install_lib', 138 'cloud_print_service_lib', 139 ], 140 'msvs_settings': { 141 'VCManifestTool': { 142 'AdditionalManifestFiles': [ 143 'common-controls.manifest', 144 ], 145 }, 146 'VCLinkerTool': { 147 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 148 'UACExecutionLevel': '2', # /level='requireAdministrator' 149 'AdditionalDependencies': [ 150 'secur32.lib', 151 ], 152 }, 153 'conditions': [ 154 ['clang==1', { 155 # atlapp.h contains a global "using namespace WTL;". 156 # TODO: Remove once cloud_print_service_config.cc no longer depends 157 # on atlapp.h, http://crbug.com/5027 158 'VCCLCompilerTool': { 159 'AdditionalOptions': ['-Wno-header-hygiene'], 160 }, 161 }], 162 ], 163 }, 164 }, 165 { 166 'target_name': 'cloud_print_service_setup', 167 'type': 'executable', 168 'sources': [ 169 '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_setup_exe_version.rc', 170 'win/installer.cc', 171 'win/installer.h', 172 ], 173 'includes': [ 174 'win/service_resources.gypi' 175 ], 176 'dependencies': [ 177 '<(DEPTH)/cloud_print/common/common.gyp:cloud_print_install_lib', 178 'cloud_print_service_lib', 179 ], 180 'msvs_settings': { 181 'VCLinkerTool': { 182 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 183 'UACExecutionLevel': '2', # /level='requireAdministrator' 184 'AdditionalDependencies': [ 185 'secur32.lib', 186 ], 187 }, 188 }, 189 }, 190 ], 191 } 192