mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
141 lines
3.4 KiB
Python
141 lines
3.4 KiB
Python
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test", "objc_library")
|
|
load("@rules_java//java:defs.bzl", "java_binary")
|
|
load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test")
|
|
load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library")
|
|
|
|
WIN_SRCS = glob([
|
|
"src/main/native/windows/**/*.cpp",
|
|
"src/main/native/windows/**/*.h",
|
|
])
|
|
|
|
LINUX_SRCS = glob([
|
|
"src/main/native/linux/**/*.cpp",
|
|
"src/main/native/linux/**/*.h",
|
|
])
|
|
|
|
MAC_SRCS = glob(["src/main/native/osx/**/*.cpp"])
|
|
|
|
filegroup(
|
|
name = "native-srcs",
|
|
srcs = select({
|
|
"@bazel_tools//src/conditions:darwin": MAC_SRCS,
|
|
"@bazel_tools//src/conditions:windows": WIN_SRCS,
|
|
"@rules_bzlmodrio_toolchains//constraints/combined:is_linux": LINUX_SRCS,
|
|
}),
|
|
)
|
|
|
|
objc_library(
|
|
name = "cscore-mac",
|
|
srcs = glob([
|
|
"src/main/native/objcpp/**/*.mm",
|
|
"src/main/native/cpp/*.h",
|
|
]),
|
|
hdrs = glob([
|
|
"src/main/native/include/**/*",
|
|
"src/main/native/objcpp/**/*.h",
|
|
]),
|
|
copts = [
|
|
"-std=c++20",
|
|
],
|
|
includes = [
|
|
"src/main/native/cpp",
|
|
"src/main/native/include",
|
|
"src/main/native/objcpp",
|
|
],
|
|
sdk_frameworks = [
|
|
"CoreFoundation",
|
|
"AVFoundation",
|
|
"Foundation",
|
|
"CoreMedia",
|
|
"CoreVideo",
|
|
"IOKit",
|
|
],
|
|
tags = ["manual"],
|
|
deps = [
|
|
"//wpinet:wpinet.static",
|
|
"//wpiutil:wpiutil.static",
|
|
"@bzlmodrio-opencv//libraries/cpp/opencv",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "cscore.static",
|
|
srcs = [":native-srcs"] + glob(
|
|
["src/main/native/cpp/**"],
|
|
exclude = ["src/main/native/cpp/jni/**"],
|
|
),
|
|
hdrs = glob(["src/main/native/include/**/*"]),
|
|
includes = [
|
|
"src/main/native/cpp",
|
|
"src/main/native/include",
|
|
],
|
|
strip_include_prefix = "src/main/native/include",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//wpinet:wpinet.static",
|
|
"//wpiutil:wpiutil.static",
|
|
"@bzlmodrio-opencv//libraries/cpp/opencv",
|
|
] + select({
|
|
"@bazel_tools//src/conditions:darwin": [":cscore-mac"],
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
|
|
wpilib_jni_cc_library(
|
|
name = "cscorejni",
|
|
srcs = glob(["src/main/native/cpp/jni/**"]),
|
|
java_dep = ":cscore-java",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
":cscore.static",
|
|
],
|
|
)
|
|
|
|
wpilib_jni_java_library(
|
|
name = "cscore-java",
|
|
srcs = glob(["src/main/java/**/*.java"]),
|
|
native_libs = [":cscorejni"],
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//wpiutil:wpiutil-java",
|
|
"@bzlmodrio-opencv//libraries/java/opencv",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "cscore-cpp-test",
|
|
size = "small",
|
|
srcs = glob(["src/test/native/**"]),
|
|
deps = [
|
|
":cscore.static",
|
|
"//thirdparty/googletest:googletest.static",
|
|
],
|
|
)
|
|
|
|
wpilib_java_junit5_test(
|
|
name = "cscore-java-test",
|
|
srcs = glob(["src/test/java/**/*.java"]),
|
|
deps = [
|
|
":cscore-java",
|
|
"//wpiutil:wpiutil-java",
|
|
],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "DevMain-Cpp",
|
|
srcs = ["src/dev/native/cpp/main.cpp"],
|
|
deps = [
|
|
":cscore.static",
|
|
],
|
|
)
|
|
|
|
java_binary(
|
|
name = "DevMain-Java",
|
|
srcs = ["src/dev/java/edu/wpi/first/cscore/DevMain.java"],
|
|
main_class = "edu.wpi.first.cscore.DevMain",
|
|
deps = [
|
|
":cscore-java",
|
|
"//wpiutil:wpiutil-java",
|
|
],
|
|
)
|