# Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights # reserved. Use of this source code is governed by a BSD-style license that # can be found in the LICENSE file. { 'variables': { 'pkg-config': 'pkg-config', 'chromium_code': 1, 'repack_locales_cmd': ['python', 'tools/repack_locales.py'], 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/cef', }, 'conditions': [ [ 'os_posix==1 and OS!="mac" and OS!="android" and gcc_version==46', { 'target_defaults': { # Disable warnings about c++0x compatibility, as some names (such # as nullptr) conflict with upcoming c++0x types. 'cflags_cc': ['-Wno-c++0x-compat'], }, }], ], 'includes': [ # Bring in the source file lists. 'cef_paths2.gypi', ], 'targets': [ { 'target_name': 'cefclient', 'type': 'executable', 'mac_bundle': 1, 'msvs_guid': '6617FED9-C5D4-4907-BF55-A90062A6683F', 'dependencies': [ '../third_party/npapi/npapi.gyp:npapi', 'libcef', 'libcef_dll_wrapper', ], 'defines': [ 'USING_CEF_SHARED', ], 'include_dirs': [ '.', '..', ], 'sources': [ '<@(includes_common)', '<@(includes_wrapper)', '<@(cefclient_sources_common)', ], 'mac_bundle_resources': [ '<@(cefclient_bundle_resources_mac)', ], 'mac_bundle_resources!': [ # TODO(mark): Come up with a fancier way to do this (mac_info_plist?) # that automatically sets the correct INFOPLIST_FILE setting and adds # the file to a source group. 'tests/cefclient/mac/Info.plist', ], 'xcode_settings': { 'INFOPLIST_FILE': 'tests/cefclient/mac/Info.plist', }, 'conditions': [ ['OS=="win"', { 'variables': { 'repack_path': '../tools/grit/grit/format/repack.py', }, 'actions': [ { 'action_name': 'repack_locales', 'inputs': [ 'tools/repack_locales.py', # NOTE: Ideally the common command args would be shared # amongst inputs/outputs/action, but the args include shell # variables which need to be passed intact, and command # expansion wants to expand the shell variables. Adding the # explicit quoting here was the only way it seemed to work. '>!@(<(repack_locales_cmd) -i -g \"<(grit_out_dir)\" -s \"<(SHARED_INTERMEDIATE_DIR)\" -x \"<(INTERMEDIATE_DIR)\" <(locales))', ], 'outputs': [ '>!@(<(repack_locales_cmd) -o -g \"<(grit_out_dir)\" -s \"<(SHARED_INTERMEDIATE_DIR)\" -x \"<(INTERMEDIATE_DIR)\" <(locales))', ], 'action': [ '<@(repack_locales_cmd)', '-g', '<(grit_out_dir)', '-s', '<(SHARED_INTERMEDIATE_DIR)', '-x', '<(INTERMEDIATE_DIR)', '<@(locales)', ], }, { # On Windows chrome.pak will contain only the inspector resources. # Other resources are built into libcef.dll. 'action_name': 'repack_resources', 'variables': { 'pak_inputs': [ '<(grit_out_dir)/devtools_resources.pak', ], }, 'inputs': [ '<(repack_path)', '<@(pak_inputs)', ], 'outputs': [ '<(INTERMEDIATE_DIR)/repack/chrome.pak', ], 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], }, ], 'copies': [ { 'destination': '<(PRODUCT_DIR)/locales', 'files': [ '!@(<(repack_locales_cmd) -i -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))', ], 'outputs': [ '>!@(<(repack_locales_cmd) -o -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))', ], 'action': [ '<@(repack_locales_cmd)', '-g', '<(grit_out_dir)', '-s', '<(SHARED_INTERMEDIATE_DIR)', '-x', '<(INTERMEDIATE_DIR)', '<@(locales)', ], }, { 'action_name': 'repack_resources', 'process_outputs_as_mac_bundle_resources': 1, 'variables': { 'pak_inputs': [ '<(grit_out_dir)/devtools_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak', ], }, 'inputs': [ '<(repack_path)', '<@(pak_inputs)', ], 'outputs': [ '<(INTERMEDIATE_DIR)/repack/chrome.pak', ], 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], }, ], 'copies': [ { # Add library dependencies to the bundle. 'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/MacOS/', 'files': [ '<(PRODUCT_DIR)/libcef.dylib', '<(PRODUCT_DIR)/ffmpegsumo.so', ], }, { # Add the WebCore resources to the bundle. 'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/', 'files': [ '../third_party/WebKit/Source/WebCore/Resources/', ], }, ], 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', ], }, 'sources': [ '<@(includes_mac)', '<@(cefclient_sources_mac)', ], }], [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { 'sources': [ '<@(includes_linux)', '<@(cefclient_sources_linux)', ], 'variables': { 'repack_path': '../tools/grit/grit/format/repack.py', }, 'actions': [ { 'action_name': 'repack_locales', 'inputs': [ 'tools/repack_locales.py', # NOTE: Ideally the common command args would be shared # amongst inputs/outputs/action, but the args include shell # variables which need to be passed intact, and command # expansion wants to expand the shell variables. Adding the # explicit quoting here was the only way it seemed to work. '>!@(<(repack_locales_cmd) -i -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))', ], 'outputs': [ '>!@(<(repack_locales_cmd) -o -g \'<(grit_out_dir)\' -s \'<(SHARED_INTERMEDIATE_DIR)\' -x \'<(INTERMEDIATE_DIR)\' <(locales))', ], 'action': [ '<@(repack_locales_cmd)', '-g', '<(grit_out_dir)', '-s', '<(SHARED_INTERMEDIATE_DIR)', '-x', '<(INTERMEDIATE_DIR)', '<@(locales)', ], }, { 'action_name': 'repack_resources', 'variables': { 'pak_inputs': [ '<(grit_out_dir)/devtools_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak', '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak', ], }, 'inputs': [ '<(repack_path)', '<@(pak_inputs)', ], 'outputs': [ '<(INTERMEDIATE_DIR)/repack/chrome.pak', ], 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'], }, ], 'copies': [ { 'destination': '<(PRODUCT_DIR)/locales', 'files': [ '