mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-03 03:01:44 +00:00
[bazel] Create better static libraries and add basic publishing (#8029)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
|
||||
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
||||
|
||||
cc_library(
|
||||
name = "headers",
|
||||
@@ -7,23 +7,60 @@ cc_library(
|
||||
includes = ["src/main/native/include"],
|
||||
)
|
||||
|
||||
wpilib_halsim_extension(
|
||||
wpilib_cc_library(
|
||||
name = "halsim_ds_socket",
|
||||
srcs = glob(["src/main/native/cpp/**"]),
|
||||
include_license_files = True,
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":headers",
|
||||
"//hal:wpiHal.static",
|
||||
"//wpinet:wpinet.static",
|
||||
"//hal:wpiHal",
|
||||
"//wpinet",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_library(
|
||||
name = "halsim_ds_socket_static",
|
||||
srcs = glob(["src/main/native/cpp/**"]),
|
||||
copts = [
|
||||
"-DHALSIM_InitExtension=HALSIM_InitExtension_DS_SOCKET",
|
||||
],
|
||||
include_license_files = True,
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":headers",
|
||||
"//hal:wpiHal",
|
||||
"//wpinet",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_static_library(
|
||||
name = "static/halsim_ds_socket",
|
||||
static_deps = [
|
||||
"//hal:static/wpiHal",
|
||||
"//wpinet:static/wpinet",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [":halsim_ds_socket_static"],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = "halsim_ds_socket-test",
|
||||
size = "small",
|
||||
srcs = glob(["src/test/native/**/*.cpp"]),
|
||||
deps = [
|
||||
"//simulation/halsim_ds_socket",
|
||||
"//thirdparty/googletest:googletest.static",
|
||||
"//thirdparty/googletest",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -1,18 +1,73 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test")
|
||||
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
||||
|
||||
wpilib_halsim_extension(
|
||||
wpilib_cc_library(
|
||||
name = "halsim_gui",
|
||||
srcs = glob([
|
||||
"src/main/native/cpp/*",
|
||||
"src/main/native/include/*.h",
|
||||
]),
|
||||
include_license_files = True,
|
||||
includes = ["src/main/native/include"],
|
||||
linkopts = [
|
||||
"-lm",
|
||||
],
|
||||
tags = [
|
||||
"wpi-cpp-gui",
|
||||
],
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//glass:libglassnt",
|
||||
"//hal:wpiHal.static",
|
||||
"//hal:wpiHal",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_library(
|
||||
name = "halsim_gui_static",
|
||||
srcs = glob([
|
||||
"src/main/native/cpp/*",
|
||||
"src/main/native/include/*.h",
|
||||
]),
|
||||
copts = [
|
||||
"-DHALSIM_InitExtension=HALSIM_InitExtension_GUI",
|
||||
],
|
||||
include_license_files = True,
|
||||
includes = ["src/main/native/include"],
|
||||
linkopts = [
|
||||
"-lm",
|
||||
],
|
||||
tags = [
|
||||
"wpi-cpp-gui",
|
||||
],
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//glass:libglassnt",
|
||||
"//hal:wpiHal",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_static_library(
|
||||
name = "static/halsim_gui",
|
||||
static_deps = [
|
||||
"//hal:static/wpiHal",
|
||||
"//wpimath:static/wpimath",
|
||||
"//datalog:static/datalog",
|
||||
"//ntcore:static/ntcore",
|
||||
"//glass:static/glassnt",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":halsim_gui_static",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -26,7 +81,7 @@ cc_test(
|
||||
],
|
||||
deps = [
|
||||
":halsim_gui",
|
||||
"//thirdparty/googletest:googletest.static",
|
||||
"//thirdparty/googletest",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library")
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
||||
|
||||
wpilib_cc_library(
|
||||
name = "halsim_ws_core",
|
||||
srcs = glob(["src/main/native/cpp/*.cpp"]),
|
||||
hdrs = glob(["src/main/native/include/*.h"]),
|
||||
include_license_files = True,
|
||||
strip_include_prefix = "src/main/native/include",
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
@@ -12,8 +13,21 @@ wpilib_cc_library(
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//hal:wpiHal.static",
|
||||
"//wpinet:wpinet.static",
|
||||
"//wpiutil:wpiutil.static",
|
||||
"//hal:wpiHal",
|
||||
"//wpinet",
|
||||
"//wpiutil",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_static_library(
|
||||
name = "static/halsim_ws_core",
|
||||
static_deps = [
|
||||
"//hal:static/wpiHal",
|
||||
"//wpinet:static/wpinet",
|
||||
"//wpiutil:static/wpiutil",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":halsim_ws_core",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
|
||||
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
||||
|
||||
cc_library(
|
||||
name = "headers",
|
||||
@@ -7,15 +7,55 @@ cc_library(
|
||||
includes = ["src/main/native/include"],
|
||||
)
|
||||
|
||||
wpilib_halsim_extension(
|
||||
wpilib_cc_library(
|
||||
name = "halsim_ws_server",
|
||||
srcs = glob(["src/main/native/cpp/**"]),
|
||||
include_license_files = True,
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":headers",
|
||||
"//simulation/halsim_ws_core",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_library(
|
||||
name = "halsim_ws_server_static",
|
||||
srcs = glob(["src/main/native/cpp/**"]),
|
||||
copts = [
|
||||
"-DHALSIM_InitExtension=HALSIM_InitExtension_WS_SERVER",
|
||||
],
|
||||
include_license_files = True,
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":headers",
|
||||
"//simulation/halsim_ws_core",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_static_library(
|
||||
name = "static/halsim_ws_server",
|
||||
static_deps = [
|
||||
"//hal:static/wpiHal",
|
||||
"//wpinet:static/wpinet",
|
||||
"//wpiutil:static/wpiutil",
|
||||
"//simulation/halsim_ws_core:static/halsim_ws_core",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":halsim_ws_server_static",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "test_headers",
|
||||
srcs = glob(["src/test/native/include/*.h"]),
|
||||
@@ -33,7 +73,7 @@ cc_test(
|
||||
deps = [
|
||||
":halsim_ws_server",
|
||||
":test_headers",
|
||||
"//thirdparty/googletest:googletest.static",
|
||||
"//thirdparty/googletest",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@@ -1,15 +1,59 @@
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary")
|
||||
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
|
||||
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
|
||||
|
||||
wpilib_halsim_extension(
|
||||
wpilib_cc_library(
|
||||
name = "halsim_xrp",
|
||||
srcs = glob([
|
||||
"src/main/native/cpp/*",
|
||||
"src/main/native/include/*.h",
|
||||
]),
|
||||
include_license_files = True,
|
||||
includes = ["src/main/native/include"],
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//simulation/halsim_ws_core",
|
||||
"//xrpVendordep:xrp-cpp",
|
||||
"//wpinet",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_library(
|
||||
name = "halsim_xrp_static",
|
||||
srcs = glob([
|
||||
"src/main/native/cpp/*",
|
||||
"src/main/native/include/*.h",
|
||||
]),
|
||||
copts = [
|
||||
"-DHALSIM_InitExtension=HALSIM_InitExtension_XRP",
|
||||
],
|
||||
include_license_files = True,
|
||||
includes = ["src/main/native/include"],
|
||||
target_compatible_with = select({
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
|
||||
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//simulation/halsim_ws_core",
|
||||
"//wpinet",
|
||||
],
|
||||
)
|
||||
|
||||
wpilib_cc_static_library(
|
||||
name = "static/halsim_xrp",
|
||||
static_deps = [
|
||||
"//wpinet:static/wpinet",
|
||||
"//hal:static/wpiHal",
|
||||
"//simulation/halsim_ws_core:static/halsim_ws_core",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
":halsim_xrp_static",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user