1load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application") 2load("@build_bazel_rules_apple//apple:macos.bzl", "macos_application") 3load("@rules_cc//cc:defs.bzl", "cc_library", "objc_library") 4load("@rules_rust//rust:defs.bzl", "rust_library") 5 6rust_library( 7 name = "rust_lib", 8 srcs = ["demo.rs"], 9 edition = "2018", 10 tags = ["manual"], 11) 12 13# TODO: Remove this once rules_rust doesn't support bazel 5.x 14cc_library( 15 name = "shim", 16 tags = ["manual"], 17 deps = [":rust_lib"], 18) 19 20objc_library( 21 name = "main_lib", 22 srcs = ["main_lib.m"], 23 tags = ["manual"], 24 deps = [":shim"], 25) 26 27ios_application( 28 name = "ios_app", 29 bundle_id = "com.example.iosapp", 30 families = ["iphone"], 31 infoplists = ["Info.plist"], 32 minimum_os_version = "13.0", 33 deps = [":main_lib"], 34) 35 36macos_application( 37 name = "macos_app", 38 bundle_id = "com.example.macosapp", 39 infoplists = ["Info.plist"], 40 minimum_os_version = "10.15", 41 deps = [":main_lib"], 42) 43 44platform( 45 name = "macos_x86_64", 46 constraint_values = [ 47 "@platforms//cpu:x86_64", 48 "@platforms//os:macos", 49 ], 50) 51 52platform( 53 name = "macos_arm64", 54 constraint_values = [ 55 "@platforms//cpu:arm64", 56 "@platforms//os:macos", 57 ], 58) 59 60platform( 61 name = "ios_x86_64", 62 constraint_values = [ 63 "@platforms//cpu:x86_64", 64 "@platforms//os:ios", 65 "@build_bazel_apple_support//constraints:simulator", 66 ], 67) 68 69platform( 70 name = "ios_sim_arm64", 71 constraint_values = [ 72 "@platforms//cpu:arm64", 73 "@platforms//os:ios", 74 "@build_bazel_apple_support//constraints:simulator", 75 ], 76) 77 78platform( 79 name = "ios_arm64", 80 constraint_values = [ 81 "@platforms//cpu:arm64", 82 "@platforms//os:ios", 83 "@build_bazel_apple_support//constraints:device", 84 ], 85) 86