kjellander@webrtc.org f58fe0ab2b Rename GYP and GN targets for video capture+render.
This CL performs the following renames of targets to
make GYP and GN more unified and make the targets that
have the same name as the module and include the external
render/capture implementation (the internal one is only
used by WebRTC tests).
This makes it natural to declare dependencies in GN
without having to specify the target.

Summary of the renames:
GYP:
video_render_module_impl -> video_render (new target)
video_capture_module_impl -> video_capture (new target)

GN:
video_capture -> video_capture_module (now identical to the GYP target)
video_capture_impl -> video_capture

video_render -> video_render_module (now identical to the GYP target)
video_render_impl -> video_render

BUG=456815
R=andresp@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35099004

Cr-Commit-Position: refs/heads/master@{#8323}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8323 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 07:47:47 +00:00

234 lines
7.7 KiB
Python

# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'targets': [
{
# Note this library is missing an implementation for the video render.
# For that targets must link with 'video_render' or
# 'video_render_module_internal_impl' if they want to compile and use
# the internal render as the default renderer.
'target_name': 'video_render_module',
'type': 'static_library',
'dependencies': [
'webrtc_utility',
'<(webrtc_root)/common_video/common_video.gyp:common_video',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
],
'sources': [
'external/video_render_external_impl.cc',
'external/video_render_external_impl.h',
'i_video_render.h',
'include/video_render.h',
'include/video_render_defines.h',
'incoming_video_stream.cc',
'incoming_video_stream.h',
'video_render_frames.cc',
'video_render_frames.h',
'video_render_impl.h',
],
},
{
# TODO(kjellander): Remove this target as soon the
# video_render_module_impl -> video_render rename has been rolled into
# Chromium and src/third_party/libjingle/libjingle.gyp has been updated.
'target_name': 'video_render_module_impl',
'type': 'none',
'dependencies': [
'video_render',
],
},
{
# Default video_render_module implementation that only supports external
# renders.
'target_name': 'video_render',
'type': 'static_library',
'dependencies': [
'video_render_module',
],
'sources': [
'video_render_impl.cc',
],
},
], # targets
'conditions': [
['build_with_chromium==0', {
'targets': [
{
# video_render_module implementation that supports the internal
# video_render implementation.
'target_name': 'video_render_module_internal_impl',
'type': 'static_library',
'dependencies': [
'video_render_module',
],
'sources': [
'video_render_internal_impl.cc',
],
# TODO(andrew): with the proper suffix, these files will be excluded
# automatically.
'conditions': [
['OS=="android"', {
'sources': [
'android/video_render_android_impl.h',
'android/video_render_android_native_opengl2.h',
'android/video_render_android_surface_view.h',
'android/video_render_opengles20.h',
'android/video_render_android_impl.cc',
'android/video_render_android_native_opengl2.cc',
'android/video_render_android_surface_view.cc',
'android/video_render_opengles20.cc',
],
'link_settings': {
'libraries': [
'-lGLESv2',
],
},
}],
['OS=="ios"', {
'sources': [
# iOS
'ios/open_gles20.h',
'ios/open_gles20.mm',
'ios/video_render_ios_channel.h',
'ios/video_render_ios_channel.mm',
'ios/video_render_ios_gles20.h',
'ios/video_render_ios_gles20.mm',
'ios/video_render_ios_impl.h',
'ios/video_render_ios_impl.mm',
'ios/video_render_ios_view.h',
'ios/video_render_ios_view.mm',
],
'xcode_settings': {
'CLANG_ENABLE_OBJC_ARC': 'YES',
},
'all_dependent_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework OpenGLES',
'-framework QuartzCore',
'-framework UIKit',
],
},
},
}],
['OS=="linux"', {
'sources': [
'linux/video_render_linux_impl.h',
'linux/video_x11_channel.h',
'linux/video_x11_render.h',
'linux/video_render_linux_impl.cc',
'linux/video_x11_channel.cc',
'linux/video_x11_render.cc',
],
'link_settings': {
'libraries': [
'-lXext',
],
},
}],
['OS=="mac"', {
'sources': [
'mac/cocoa_full_screen_window.h',
'mac/cocoa_render_view.h',
'mac/video_render_agl.h',
'mac/video_render_mac_carbon_impl.h',
'mac/video_render_mac_cocoa_impl.h',
'mac/video_render_nsopengl.h',
'mac/video_render_nsopengl.mm',
'mac/video_render_mac_cocoa_impl.mm',
'mac/video_render_agl.cc',
'mac/video_render_mac_carbon_impl.cc',
'mac/cocoa_render_view.mm',
'mac/cocoa_full_screen_window.mm',
],
}],
['OS=="win"', {
'sources': [
'windows/i_video_render_win.h',
'windows/video_render_direct3d9.h',
'windows/video_render_windows_impl.h',
'windows/video_render_direct3d9.cc',
'windows/video_render_windows_impl.cc',
],
'include_dirs': [
'<(directx_sdk_path)/Include',
],
}],
] # conditions
},
],
}], # build_with_chromium==0
['include_tests==1', {
'targets': [
{
'target_name': 'video_render_tests',
'type': 'executable',
'dependencies': [
'video_render_module_internal_impl',
'webrtc_utility',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/common_video/common_video.gyp:common_video',
],
'sources': [
'test/testAPI/testAPI.cc',
'test/testAPI/testAPI.h',
'test/testAPI/testAPI_android.cc',
'test/testAPI/testAPI_mac.mm',
],
'conditions': [
['OS=="mac" or OS=="linux"', {
'cflags': [
'-Wno-write-strings',
],
'ldflags': [
'-lpthread -lm',
],
}],
['OS=="linux"', {
'link_settings': {
'libraries': [
'-lX11',
],
},
}],
['OS=="mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework Foundation -framework AppKit -framework Cocoa -framework OpenGL',
],
},
}],
] # conditions
}, # video_render_module_test
], # targets
'conditions': [
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'video_render_tests_run',
'type': 'none',
'dependencies': [
'video_render_tests',
],
'includes': [
'../../build/isolate.gypi',
],
'sources': [
'video_render_tests.isolate',
],
},
],
}],
],
}], # include_tests==1
], # conditions
}