| # 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': [ |
| { |
| 'target_name': 'video_capture_module', |
| 'type': '<(library)', |
| 'dependencies': [ |
| 'webrtc_utility', |
| '<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv', |
| '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', |
| ], |
| 'include_dirs': [ |
| '../interface', |
| '../../../interface', |
| '<(webrtc_root)/common_video/libyuv/include', |
| ], |
| 'direct_dependent_settings': { |
| 'include_dirs': [ |
| '../interface', |
| '../../../interface', |
| '<(webrtc_root)/common_video/libyuv/include', |
| ], |
| }, |
| 'sources': [ |
| # interfaces |
| '../interface/video_capture.h', |
| '../interface/video_capture_defines.h', |
| '../interface/video_capture_factory.h', |
| # headers |
| 'video_capture_config.h', |
| 'video_capture_delay.h', |
| 'video_capture_impl.h', |
| 'device_info_impl.h', |
| |
| # DEFINE PLATFORM INDEPENDENT SOURCE FILES |
| 'video_capture_factory.cc', |
| 'video_capture_impl.cc', |
| 'device_info_impl.cc', |
| ], |
| 'conditions': [ |
| ['include_internal_video_capture==0', { |
| 'sources': [ |
| 'External/device_info_external.cc', |
| 'External/video_capture_external.cc', |
| ], |
| },{ # include_internal_video_capture == 1 |
| 'conditions': [ |
| # DEFINE PLATFORM SPECIFIC SOURCE FILES |
| ['OS=="linux"', { |
| 'include_dirs': [ |
| 'Linux', |
| ], |
| 'sources': [ |
| 'Linux/device_info_linux.h', |
| 'Linux/video_capture_linux.h', |
| 'Linux/device_info_linux.cc', |
| 'Linux/video_capture_linux.cc', |
| ], |
| }], # linux |
| ['OS=="mac"', { |
| 'sources': [ |
| 'Mac/QTKit/video_capture_recursive_lock.h', |
| 'Mac/QTKit/video_capture_qtkit.h', |
| 'Mac/QTKit/video_capture_qtkit_info.h', |
| 'Mac/QTKit/video_capture_qtkit_info_objc.h', |
| 'Mac/QTKit/video_capture_qtkit_objc.h', |
| 'Mac/QTKit/video_capture_qtkit_utility.h', |
| 'Mac/video_capture_mac.mm', |
| 'Mac/QTKit/video_capture_qtkit.mm', |
| 'Mac/QTKit/video_capture_qtkit_objc.mm', |
| 'Mac/QTKit/video_capture_recursive_lock.mm', |
| 'Mac/QTKit/video_capture_qtkit_info.mm', |
| 'Mac/QTKit/video_capture_qtkit_info_objc.mm', |
| ], |
| 'include_dirs': [ |
| 'Mac', |
| ], |
| 'link_settings': { |
| 'xcode_settings': { |
| 'OTHER_LDFLAGS': [ |
| '-framework QTKit', |
| ], |
| }, |
| }, |
| }], # mac |
| ['OS=="win"', { |
| 'include_dirs': [ |
| 'Windows', |
| '<(direct_show_base_classes)', |
| ], |
| 'defines!': [ |
| 'NOMINMAX', |
| ], |
| 'sources': [ |
| 'Windows/help_functions_windows.h', |
| 'Windows/sink_filter_windows.h', |
| 'Windows/video_capture_windows.h', |
| 'Windows/device_info_windows.h', |
| 'Windows/capture_delay_values_windows.h', |
| 'Windows/help_functions_windows.cc', |
| 'Windows/sink_filter_windows.cc', |
| 'Windows/video_capture_windows.cc', |
| 'Windows/device_info_windows.cc', |
| 'Windows/video_capture_factory_windows.cc', |
| '<(direct_show_base_classes)amextra.cpp', |
| '<(direct_show_base_classes)amextra.h', |
| '<(direct_show_base_classes)amfilter.cpp', |
| '<(direct_show_base_classes)amfilter.h', |
| '<(direct_show_base_classes)amvideo.cpp', |
| '<(direct_show_base_classes)arithutil.cpp', |
| '<(direct_show_base_classes)cache.h', |
| '<(direct_show_base_classes)checkbmi.h', |
| '<(direct_show_base_classes)combase.cpp', |
| '<(direct_show_base_classes)combase.h', |
| '<(direct_show_base_classes)cprop.cpp', |
| '<(direct_show_base_classes)cprop.h', |
| '<(direct_show_base_classes)ctlutil.cpp', |
| '<(direct_show_base_classes)ctlutil.h', |
| '<(direct_show_base_classes)ddmm.cpp', |
| '<(direct_show_base_classes)ddmm.h', |
| '<(direct_show_base_classes)dllentry.cpp', |
| '<(direct_show_base_classes)dllsetup.cpp', |
| '<(direct_show_base_classes)dllsetup.h', |
| '<(direct_show_base_classes)dxmperf.h', |
| '<(direct_show_base_classes)fourcc.h', |
| '<(direct_show_base_classes)measure.h', |
| '<(direct_show_base_classes)msgthrd.h', |
| '<(direct_show_base_classes)mtype.cpp', |
| '<(direct_show_base_classes)mtype.h', |
| '<(direct_show_base_classes)outputq.cpp', |
| '<(direct_show_base_classes)outputq.h', |
| '<(direct_show_base_classes)perflog.cpp', |
| '<(direct_show_base_classes)perflog.h', |
| '<(direct_show_base_classes)perfstruct.h', |
| '<(direct_show_base_classes)pstream.cpp', |
| '<(direct_show_base_classes)pstream.h', |
| '<(direct_show_base_classes)pullpin.cpp', |
| '<(direct_show_base_classes)pullpin.h', |
| '<(direct_show_base_classes)refclock.cpp', |
| '<(direct_show_base_classes)refclock.h', |
| '<(direct_show_base_classes)reftime.h', |
| '<(direct_show_base_classes)renbase.cpp', |
| '<(direct_show_base_classes)renbase.h', |
| '<(direct_show_base_classes)schedule.cpp', |
| '<(direct_show_base_classes)schedule.h', |
| '<(direct_show_base_classes)seekpt.cpp', |
| '<(direct_show_base_classes)seekpt.h', |
| '<(direct_show_base_classes)source.cpp', |
| '<(direct_show_base_classes)source.h', |
| '<(direct_show_base_classes)streams.h', |
| '<(direct_show_base_classes)strmctl.cpp', |
| '<(direct_show_base_classes)strmctl.h', |
| '<(direct_show_base_classes)sysclock.cpp', |
| '<(direct_show_base_classes)sysclock.h', |
| '<(direct_show_base_classes)transfrm.cpp', |
| '<(direct_show_base_classes)transfrm.h', |
| '<(direct_show_base_classes)transip.cpp', |
| '<(direct_show_base_classes)transip.h', |
| '<(direct_show_base_classes)videoctl.cpp', |
| '<(direct_show_base_classes)videoctl.h', |
| '<(direct_show_base_classes)vtrans.cpp', |
| '<(direct_show_base_classes)vtrans.h', |
| '<(direct_show_base_classes)winctrl.cpp', |
| '<(direct_show_base_classes)winctrl.h', |
| '<(direct_show_base_classes)winutil.cpp', |
| '<(direct_show_base_classes)winutil.h', |
| '<(direct_show_base_classes)wxdebug.cpp', |
| '<(direct_show_base_classes)wxdebug.h', |
| '<(direct_show_base_classes)wxlist.cpp', |
| '<(direct_show_base_classes)wxlist.h', |
| '<(direct_show_base_classes)wxutil.cpp', |
| '<(direct_show_base_classes)wxutil.h', |
| ], |
| 'msvs_settings': { |
| 'VCLibrarianTool': { |
| 'AdditionalDependencies': 'Strmiids.lib', |
| }, |
| }, |
| }], # win |
| ], # conditions |
| }], # include_internal_video_capture |
| ], # conditions |
| }, |
| ], |
| # Exclude the test targets when building with chromium. |
| 'conditions': [ |
| ['build_with_chromium==0', { |
| 'targets': [ |
| { |
| 'target_name': 'video_capture_module_test', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'video_capture_module', |
| 'webrtc_utility', |
| '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', |
| '<(webrtc_root)/../testing/gtest.gyp:gtest', |
| '<(webrtc_root)/../test/test.gyp:test_support_main', |
| ], |
| 'include_dirs': [ |
| '../interface', |
| ], |
| 'sources': [ |
| '../test/video_capture_unittest.cc', |
| ], |
| 'conditions': [ |
| # DEFINE PLATFORM SPECIFIC INCLUDE AND CFLAGS |
| ['OS=="mac" or OS=="linux"', { |
| 'cflags': [ |
| '-Wno-write-strings', |
| ], |
| 'ldflags': [ |
| '-lpthread -lm', |
| ], |
| }], |
| ['OS=="linux"', { |
| 'libraries': [ |
| '-lrt', |
| '-lXext', |
| '-lX11', |
| ], |
| }], |
| ['OS=="mac"', { |
| 'xcode_settings': { |
| # TODO(andrew): CoreAudio and AudioToolbox shouldn't be needed. |
| 'OTHER_LDFLAGS': [ |
| '-framework Foundation -framework AppKit -framework Cocoa -framework OpenGL -framework CoreVideo -framework CoreAudio -framework AudioToolbox', |
| ], |
| }, |
| }], |
| ] # conditions |
| }, |
| ], |
| }], |
| ], |
| } |
| |
| # Local Variables: |
| # tab-width:2 |
| # indent-tabs-mode:nil |
| # End: |
| # vim: set expandtab tabstop=2 shiftwidth=2: |