2025-06-13 23:53:09 -04:00
|
|
|
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
2025-06-27 19:36:12 -04:00
|
|
|
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
2025-08-01 17:20:43 -07:00
|
|
|
load("//shared/bazel/rules:packaging.bzl", "package_binary_cc_project", "package_minimal_cc_project")
|
2025-05-12 10:24:41 -04:00
|
|
|
load("//shared/bazel/rules/gen:gen-resources.bzl", "generate_resources")
|
|
|
|
|
load("//shared/bazel/rules/gen:gen-version-file.bzl", "generate_version_file")
|
|
|
|
|
|
2025-06-13 23:53:09 -04:00
|
|
|
wpilib_cc_library(
|
2025-07-31 23:03:19 -07:00
|
|
|
name = "glass",
|
2025-05-12 10:24:41 -04:00
|
|
|
srcs = glob(["src/lib/native/cpp/**/*.cpp"]),
|
|
|
|
|
hdrs = glob(["src/lib/native/include/**"]),
|
2025-06-27 19:36:12 -04:00
|
|
|
hdrs_pkg_root = "src/lib/native/include",
|
|
|
|
|
include_license_files = True,
|
|
|
|
|
srcs_pkg_root = "src/lib/native/cpp",
|
2025-05-12 10:24:41 -04:00
|
|
|
strip_include_prefix = "src/lib/native/include",
|
|
|
|
|
tags = [
|
|
|
|
|
"wpi-cpp-gui",
|
|
|
|
|
],
|
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
deps = [
|
2025-11-07 19:55:39 -05:00
|
|
|
"//fields",
|
2025-05-12 10:24:41 -04:00
|
|
|
"//wpigui",
|
2025-06-27 19:36:12 -04:00
|
|
|
"//wpimath",
|
|
|
|
|
"//wpiutil",
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
wpilib_cc_static_library(
|
|
|
|
|
name = "static/glass",
|
|
|
|
|
static_deps = [
|
|
|
|
|
"//wpigui:static/wpigui",
|
|
|
|
|
"//wpimath:static/wpimath",
|
|
|
|
|
"//wpiutil:static/wpiutil",
|
2025-11-07 19:55:39 -05:00
|
|
|
"//fields:static/fields",
|
2025-06-27 19:36:12 -04:00
|
|
|
],
|
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
deps = [
|
2025-07-31 23:03:19 -07:00
|
|
|
":glass",
|
2025-05-12 10:24:41 -04:00
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
2025-06-13 23:53:09 -04:00
|
|
|
wpilib_cc_library(
|
2025-07-31 23:03:19 -07:00
|
|
|
name = "glassnt",
|
2025-05-12 10:24:41 -04:00
|
|
|
srcs = glob(["src/libnt/native/cpp/*.cpp"]),
|
|
|
|
|
hdrs = glob(["src/libnt/native/include/**/*.h"]),
|
2025-06-27 19:36:12 -04:00
|
|
|
hdrs_pkg_root = "src/libnt/native/include",
|
|
|
|
|
include_license_files = True,
|
|
|
|
|
srcs_pkg_root = "src/libnt/native/cpp",
|
2025-05-12 10:24:41 -04:00
|
|
|
strip_include_prefix = "src/libnt/native/include",
|
|
|
|
|
tags = [
|
|
|
|
|
"wpi-cpp-gui",
|
|
|
|
|
],
|
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
deps = [
|
2025-07-31 23:03:19 -07:00
|
|
|
":glass",
|
2025-06-27 19:36:12 -04:00
|
|
|
"//ntcore",
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
wpilib_cc_static_library(
|
|
|
|
|
name = "static/glassnt",
|
|
|
|
|
static_deps = [
|
|
|
|
|
":static/glass",
|
|
|
|
|
"//ntcore:static/ntcore",
|
|
|
|
|
],
|
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
|
deps = [
|
2025-07-31 23:03:19 -07:00
|
|
|
":glassnt",
|
2025-05-12 10:24:41 -04:00
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
generate_version_file(
|
|
|
|
|
name = "generate-version",
|
|
|
|
|
output_file = "WPILibVersion.cpp",
|
|
|
|
|
template = "src/app/generate/WPILibVersion.cpp.in",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
generate_resources(
|
|
|
|
|
name = "generate-resources",
|
|
|
|
|
namespace = "glass",
|
|
|
|
|
prefix = "GLASS",
|
|
|
|
|
resource_files = glob(["src/app/native/resources/*"]),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
cc_binary(
|
2025-08-01 17:20:43 -07:00
|
|
|
name = "glassapp",
|
2025-05-12 10:24:41 -04:00
|
|
|
srcs = [
|
|
|
|
|
":generate-resources",
|
|
|
|
|
":generate-version",
|
|
|
|
|
] + glob(["src/app/native/cpp/**"]),
|
|
|
|
|
linkopts = select({
|
2025-07-31 21:04:22 -07:00
|
|
|
"@platforms//os:windows": ["-SUBSYSTEM:WINDOWS"],
|
2025-05-12 10:24:41 -04:00
|
|
|
"//conditions:default": [],
|
|
|
|
|
}),
|
|
|
|
|
tags = [
|
|
|
|
|
"wpi-cpp-gui",
|
|
|
|
|
],
|
|
|
|
|
deps = [
|
2025-07-31 23:03:19 -07:00
|
|
|
":glassnt",
|
2025-05-12 10:24:41 -04:00
|
|
|
],
|
|
|
|
|
)
|
2025-07-24 09:11:09 -04:00
|
|
|
|
|
|
|
|
package_minimal_cc_project(
|
2025-07-31 23:03:19 -07:00
|
|
|
name = "glass",
|
2025-07-24 09:11:09 -04:00
|
|
|
maven_artifact_name = "libglass",
|
|
|
|
|
maven_group_id = "edu.wpi.first.glass",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
package_minimal_cc_project(
|
2025-07-31 23:03:19 -07:00
|
|
|
name = "glassnt",
|
2025-07-24 09:11:09 -04:00
|
|
|
maven_artifact_name = "libglassnt",
|
|
|
|
|
maven_group_id = "edu.wpi.first.glass",
|
|
|
|
|
)
|
2025-08-01 17:20:43 -07:00
|
|
|
|
|
|
|
|
package_binary_cc_project(
|
|
|
|
|
name = "glassapp",
|
|
|
|
|
maven_artifact_name = "Glass",
|
|
|
|
|
maven_group_id = "edu.wpi.first.tools",
|
|
|
|
|
renames = {
|
|
|
|
|
"glassapp": "glass",
|
|
|
|
|
},
|
|
|
|
|
)
|