Bazel build: dependency parameterized by command line

Viewed 49

I have a project for a plugin in C/C++ where I have different implementations and I would like to be able to select which implementation to use when building.

WORKSPACE
plugin/
    BUILD
    plugin.c
    plugin.h
plugin_impl1/
    BUILD
    ...
plugin_impl2/
    BUILD
    ...

plugin_impl1/BUILD:

cc_library(
  name = "plugin_impl1"
  srcs = [...]
  hdrs = [...]
)

plugin_impl2/BUILD:

cc_library(
  name = "plugin_impl2"
  srcs = [...]
  hdrs = [...]
)

I want to know how to write plugin/BUILD so that I could write something like:

bazel build //plugin --which plugin_impl2

The executable name should always be the same so having multiple rules with different target names (for plugin) is not an option.

0 Answers
Related