# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//remoting/remoting_version.gni")

static_library("client") {
  sources = [
    "audio_decode_scheduler.cc",
    "audio_decode_scheduler.h",
    "audio_player.cc",
    "audio_player.h",
    "chromoting_client.cc",
    "chromoting_client.h",
    "chromoting_stats.cc",
    "chromoting_stats.h",
    "client_context.cc",
    "client_context.h",
    "client_status_logger.cc",
    "client_status_logger.h",
    "client_user_interface.h",
    "frame_consumer.h",
    "frame_consumer_proxy.cc",
    "frame_consumer_proxy.h",
    "frame_producer.h",
    "key_event_mapper.cc",
    "key_event_mapper.h",
    "server_log_entry_client.cc",
    "server_log_entry_client.h",
    "software_video_renderer.cc",
    "software_video_renderer.h",
    "token_fetcher_proxy.cc",
    "token_fetcher_proxy.h",
    "video_renderer.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  defines = [ "VERSION=$version_full" ]

  deps = [
    "//remoting/base",
    "//remoting/protocol",
    "//third_party/libyuv",
    "//third_party/webrtc/modules/desktop_capture",
    "//third_party/libwebm",
  ]
}
