An open API service indexing awesome lists of open source software.

https://github.com/bazel-contrib/rules_foreign_cc

Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja, Meson)
https://github.com/bazel-contrib/rules_foreign_cc

bazel cmake cmake-external gnu-make meson ninja

Last synced: 3 months ago
JSON representation

Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja, Meson)

Awesome Lists containing this project

README

          

# rules_foreign_cc

[![Build status](https://badge.buildkite.com/c28afbf846e2077715c753dda1f4b820cdcc46cc6cde16503c.svg?branch=main)](https://buildkite.com/bazel/rules-foreign-cc?branch=main)

**Rules for building C/C++ projects using foreign build systems inside Bazel projects.**

This is **not an officially supported Google product**
(meaning, support and/or new releases may be limited.)

## Documentation

Documentation for all rules and providers are available at: https://bazel-contrib.github.io/rules_foreign_cc/

## Bazel versions compatibility

Works with Bazel after 5.4.0.

Note that the rules may be compatible with older versions of Bazel but support may break
in future changes as these older versions are not tested.

Note also that the `runnable_binary` macro requires bazel 5.4.0, for the `rlocationpath` [path
variable](https://bazel.build/reference/be/make-variables)

## News

For more generalized updates, please see [NEWS.md](./NEWS.md) or checkout the
[release notes](https://github.com/bazel-contrib/rules_foreign_cc/releases) of current or previous releases

## Design document

[External C/C++ libraries rules](https://docs.google.com/document/d/1Gv452Vtki8edo_Dj9VTNJt5DA_lKTcSMwrwjJOkLaoU/edit?usp=sharing)

[ccb]: https://docs.bazel.build/versions/master/be/c-cpp.html#cc_binary
[ccl]: https://docs.bazel.build/versions/master/be/c-cpp.html#cc_library
[cct]: https://docs.bazel.build/versions/master/be/c-cpp.html#cc_toolchain

## Caveats

* FreeBSD support is currently experimental and on a best-effort basis.
Google currently doesn't have a CI test environment for FreeBSD,
but please make your voice heard by upvoting this
[issue](https://github.com/bazelbuild/continuous-integration/issues/258).