blob: 0e18ea999915394e7aa877348fcb923554e8bfc4 [file] [log] [blame]
# Copyright 2018 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.
source_set("msgs") {
sources = [
target_gen_dir + "/osp_messages.cc",
target_gen_dir + "/osp_messages.h",
"request_response_handler.h",
]
public_deps = [
":cddl_gen",
]
deps = [
"../../third_party/abseil",
"../../third_party/tinycbor",
]
public_configs = [
":cddl_gen_config",
"../../build:openscreen_include_dirs",
]
}
config("cddl_gen_config") {
include_dirs = [ "$root_gen_dir" + "/" + rebase_path("../..", "//") ]
}
action("cddl_gen") {
script = "../../tools/cddl/cddl.py"
sources = [
"osp_messages.cddl",
]
outputs_src = rebase_path([
"osp_messages.h",
"osp_messages.cc",
],
"//")
outputs = []
foreach(o, outputs_src) {
outputs += [ root_gen_dir + "/" + o ]
}
cddl_label = "../../tools/cddl:cddl($host_toolchain)"
cddl_path = get_label_info(cddl_label, "root_out_dir") + "/cddl"
args =
[
"--cddl",
# Path should be rebased because |root_build_dir| for current toolchain
# may be different from |root_out_dir| of cddl built on host toolchain.
"./" + rebase_path(cddl_path, root_build_dir),
"--header",
outputs_src[0],
"--cc",
outputs_src[1],
"--gen-dir",
rebase_path(root_gen_dir, root_build_dir),
"--log",
rebase_path("cddl.log", "//"),
] + rebase_path(sources, root_build_dir)
deps = [
cddl_label,
]
}
source_set("unittests") {
testonly = true
sources = [
"messages_unittest.cc",
]
deps = [
":msgs",
"../../third_party/googletest:gtest",
]
}