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/**", ]) LINUX_SRCS = glob([ "src/main/native/linux/**", ]) MAC_SRCS = glob([ "src/main/native/osx/**", ]) 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 = "org.wpilib.tools", )