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", )