123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783 |
- {
- 'variables': {
- 'project_name%': 'electron',
- 'product_name%': 'Electron',
- 'company_name%': 'GitHub, Inc',
- 'company_abbr%': 'github',
- 'version%': '0.0.0-dev',
- 'js2c_input_dir': '<(SHARED_INTERMEDIATE_DIR)/js2c',
- },
- 'includes': [
- 'features.gypi',
- 'filenames.gypi',
- 'vendor/native_mate/native_mate_files.gypi',
- ],
- 'target_defaults': {
- 'defines': [
- 'ATOM_PRODUCT_NAME="<(product_name)"',
- 'ATOM_PROJECT_NAME="<(project_name)"',
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'mac_framework_dirs': [
- '<(source_root)/external_binaries',
- ],
- }],
- ['enable_osr==1', {
- 'defines': [
- 'ENABLE_OSR',
- ],
- }], # enable_osr==1
- ['enable_pdf_viewer==1', {
- 'defines': [
- 'ENABLE_PDF_VIEWER',
- ],
- }], # enable_pdf_viewer
- ['enable_run_as_node==1', {
- 'defines': [
- 'ENABLE_RUN_AS_NODE',
- ],
- }], # enable_run_as_node
- ['enable_view_api==1', {
- 'defines': [
- 'ENABLE_VIEW_API',
- ],
- }], # enable_view_api
- ],
- },
- 'targets': [
- {
- 'target_name': '<(project_name)',
- 'type': 'executable',
- 'dependencies': [
- 'js2asar',
- 'app2asar',
- '<(project_name)_lib',
- ],
- 'sources': [
- '<@(app_sources)',
- ],
- 'include_dirs': [
- '.',
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'product_name': '<(product_name)',
- 'mac_bundle': 1,
- 'dependencies!': [
- '<(project_name)_lib',
- ],
- 'dependencies': [
- '<(project_name)_framework',
- '<(project_name)_helper',
- ],
- 'xcode_settings': {
- 'ATOM_BUNDLE_ID': 'com.<(company_abbr).<(project_name)',
- 'INFOPLIST_FILE': 'atom/browser/resources/mac/Info.plist',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '@executable_path/../Frameworks',
- ],
- },
- 'mac_bundle_resources': [
- '<@(bundle_sources)',
- ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/<(product_name).app/Contents/Frameworks',
- 'files': [
- '<(PRODUCT_DIR)/<(product_name) Helper.app',
- '<(PRODUCT_DIR)/<(product_name) Framework.framework',
- ],
- },
- ],
- 'postbuilds': [
- {
- # This postbuid step is responsible for creating the following
- # helpers:
- #
- # <(product_name) EH.app and <(product_name) NP.app are created
- # from <(product_name).app.
- #
- # The EH helper is marked for an executable heap. The NP helper
- # is marked for no PIE (ASLR).
- 'postbuild_name': 'Make More Helpers',
- 'action': [
- 'tools/mac/make_more_helpers.sh',
- 'Frameworks',
- '<(product_name)',
- ],
- },
- # The application doesn't have real localizations, it just has
- # empty .lproj directories, which is enough to convince Cocoa
- # that Electron supports those languages.
- {
- 'postbuild_name': 'Make Empty Localizations',
- 'variables': {
- 'apply_locales_cmd': ['python', 'tools/mac/apply_locales.py'],
- 'locale_dirs': [
- '>!@(<(apply_locales_cmd) -d ZZLOCALE.lproj <(locales))',
- ],
- },
- 'action': [
- 'tools/mac/make_locale_dirs.sh',
- '<@(locale_dirs)',
- ],
- },
- ],
- 'conditions': [
- ['mas_build==0', {
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/<(product_name).app/Contents/Frameworks',
- 'files': [
- 'external_binaries/Squirrel.framework',
- 'external_binaries/ReactiveCocoa.framework',
- 'external_binaries/Mantle.framework',
- ],
- },
- ],
- }],
- ['mas_build==1', {
- 'dependencies': [
- '<(project_name)_login_helper',
- ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/<(product_name).app/Contents/Library/LoginItems',
- 'files': [
- '<(PRODUCT_DIR)/<(product_name) Login Helper.app',
- ],
- },
- ],
- }],
- ],
- }], # OS!="mac"
- ['OS=="win"', {
- 'include_dirs': [
- '<(libchromiumcontent_dir)/gen/ui/resources',
- ],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'true',
- 'AdditionalManifestFiles': 'atom/browser/resources/win/atom.manifest',
- },
- 'VCLinkerTool': {
- # Chrome builds with this minimum environment which makes e.g.
- # GetSystemMetrics(SM_CXSIZEFRAME) return Windows XP/2003
- # compatible metrics. See: https://crbug.com/361720
- #
- # The following two settings translate to a linker flag
- # of /SUBSYSTEM:WINDOWS,5.02
- 'MinimumRequiredVersion': '5.02',
- 'SubSystem': '2',
- 'AdditionalDependencies': [
- 'wtsapi32.lib',
- ],
- },
- },
- 'copies': [
- {
- 'variables': {
- 'conditions': [
- ['libchromiumcontent_component', {
- 'copied_libraries': [
- '<@(libchromiumcontent_shared_libraries)',
- '<@(libchromiumcontent_shared_v8_libraries)',
- ],
- }, {
- 'copied_libraries': [
- '<(libchromiumcontent_dir)/ffmpeg.dll',
- ],
- }],
- ],
- },
- 'destination': '<(PRODUCT_DIR)',
- 'files': [
- '<@(copied_libraries)',
- '<(libchromiumcontent_dir)/locales',
- '<(libchromiumcontent_dir)/libEGL.dll',
- '<(libchromiumcontent_dir)/libGLESv2.dll',
- '<(libchromiumcontent_dir)/icudtl.dat',
- '<(libchromiumcontent_dir)/blink_image_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/content_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/content_shell.pak',
- '<(libchromiumcontent_dir)/ui_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/views_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/natives_blob.bin',
- '<(libchromiumcontent_dir)/snapshot_blob.bin',
- 'external_binaries/d3dcompiler_47.dll',
- ],
- },
- ],
- }, {
- 'dependencies': [
- 'vendor/breakpad/breakpad.gyp:dump_syms#host',
- ],
- }], # OS=="win"
- ['OS=="linux"', {
- 'copies': [
- {
- 'variables': {
- 'conditions': [
- ['libchromiumcontent_component', {
- 'copied_libraries': [
- '<(PRODUCT_DIR)/lib/libnode.so',
- '<@(libchromiumcontent_shared_libraries)',
- '<@(libchromiumcontent_shared_v8_libraries)',
- ],
- }, {
- 'copied_libraries': [
- '<(PRODUCT_DIR)/lib/libnode.so',
- '<(libchromiumcontent_dir)/libffmpeg.so',
- ],
- }],
- ],
- },
- 'destination': '<(PRODUCT_DIR)',
- 'files': [
- '<@(copied_libraries)',
- '<(libchromiumcontent_dir)/locales',
- '<(libchromiumcontent_dir)/icudtl.dat',
- '<(libchromiumcontent_dir)/blink_image_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/content_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/content_shell.pak',
- '<(libchromiumcontent_dir)/ui_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/views_resources_200_percent.pak',
- '<(libchromiumcontent_dir)/natives_blob.bin',
- '<(libchromiumcontent_dir)/snapshot_blob.bin',
- ],
- },
- ],
- }], # OS=="linux"
- ],
- }, # target <(project_name)
- {
- 'target_name': '<(project_name)_lib',
- 'type': 'static_library',
- 'dependencies': [
- 'atom_js2c',
- 'brightray/brightray.gyp:brightray',
- 'vendor/node/node.gyp:node_lib',
- ],
- 'defines': [
- # We need to access internal implementations of Node.
- 'NODE_WANT_INTERNALS=1',
- 'NODE_SHARED_MODE',
- 'HAVE_OPENSSL=1',
- 'HAVE_INSPECTOR=1',
- # This is defined in skia/skia_common.gypi.
- 'SK_SUPPORT_LEGACY_GETTOPDEVICE',
- # Disable warnings for g_settings_list_schemas.
- 'GLIB_DISABLE_DEPRECATION_WARNINGS',
- # Defined in Chromium but not exposed in its gyp file.
- 'V8_USE_EXTERNAL_STARTUP_DATA',
- # Import V8 symbols from shared library (node.dll / libnode.so)
- 'USING_V8_SHARED',
- 'USING_V8_PLATFORM_SHARED',
- 'USING_V8_BASE_SHARED',
- # See Chromium src/third_party/protobuf/BUILD.gn
- 'GOOGLE_PROTOBUF_NO_RTTI',
- 'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER',
- # Enables SkBitmap size 64 operations
- 'SK_SUPPORT_LEGACY_SAFESIZE64',
- ],
- 'sources': [
- '<@(lib_sources)',
- ],
- 'include_dirs': [
- '.',
- 'chromium_src',
- 'vendor/native_mate',
- # Include atom_natives.h.
- '<(SHARED_INTERMEDIATE_DIR)',
- # Include directories for uv and node.
- 'vendor/node/src',
- 'vendor/node/deps/http_parser',
- 'vendor/node/deps/uv/include',
- # The `node.h` is using `#include"v8.h"`.
- '<(libchromiumcontent_src_dir)/v8/include',
- # The `node.h` is using `#include"ares.h"`.
- 'vendor/node/deps/cares/include',
- # The `third_party/WebKit/Source/platform/weborigin/SchemeRegistry.h` is using `platform/PlatformExport.h`.
- '<(libchromiumcontent_src_dir)/third_party/WebKit/Source',
- # The 'third_party/libyuv/include/libyuv/scale_argb.h' is using 'libyuv/basic_types.h'.
- '<(libchromiumcontent_src_dir)/third_party/libyuv/include',
- # The 'third_party/webrtc/modules/desktop_capture/desktop_frame.h' is using 'webrtc/base/scoped_ptr.h'.
- '<(libchromiumcontent_src_dir)/third_party/',
- '<(libchromiumcontent_src_dir)/components/cdm',
- '<(libchromiumcontent_src_dir)/third_party/widevine',
- '<(libchromiumcontent_src_dir)/third_party/widevine/cdm/stub',
- '<(libchromiumcontent_src_dir)/third_party/protobuf/src',
- # The 'third_party/webrtc/modules/desktop_capture/desktop_capture_options.h' is using 'rtc_base/constructormagic.h'.
- '<(libchromiumcontent_src_dir)/third_party/webrtc',
- # leveldb includes are required
- '<(libchromiumcontent_src_dir)/third_party/leveldatabase/src',
- '<(libchromiumcontent_src_dir)/third_party/leveldatabase/src/include',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '.',
- ],
- },
- 'export_dependent_settings': [
- 'brightray/brightray.gyp:brightray',
- ],
- 'conditions': [
- ['enable_pdf_viewer==1', {
- 'dependencies': [
- 'vendor/pdf_viewer/pdf_viewer.gyp:pdf_viewer',
- ],
- }], # enable_pdf_viewer
- ['libchromiumcontent_component', {
- 'link_settings': {
- 'libraries': [ '<@(libchromiumcontent_v8_libraries)' ],
- },
- }],
- ['OS=="win"', {
- 'sources': [
- '<@(lib_sources_win)',
- ],
- 'link_settings': {
- 'libraries': [
- '-limm32.lib',
- '-loleacc.lib',
- '-lcomctl32.lib',
- '-lcomdlg32.lib',
- '-lwininet.lib',
- '-lwinmm.lib',
- '-lcrypt32.lib',
- '-luiautomationcore.lib',
- ],
- },
- 'dependencies': [
- # Node is built as static_library on Windows, so we also need to
- # include its dependencies here.
- 'vendor/node/deps/cares/cares.gyp:cares',
- 'vendor/node/deps/http_parser/http_parser.gyp:http_parser',
- 'vendor/node/deps/uv/uv.gyp:libuv',
- 'vendor/node/deps/zlib/zlib.gyp:zlib',
- # Build with breakpad support.
- 'vendor/breakpad/breakpad.gyp:breakpad_handler',
- 'vendor/breakpad/breakpad.gyp:breakpad_sender',
- ],
- }], # OS=="win"
- ['OS=="mac" and mas_build==0', {
- 'dependencies': [
- 'vendor/crashpad/client/client.gyp:crashpad_client',
- 'vendor/crashpad/handler/handler.gyp:crashpad_handler',
- ],
- 'link_settings': {
- # Do not link with QTKit for mas build.
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/QTKit.framework',
- ],
- },
- 'xcode_settings': {
- # ReactiveCocoa which is used by Squirrel requires using __weak.
- 'CLANG_ENABLE_OBJC_WEAK': 'YES',
- 'OTHER_CFLAGS': [
- '-Wunguarded-availability',
- '-Wobjc-missing-property-synthesis',
- ],
- },
- }], # OS=="mac" and mas_build==0
- ['OS=="mac" and mas_build==1', {
- 'defines': [
- 'MAS_BUILD',
- ],
- 'sources!': [
- 'atom/browser/auto_updater_mac.mm',
- 'atom/common/crash_reporter/crash_reporter_mac.h',
- 'atom/common/crash_reporter/crash_reporter_mac.mm',
- ],
- }], # OS=="mac" and mas_build==1
- ['OS=="linux"', {
- 'sources': [
- '<@(lib_sources_linux)',
- '<@(lib_sources_nss)',
- ],
- 'link_settings': {
- 'ldflags': [
- # Make binary search for libraries under current directory, so we
- # don't have to manually set $LD_LIBRARY_PATH:
- # http://serverfault.com/questions/279068/cant-find-so-in-the-same-directory-as-the-executable
- '-Wl,-rpath=\$$ORIGIN',
- # Make native module dynamic loading work.
- '-rdynamic',
- ],
- },
- # Required settings of using breakpad.
- 'cflags_cc': [
- '-Wno-empty-body',
- ],
- 'include_dirs': [
- 'vendor/breakpad/src',
- ],
- 'dependencies': [
- 'vendor/breakpad/breakpad.gyp:breakpad_client',
- ],
- }], # OS=="linux"
- ['OS=="linux" and clang==1', {
- # Required settings of using breakpad.
- 'cflags_cc': [
- '-Wno-reserved-user-defined-literal',
- ],
- }], # OS=="linux" and clang==1
- ],
- }, # target <(product_name)_lib
- {
- 'target_name': 'js2asar',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'js2asar',
- 'variables': {
- 'conditions': [
- ['OS=="mac"', {
- 'resources_path': '<(PRODUCT_DIR)/<(product_name).app/Contents/Resources',
- },{
- 'resources_path': '<(PRODUCT_DIR)/resources',
- }],
- ],
- },
- 'inputs': [
- '<@(js_sources)',
- ],
- 'outputs': [
- '<(resources_path)/electron.asar',
- ],
- 'action': [
- 'python',
- 'tools/js2asar.py',
- '<@(_outputs)',
- 'lib',
- '<@(_inputs)',
- ],
- }
- ],
- }, # target js2asar
- {
- 'target_name': 'app2asar',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'app2asar',
- 'variables': {
- 'conditions': [
- ['OS=="mac"', {
- 'resources_path': '<(PRODUCT_DIR)/<(product_name).app/Contents/Resources',
- },{
- 'resources_path': '<(PRODUCT_DIR)/resources',
- }],
- ],
- },
- 'inputs': [
- '<@(default_app_sources)',
- ],
- 'outputs': [
- '<(resources_path)/default_app.asar',
- ],
- 'action': [
- 'python',
- 'tools/js2asar.py',
- '<@(_outputs)',
- 'default_app',
- '<@(_inputs)',
- ],
- }
- ],
- }, # target app2asar
- {
- 'target_name': 'atom_js2c_copy',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(js2c_input_dir)',
- 'files': [
- '<@(js2c_sources)',
- ],
- },
- ],
- }, # target atom_js2c_copy
- {
- 'target_name': 'atom_browserify',
- 'type': 'none',
- 'dependencies': [
- # depend on this target to ensure the '<(js2c_input_dir)' is created
- 'atom_js2c_copy',
- ],
- 'variables': {
- 'sandbox_args': [
- './lib/sandboxed_renderer/init.js',
- '-r',
- './lib/sandboxed_renderer/api/exports/electron.js:electron',
- '-r',
- './lib/sandboxed_renderer/api/exports/fs.js:fs',
- '-r',
- './lib/sandboxed_renderer/api/exports/os.js:os',
- '-r',
- './lib/sandboxed_renderer/api/exports/path.js:path',
- '-r',
- './lib/sandboxed_renderer/api/exports/child_process.js:child_process'
- ],
- 'isolated_args': [
- 'lib/isolated_renderer/init.js',
- ]
- },
- 'actions': [
- {
- 'action_name': 'atom_browserify_sandbox',
- 'inputs': [
- '<!@(python tools/list-browserify-deps.py <(sandbox_args))'
- ],
- 'outputs': [
- '<(js2c_input_dir)/preload_bundle.js',
- ],
- 'action': [
- 'npm',
- 'run',
- '--silent',
- 'browserify',
- '--',
- '<@(sandbox_args)',
- '-o',
- '<@(_outputs)',
- ],
- },
- {
- 'action_name': 'atom_browserify_isolated_context',
- 'inputs': [
- '<!@(python tools/list-browserify-deps.py <(isolated_args))'
- ],
- 'outputs': [
- '<(js2c_input_dir)/isolated_bundle.js',
- ],
- 'action': [
- 'npm',
- 'run',
- '--silent',
- 'browserify',
- '--',
- '<@(isolated_args)',
- '-o',
- '<@(_outputs)',
- ],
- },
- ],
- }, # target atom_browserify
- {
- 'target_name': 'atom_js2c',
- 'type': 'none',
- 'dependencies': [
- 'atom_js2c_copy',
- 'atom_browserify',
- ],
- 'actions': [
- {
- 'action_name': 'atom_js2c',
- 'inputs': [
- # List all input files that should trigger a rebuild with js2c
- '<@(js2c_sources)',
- '<(js2c_input_dir)/preload_bundle.js',
- '<(js2c_input_dir)/isolated_bundle.js',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/atom_natives.h',
- ],
- 'action': [
- 'python',
- 'tools/js2c.py',
- 'vendor/node',
- '<@(_outputs)',
- '<(js2c_input_dir)',
- ],
- }
- ],
- }, # target atom_js2c
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'targets': [
- {
- 'target_name': '<(project_name)_framework',
- 'product_name': '<(product_name) Framework',
- 'type': 'shared_library',
- 'dependencies': [
- '<(project_name)_lib',
- ],
- 'sources': [
- '<@(framework_sources)',
- ],
- 'include_dirs': [
- '.',
- 'vendor',
- '<(libchromiumcontent_src_dir)',
- ],
- 'export_dependent_settings': [
- '<(project_name)_lib',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
- '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
- '$(SDKROOT)/System/Library/Frameworks/Quartz.framework',
- '$(SDKROOT)/System/Library/Frameworks/Security.framework',
- '$(SDKROOT)/System/Library/Frameworks/SecurityInterface.framework',
- '$(SDKROOT)/System/Library/Frameworks/ServiceManagement.framework',
- '$(SDKROOT)/System/Library/Frameworks/StoreKit.framework',
- ],
- },
- 'mac_bundle': 1,
- 'mac_bundle_resources': [
- 'atom/common/resources/mac/MainMenu.xib',
- '<(libchromiumcontent_dir)/content_shell.pak',
- '<(libchromiumcontent_dir)/icudtl.dat',
- '<(libchromiumcontent_dir)/natives_blob.bin',
- '<(libchromiumcontent_dir)/snapshot_blob.bin',
- ],
- 'xcode_settings': {
- 'ATOM_BUNDLE_ID': 'com.<(company_abbr).<(project_name).framework',
- 'INFOPLIST_FILE': 'atom/common/resources/mac/Info.plist',
- 'LD_DYLIB_INSTALL_NAME': '@rpath/<(product_name) Framework.framework/<(product_name) Framework',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '@loader_path/Libraries',
- ],
- 'OTHER_LDFLAGS': [
- '-ObjC',
- ],
- },
- 'copies': [
- {
- 'variables': {
- 'conditions': [
- ['libchromiumcontent_component', {
- 'copied_libraries': [
- '<(PRODUCT_DIR)/libnode.dylib',
- '<@(libchromiumcontent_shared_libraries)',
- '<@(libchromiumcontent_shared_v8_libraries)',
- ],
- }, {
- 'copied_libraries': [
- '<(PRODUCT_DIR)/libnode.dylib',
- '<(libchromiumcontent_dir)/libffmpeg.dylib',
- ],
- }],
- ],
- },
- 'destination': '<(PRODUCT_DIR)/<(product_name) Framework.framework/Versions/A/Libraries',
- 'files': [
- '<@(copied_libraries)',
- ],
- },
- ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Fix path of libnode',
- 'action': [
- 'install_name_tool',
- '-change',
- '/usr/local/lib/libnode.dylib',
- '@rpath/libnode.dylib',
- '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Versions/A/<(product_name) Framework',
- ],
- },
- {
- 'postbuild_name': 'Add symlinks for framework subdirectories',
- 'action': [
- 'tools/mac/create-framework-subdir-symlinks.sh',
- '<(product_name) Framework',
- 'Libraries',
- ],
- },
- {
- 'postbuild_name': 'Copy locales',
- 'action': [
- 'tools/mac/copy-locales.py',
- '-d',
- '<(libchromiumcontent_dir)/locales',
- '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Resources',
- '<@(locales)',
- ],
- },
- ],
- 'conditions': [
- ['enable_pdf_viewer==1', {
- 'mac_bundle_resources': [
- '<(PRODUCT_DIR)/pdf_viewer_resources.pak',
- ],
- }], # enable_pdf_viewer
- ['mas_build==0', {
- 'link_settings': {
- 'libraries': [
- 'external_binaries/Squirrel.framework',
- 'external_binaries/ReactiveCocoa.framework',
- 'external_binaries/Mantle.framework',
- ],
- },
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/<(product_name) Framework.framework/Versions/A/Resources',
- 'files': [
- '<(PRODUCT_DIR)/crashpad_handler',
- ],
- },
- ],
- }],
- ],
- }, # target framework
- {
- 'target_name': '<(project_name)_helper',
- 'product_name': '<(product_name) Helper',
- 'type': 'executable',
- 'dependencies': [
- '<(project_name)_framework',
- ],
- 'sources': [
- '<@(app_sources)',
- ],
- 'include_dirs': [
- '.',
- ],
- 'mac_bundle': 1,
- 'xcode_settings': {
- 'ATOM_BUNDLE_ID': 'com.<(company_abbr).<(project_name).helper',
- 'INFOPLIST_FILE': 'atom/renderer/resources/mac/Info.plist',
- 'LD_RUNPATH_SEARCH_PATHS': [
- '@executable_path/../../..',
- ],
- },
- }, # target helper
- {
- 'target_name': '<(project_name)_login_helper',
- 'product_name': '<(product_name) Login Helper',
- 'type': 'executable',
- 'sources': [
- '<@(login_helper_sources)',
- ],
- 'include_dirs': [
- '.',
- 'vendor',
- '<(libchromiumcontent_src_dir)',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
- ],
- },
- 'mac_bundle': 1,
- 'xcode_settings': {
- 'ATOM_BUNDLE_ID': 'com.<(company_abbr).<(project_name).loginhelper',
- 'INFOPLIST_FILE': 'atom/app/resources/mac/loginhelper-Info.plist',
- 'OTHER_LDFLAGS': [
- '-ObjC',
- ],
- },
- }, # target login_helper
- ],
- }], # OS!="mac"
- ],
- }
|