rules_foreign_cc/examples/cmake_with_target/BUILD.bazel

35 lines
844 B
Python

load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake")
filegroup(
name = "srcs",
srcs = glob(["src/**"]),
visibility = ["//visibility:public"],
)
# Building all targets with the `srcs` CMake project will fail.
# this example demonstrates how users can avoid unnecessary targets
cmake(
name = "cmake_with_target",
build_args = [
"--verbose",
"--", # <- Pass remaining options to the native tool.
"-j 1",
],
install_args = ["--component working"],
lib_source = ":srcs",
out_static_libs = select({
"@platforms//os:windows": [
"working_a.lib",
"working_b.lib",
],
"//conditions:default": [
"libworking_a.a",
"libworking_b.a",
],
}),
targets = [
"working_a",
"working_b",
],
)