blob: 82326659fac8854ee6fd77f82f626b470fa00562 [file]
{{>copyright comment="#"}}
# TODO: You only need one BUILD file. Chose between this one or the bazel one
# and then delete the other one. Use bazel for vendor repo drivers. Use gn for
# in-tree drivers.
import("//build/components.gni")
import("//build/drivers.gni")
import("//build/testing/cc_test_executable.gni")
group("{{PROJECT_NAME}}") {
testonly = true
deps = [
":pkg",
":tests",
]
}
# TODO: Remember to link this to ../BUILD.gn tests group so that the tests are
# included. Then delete this comment.
group("tests") {
testonly = true
deps = [ ":test_pkg_gn" ]
}
driver_bind_rules("bind_rules") {
rules = "meta/{{snake_case PROJECT_NAME}}.bind"
bind_output = "{{snake_case PROJECT_NAME}}.bindbc"
}
source_set("{{snake_case PROJECT_NAME}}_common") {
sources = [
"{{snake_case PROJECT_NAME}}.cc",
"{{snake_case PROJECT_NAME}}.h",
]
public_deps = [
"//sdk/lib/driver/component/cpp",
"//src/devices/lib/driver:driver_runtime",
]
}
fuchsia_cc_driver("driver") {
output_name = "{{snake_case PROJECT_NAME}}"
deps = [ ":{{snake_case PROJECT_NAME}}_common" ]
}
fuchsia_driver_component("component") {
component_name = "{{snake_case PROJECT_NAME}}"
manifest = "meta/{{snake_case PROJECT_NAME}}.cml"
deps = [
":bind_rules",
":driver",
]
info = "meta/{{snake_case PROJECT_NAME}}_info.json"
}
fuchsia_driver_package("pkg") {
package_name = "{{snake_case PROJECT_NAME}}_gn" # TODO remove the _gn
driver_components = [ ":component" ]
}
cc_test_executable("{{snake_case PROJECT_NAME}}_test") {
testonly = true
sources = [ "tests/{{snake_case PROJECT_NAME}}_test.cc" ]
deps = [
":{{snake_case PROJECT_NAME}}_common",
"//sdk/lib/driver/testing/cpp",
"//src/lib/fxl/test:gtest_main",
]
}
fuchsia_unittest_package("test_pkg_gn") { # TODO remove the _gn
deps = [ ":{{snake_case PROJECT_NAME}}_test" ]
package_name = "{{snake_case PROJECT_NAME}}_test_gn" # TODO remove the _gn
component_name = "{{snake_case PROJECT_NAME}}_test"
}