| {{>copyright comment="#"}} | |
| {{>generated comment="#"}} | |
| import("//build/components.gni") | |
| group("{{PROJECT_NAME}}") { | |
| testonly = true | |
| deps = [ | |
| ":package", | |
| ":tests", | |
| ] | |
| } | |
| group("tests") { | |
| testonly = true | |
| deps = [ ":{{PROJECT_NAME}}-unittests" ] | |
| } | |
| source_set("lib") { | |
| sources = [ | |
| "{{snake_case PROJECT_NAME}}.cc", | |
| "{{snake_case PROJECT_NAME}}.h", | |
| ] | |
| public_deps = [ | |
| "//sdk/lib/async", | |
| "//sdk/lib/async:async-cpp", | |
| "//sdk/lib/inspect/component/cpp", | |
| "//sdk/lib/sys/cpp", | |
| "//sdk/lib/syslog/cpp", | |
| ] | |
| } | |
| executable("bin") { | |
| output_name = "{{PROJECT_NAME}}" | |
| sources = [ "main.cc" ] | |
| deps = [ | |
| ":lib", | |
| "//sdk/lib/async-default", | |
| "//sdk/lib/async-loop:async-loop-cpp", | |
| "//sdk/lib/async-loop:async-loop-default", | |
| ] | |
| } | |
| fuchsia_component("component") { | |
| component_name = "{{PROJECT_NAME}}" | |
| manifest = "meta/{{snake_case PROJECT_NAME}}.cml" | |
| deps = [ ":bin" ] | |
| } | |
| fuchsia_package("package") { | |
| package_name = "{{PROJECT_NAME}}" | |
| deps = [ ":component" ] | |
| } | |
| executable("unittests") { | |
| output_name = "{{PROJECT_NAME}}_test" | |
| testonly = true | |
| sources = [ "{{snake_case PROJECT_NAME}}_unittest.cc" ] | |
| deps = [ | |
| ":lib", | |
| "//sdk/lib/async-default", | |
| "//sdk/lib/async-loop:async-loop-cpp", | |
| "//sdk/lib/async-loop:async-loop-default", | |
| "//src/lib/fxl/test:gtest_main", | |
| "//third_party/googletest:gtest", | |
| ] | |
| } | |
| # Run with `fx test {{PROJECT_NAME}}-unittests`. | |
| fuchsia_unittest_package("{{PROJECT_NAME}}-unittests") { | |
| deps = [ ":unittests" ] | |
| } |