Files
allwpilib/wpigui/BUILD.bazel
2025-06-13 20:53:09 -07:00

56 lines
1.4 KiB
Python

load("@rules_cc//cc:defs.bzl", "cc_library")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library")
load("//shared/bazel/rules:objectivec_rules.bzl", "wpilib_objc_library")
WIN_SRCS = glob(["src/main/native/directx11/**/*.cpp"])
LINUX_SRCS = glob(["src/main/native/opengl3/**/*.cpp"])
MAC_SRCS = glob(["src/main/native/metal/**/*.mm"])
cc_library(
name = "headers",
hdrs = glob(["src/main/native/include/**/*"]),
strip_include_prefix = "src/main/native/include",
)
wpilib_objc_library(
name = "wpigui-mac",
srcs = MAC_SRCS,
sdk_frameworks = [
"Metal",
"MetalKit",
"Cocoa",
"IOKit",
"CoreFoundation",
"CoreVideo",
"QuartzCore",
],
deps = [
":headers",
"//thirdparty/imgui_suite",
],
)
wpilib_cc_library(
name = "wpigui",
srcs = glob(["src/main/native/cpp/**/*.cpp"]) +
select({
"@bazel_tools//src/conditions:darwin": [],
"@bazel_tools//src/conditions:windows": WIN_SRCS,
"@rules_bzlmodrio_toolchains//constraints/combined:is_linux": LINUX_SRCS,
}),
strip_include_prefix = "include",
tags = [
"wpi-cpp-gui",
],
visibility = ["//visibility:public"],
deps = [
":headers",
"//thirdparty/imgui_suite",
] + select({
"@bazel_tools//src/conditions:darwin": [":wpigui-mac"],
"//conditions:default": [],
}),
)