mirror of
https://github.com/wjwwood/serial.git
synced 2026-01-23 04:04:54 +08:00
75 lines
1.4 KiB
Python
75 lines
1.4 KiB
Python
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
|
|
|
|
cc_library(
|
|
name = "serial",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":serial_facade",
|
|
":common_impl",
|
|
] + select({
|
|
":windows": [":windows_impl"],
|
|
":linux": [":linux_impl"],
|
|
":macos": [":macos_impl"],
|
|
}),
|
|
)
|
|
|
|
cc_library(
|
|
name = "serial_facade",
|
|
hdrs = glob(["**/*.h"]),
|
|
includes = ["include"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "windows_impl",
|
|
srcs = [
|
|
"src/impl/list_ports/list_ports_win.cc",
|
|
"src/impl/win.cc",
|
|
],
|
|
deps = [":serial_facade"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "linux_impl",
|
|
srcs = [
|
|
"src/impl/list_ports/list_ports_linux.cc",
|
|
"src/impl/unix.cc",
|
|
],
|
|
deps = [":serial_facade"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "macos_impl",
|
|
srcs = [
|
|
"src/impl/list_ports/list_ports_osx.cc",
|
|
"src/impl/unix.cc",
|
|
],
|
|
deps = [":serial_facade"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "common_impl",
|
|
srcs = ["src/serial.cc"],
|
|
deps = [":serial_facade"],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "example",
|
|
srcs = ["examples/serial_example.cc"],
|
|
deps = [":serial"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "windows",
|
|
constraint_values = ["@platforms//os:windows"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "linux",
|
|
constraint_values = ["@platforms//os:linux"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "macos",
|
|
constraint_values = ["@platforms//os:macos"],
|
|
)
|