Files
allwpilib/wpigui/BUILD.bazel

93 lines
2.4 KiB
Python
Raw Normal View History

load("@rules_cc//cc:defs.bzl", "cc_library")
load("@rules_pkg//:mappings.bzl", "pkg_files")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
load("//shared/bazel/rules:objectivec_rules.bzl", "wpilib_objc_library")
load("//shared/bazel/rules:packaging.bzl", "package_static_cc_project")
load("//shared/bazel/rules:publishing.bzl", "host_architectures")
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",
],
visibility = ["//visibility:public"],
deps = [
":headers",
"//thirdparty/imgui_suite",
],
)
pkg_files(
name = "native-pkg",
srcs = glob([
"src/main/native/directx11/**",
"src/main/native/opengl3/**",
"src/main/native/metal/**",
]),
)
2025-06-13 23:53:09 -04:00
wpilib_cc_library(
name = "wpigui",
srcs = glob(["src/main/native/cpp/**/*.cpp"]) +
select({
"@platforms//os:osx": [],
"@platforms//os:windows": WIN_SRCS,
"@rules_bzlmodrio_toolchains//constraints/combined:is_linux": LINUX_SRCS,
}),
extra_src_pkg_files = [":native-pkg"],
include_license_files = True,
strip_include_prefix = "include",
tags = [
"wpi-cpp-gui",
],
visibility = ["//visibility:public"],
deps = [
":headers",
"//thirdparty/imgui_suite",
] + select({
"@platforms//os:osx": [":wpigui-mac"],
"//conditions:default": [],
}),
)
wpilib_cc_static_library(
name = "static/wpigui",
static_deps = [
"//thirdparty/imgui_suite:static/imguiSuite",
],
static_lib_name = select({
"@platforms//os:windows": "static/wpigui.lib",
"//conditions:default": "static/libwpigui.a",
}),
visibility = ["//visibility:public"],
deps = [
":wpigui",
],
)
package_static_cc_project(
name = "wpigui",
architectures = host_architectures,
maven_artifact_name = "wpigui-cpp",
2025-11-07 20:00:38 -05:00
maven_group_id = "org.wpilib.wpigui",
)