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

static_library("validator") {
  sources = [
    "valid_cobalt_config.cc",
    "valid_cobalt_config.h",
  ]
  configs += [ "//third_party/cobalt:cobalt_config" ]

  public_deps = [
    "//third_party/cobalt/config:cobalt_registry_proto",
    "//third_party/cobalt/third_party/statusor:statusor",
  ]
}

executable("validate") {
  sources = [
    "validate_main.cc",
  ]
  configs += [ "//third_party/cobalt:cobalt_config" ]

  deps = [
    ":validator",
    "//third_party/gflags:gflags",
    "//third_party/glog:glog",
  ]
}
