# Copyright 2020 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//common-mk/pkg_config.gni")

group("all") {
  deps = [
    ":libdm-bht",
    ":verity",
  ]
  if (use.test) {
    deps += [ ":verity_tests" ]
  }
}

pkg_config("target_defaults") {
  pkg_deps = [ "libchrome" ]
  include_dirs = [ "include" ]
}

shared_library("libdm-bht") {
  sources = [
    "dm-bht.cc",
    "file_hasher.cc",
  ]
  configs += [ ":target_defaults" ]
}

executable("verity") {
  sources = [ "verity_main.cc" ]
  configs += [ ":target_defaults" ]
  deps = [ ":libdm-bht" ]
}

if (use.test) {
  executable("verity_tests") {
    sources = [
      "dm-bht_test.cc",
      "file_hasher_test.cc",
    ]
    configs += [
      "//common-mk:test",
      ":target_defaults",
    ]
    deps = [
      ":libdm-bht",
      "//common-mk/testrunner",
    ]
  }
}
