# Copyright (c) 2012 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': 'directshow_baseclasses',
      'type': 'static_library',
      'variables': {
        'baseclasses_dir%':
          'src/Samples/multimedia/directshow/baseclasses',
      },
      'defines!': [
        'NOMINMAX',
      ],
      'include_dirs': ['<(baseclasses_dir)',],
      'direct_dependent_settings': {
        'include_dirs': ['<(baseclasses_dir)',],
      },
      'sources': [
        '<(baseclasses_dir)/amextra.cpp',
        '<(baseclasses_dir)/amextra.h',
        '<(baseclasses_dir)/amfilter.cpp',
        '<(baseclasses_dir)/amfilter.h',
        '<(baseclasses_dir)/amvideo.cpp',
        '<(baseclasses_dir)/cache.h',
        '<(baseclasses_dir)/combase.cpp',
        '<(baseclasses_dir)/combase.h',
        '<(baseclasses_dir)/cprop.cpp',
        '<(baseclasses_dir)/cprop.h',
        '<(baseclasses_dir)/ctlutil.cpp',
        '<(baseclasses_dir)/ctlutil.h',
        '<(baseclasses_dir)/ddmm.cpp',
        '<(baseclasses_dir)/ddmm.h',
        '<(baseclasses_dir)/dllentry.cpp',
        '<(baseclasses_dir)/dllsetup.cpp',
        '<(baseclasses_dir)/dllsetup.h',
        '<(baseclasses_dir)/fourcc.h',
        '<(baseclasses_dir)/measure.h',
        '<(baseclasses_dir)/msgthrd.h',
        '<(baseclasses_dir)/mtype.cpp',
        '<(baseclasses_dir)/mtype.h',
        '<(baseclasses_dir)/outputq.cpp',
        '<(baseclasses_dir)/outputq.h',
        '<(baseclasses_dir)/pstream.cpp',
        '<(baseclasses_dir)/pstream.h',
        '<(baseclasses_dir)/pullpin.cpp',
        '<(baseclasses_dir)/pullpin.h',
        '<(baseclasses_dir)/refclock.cpp',
        '<(baseclasses_dir)/refclock.h',
        '<(baseclasses_dir)/reftime.h',
        '<(baseclasses_dir)/renbase.cpp',
        '<(baseclasses_dir)/renbase.h',
        '<(baseclasses_dir)/schedule.cpp',
        '<(baseclasses_dir)/seekpt.cpp',
        '<(baseclasses_dir)/seekpt.h',
        '<(baseclasses_dir)/source.cpp',
        '<(baseclasses_dir)/source.h',
        '<(baseclasses_dir)/streams.h',
        '<(baseclasses_dir)/strmctl.cpp',
        '<(baseclasses_dir)/strmctl.h',
        '<(baseclasses_dir)/sysclock.cpp',
        '<(baseclasses_dir)/sysclock.h',
        '<(baseclasses_dir)/transfrm.cpp',
        '<(baseclasses_dir)/transfrm.h',
        '<(baseclasses_dir)/transip.cpp',
        '<(baseclasses_dir)/transip.h',
        '<(baseclasses_dir)/videoctl.cpp',
        '<(baseclasses_dir)/videoctl.h',
        '<(baseclasses_dir)/vtrans.cpp',
        '<(baseclasses_dir)/vtrans.h',
        '<(baseclasses_dir)/winctrl.cpp',
        '<(baseclasses_dir)/winctrl.h',
        '<(baseclasses_dir)/winutil.cpp',
        '<(baseclasses_dir)/winutil.h',
        '<(baseclasses_dir)/wxdebug.cpp',
        '<(baseclasses_dir)/wxdebug.h',
        '<(baseclasses_dir)/wxlist.cpp',
        '<(baseclasses_dir)/wxlist.h',
        '<(baseclasses_dir)/wxutil.cpp',
        '<(baseclasses_dir)/wxutil.h',
      ],
      'conditions': [
        ['clang==1', {
          'msvs_settings': {
            'VCCLCompilerTool': {
              'AdditionalOptions': [
                # Disable warnings failing when compiling with Clang on Windows.
                # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
                '-Wno-comment',
                '-Wno-delete-non-virtual-dtor',
                '-Wno-ignored-attributes',
                '-Wno-logical-op-parentheses',
                '-Wno-non-pod-varargs',
                '-Wno-microsoft-extra-qualification',
                '-Wno-missing-braces',
                '-Wno-overloaded-virtual',
                '-Wno-parentheses',
                '-Wno-reorder',
                '-Wno-string-conversion',
                '-Wno-tautological-constant-out-of-range-compare',
                '-Wno-unused-private-field',
                '-Wno-writable-strings',
              ],
            },
          },
        },],
      ],  # conditions.
    },
  ],
}