You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.7 KiB
72 lines
1.7 KiB
# 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",
|
|
]
|
|
|
|
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",
|
|
]
|
|
}
|