From dbf22c98b477cbd109ae37cbfb59e87470b61e61 Mon Sep 17 00:00:00 2001 From: Austin Schuh Date: Fri, 1 Aug 2025 22:12:16 -0700 Subject: [PATCH] [bazel] Build processstarter with bazel too (#8143) --- BUILD.bazel | 1 + processstarter/BUILD.bazel | 54 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 processstarter/BUILD.bazel diff --git a/BUILD.bazel b/BUILD.bazel index d4df0066e2..741fc39c95 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -65,6 +65,7 @@ publish_all( "//datalog:datalog-java_publish", "//datalogtool:datalogtool_publish", "//epilogue-processor:processor-java_publish", + "//processstarter:processstarter_publish", "//epilogue-runtime:epilogue-java_publish", "//fieldImages:fieldImages-cpp_publish", "//fieldImages:fieldImages-java_publish", diff --git a/processstarter/BUILD.bazel b/processstarter/BUILD.bazel new file mode 100644 index 0000000000..656a0bf5c2 --- /dev/null +++ b/processstarter/BUILD.bazel @@ -0,0 +1,54 @@ +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") +load("//shared/bazel/rules:objectivec_rules.bzl", "wpilib_objc_library") +load("//shared/bazel/rules:packaging.bzl", "package_binary_cc_project") + +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/**/*.mm", + "src/main/native/osx/**/*.h", +]) + +filegroup( + name = "native-srcs", + srcs = select({ + "@platforms//os:osx": MAC_SRCS, + "@platforms//os:windows": WIN_SRCS, + "@rules_bzlmodrio_toolchains//constraints/combined:is_linux": LINUX_SRCS, + }), +) + +wpilib_objc_library( + name = "processstarter-osx", + srcs = [":native-srcs"], +) + +cc_binary( + name = "processstarter", + srcs = select({ + "@platforms//os:osx": [], + "//conditions:default": [":native-srcs"], + }), + linkopts = select({ + "@platforms//os:windows": ["-SUBSYSTEM:WINDOWS"], + "//conditions:default": [], + }), + deps = select({ + "@platforms//os:osx": ["processstarter-osx"], + "//conditions:default": [], + }), +) + +package_binary_cc_project( + name = "processstarter", + maven_artifact_name = "processstarter", + maven_group_id = "edu.wpi.first.tools", +)