skia2/gyp/views.gyp

191 lines
5.7 KiB
Python

# Copyright 2015 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Views is the Skia windowing toolkit.
# It provides:
# * A portable means of creating native windows.
# * Events.
# * Basic widgets and controls.
{
'targets': [
{
'target_name': 'views',
'product_name': 'skia_views',
'type': 'static_library',
'standalone_static_library': 1,
'dependencies': [
'skia_lib.gyp:skia_lib',
'xml.gyp:xml',
],
'include_dirs': [
'../include/private',
'../include/views',
'../include/views/unix',
'../src/core',
'../src/gpu',
],
'sources': [
'../include/views/SkApplication.h',
'../include/views/SkEvent.h',
'../include/views/SkEventSink.h',
'../include/views/SkKey.h',
'../include/views/SkOSMenu.h',
'../include/views/SkOSWindow_Mac.h',
'../include/views/SkOSWindow_SDL.h',
'../include/views/SkOSWindow_Unix.h',
'../include/views/SkOSWindow_Win.h',
'../include/views/SkSystemEventTypes.h',
'../include/views/SkTouchGesture.h',
'../include/views/SkView.h',
'../include/views/SkWindow.h',
'../src/views/SkEvent.cpp',
'../src/views/SkEventSink.cpp',
'../src/views/SkOSMenu.cpp',
'../src/views/SkTagList.cpp',
'../src/views/SkTagList.h',
'../src/views/SkTouchGesture.cpp',
'../src/views/SkView.cpp',
'../src/views/SkViewPriv.cpp',
'../src/views/SkViewPriv.h',
'../src/views/SkWindow.cpp',
# Unix
'../src/views/unix/SkOSWindow_Unix.cpp',
'../src/views/unix/keysym2ucs.c',
'../src/views/unix/skia_unix.cpp',
# Mac
'../src/views/mac/SkEventNotifier.h',
'../src/views/mac/SkEventNotifier.mm',
'../src/views/mac/SkTextFieldCell.h',
'../src/views/mac/SkTextFieldCell.m',
'../src/views/mac/SkNSView.h',
'../src/views/mac/SkNSView.mm',
'../src/views/mac/SkOSWindow_Mac.mm',
'../src/views/mac/skia_mac.mm',
# Windows
'../src/views/win/SkOSWindow_win.cpp',
'../src/views/win/skia_win.cpp',
],
'conditions': [
[ 'skia_gpu == 1', {
'include_dirs' : [
'../src/gpu',
],
}],
[ 'skia_os == "mac" and skia_use_sdl == 0', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
'$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
'$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
'$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
],
},
},{
'sources!': [
'../src/views/mac/SkEventNotifier.h',
'../src/views/mac/SkEventNotifier.mm',
'../src/views/mac/SkTextFieldCell.h',
'../src/views/mac/SkTextFieldCell.m',
'../src/views/mac/SkNSView.h',
'../src/views/mac/SkNSView.mm',
'../src/views/mac/SkOSWindow_Mac.mm',
'../src/views/mac/skia_mac.mm',
],
}],
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"] and skia_use_sdl == 0', {
'link_settings': {
'libraries': [
'-lGL',
'-lGLU',
'-lX11',
],
},
},{
'sources!': [
'../src/views/unix/SkOSWindow_Unix.cpp',
'../src/views/unix/keysym2ucs.c',
'../src/views/unix/skia_unix.cpp',
],
}],
[ 'skia_os == "win"', {
},{
'sources!': [
'../src/views/win/SkOSWindow_win.cpp',
'../src/views/win/skia_win.cpp',
],
}],
[ 'skia_gpu == 1', {
'include_dirs': [
'../include/gpu',
],
}],
[ 'skia_angle', {
'dependencies': [
'angle.gyp:*',
],
}],
[ 'skia_use_sdl == 1', {
'defines': [
'SK_USE_SDL',
],
'dependencies': [
'sdl.gyp:sdl',
],
'sources!': [
# linux sources
'../src/views/unix/SkOSWindow_Unix.cpp',
'../src/views/unix/keysym2ucs.c',
'../src/views/unix/skia_unix.cpp',
# mac sources
'../src/views/mac/SkEventNotifier.h',
'../src/views/mac/SkEventNotifier.mm',
'../src/views/mac/SkTextFieldCell.h',
'../src/views/mac/SkTextFieldCell.m',
'../src/views/mac/SkNSView.h',
'../src/views/mac/SkNSView.mm',
'../src/views/mac/SkOSWindow_Mac.mm',
'../src/views/mac/skia_mac.mm',
# win sources
'../src/views/win/SkOSWindow_win.cpp',
'../src/views/win/skia_win.cpp',
],
'sources': [
'../src/views/sdl/SkOSWindow_SDL.cpp',
],
'export_dependent_settings': [
'sdl.gyp:sdl',
],
'conditions': [
[ 'skia_os == "mac"', {
'include_dirs': [
'$(SDKROOT)/System/Library/Frameworks/OpenGL.framework/Headers',
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
],
}
}],
],
}],
],
'direct_dependent_settings': {
'include_dirs': [
'../include/views',
],
},
'export_dependent_settings': [
'xml.gyp:xml',
],
},
],
}