mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
117 lines
3.0 KiB
Python
117 lines
3.0 KiB
Python
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
|
|
load("@rules_java//java:defs.bzl", "java_binary", "java_library")
|
|
|
|
cc_library(
|
|
name = "generated_cc_headers",
|
|
hdrs = glob(["src/generated/main/native/include/**"]),
|
|
includes = ["src/generated/main/native/include"],
|
|
strip_include_prefix = "src/generated/main/native/include",
|
|
visibility = ["//hal:__subpackages__"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "mrc_cc_headers",
|
|
hdrs = glob(["src/mrc/include/**"]),
|
|
includes = ["src/mrc/include"],
|
|
strip_include_prefix = "src/mrc/include",
|
|
visibility = ["//hal:__subpackages__"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "generated_mrc_cc_headers",
|
|
hdrs = glob(["src/generated/main/native/cpp/mrc/protobuf/**"]),
|
|
includes = ["src/generated/main/native/cpp/mrc/protobuf"],
|
|
strip_include_prefix = "src/generated/main/native/cpp/mrc/protobuf",
|
|
visibility = ["//hal:__subpackages__"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "generated_java",
|
|
srcs = glob(["src/generated/main/java/**/*.java"]),
|
|
visibility = ["//hal:__subpackages__"],
|
|
)
|
|
|
|
ATHENA_SRCS = glob(["src/main/native/athena/**"])
|
|
|
|
ATHENA_DEPS = ["@bzlmodrio-ni//libraries/cpp/ni:shared"]
|
|
|
|
SIM_SRCS = glob(["src/main/native/sim/**"])
|
|
|
|
SIM_DEPS = []
|
|
|
|
HAL_DEPS = select({
|
|
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ATHENA_DEPS,
|
|
"//conditions:default": SIM_DEPS,
|
|
})
|
|
|
|
filegroup(
|
|
name = "platform-srcs",
|
|
srcs = select({
|
|
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ATHENA_SRCS,
|
|
"//conditions:default": SIM_SRCS,
|
|
}),
|
|
)
|
|
|
|
cc_library(
|
|
name = "wpiHal.static",
|
|
srcs = [":platform-srcs"] + glob(
|
|
[
|
|
"src/main/native/cpp/**",
|
|
"src/generated/main/native/cpp/**",
|
|
],
|
|
exclude = ["src/main/native/cpp/jni/**"],
|
|
),
|
|
hdrs = glob(["src/main/native/include/**/*"]),
|
|
includes = ["src/main/native/include"],
|
|
strip_include_prefix = "src/main/native/include",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":generated_cc_headers",
|
|
":mrc_cc_headers",
|
|
":generated_mrc_cc_headers",
|
|
"//ntcore:ntcore.static",
|
|
"//wpinet:wpinet.static",
|
|
"//wpiutil:wpiutil.static",
|
|
] + HAL_DEPS,
|
|
)
|
|
|
|
java_library(
|
|
name = "hal-java",
|
|
srcs = [":generated_java"] + glob(["src/main/java/**/*.java"]),
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//ntcore:networktables-java",
|
|
"//wpinet:wpinet-java",
|
|
"//wpiutil:wpiutil-java",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "hal-cpp-test",
|
|
size = "small",
|
|
srcs = glob([
|
|
"src/test/native/**/*.cpp",
|
|
"src/test/native/**/*.h",
|
|
]),
|
|
deps = [
|
|
":wpiHal.static",
|
|
"//thirdparty/googletest:googletest.static",
|
|
],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "DevMain-Cpp",
|
|
srcs = ["src/dev/native/cpp/main.cpp"],
|
|
deps = [
|
|
":wpiHal.static",
|
|
],
|
|
)
|
|
|
|
java_binary(
|
|
name = "DevMain-Java",
|
|
srcs = ["src/dev/java/edu/wpi/first/hal/DevMain.java"],
|
|
main_class = "edu.wpi.first.hal.DevMain",
|
|
deps = [
|
|
],
|
|
)
|