| # 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", |
| ] |
| } |