Giter Club home page Giter Club logo

boost.rules's Introduction

boost.rules - The boost module in the Bazel Central Registry

This repository provides the simplest way to get Boost into your Bazel project!

It is provided as a convenient way to include ALL of the Boost libraries into a project at once. It is intended for those who don't want to "bazel_dep" every single boost library they need. Thanks to Bazel's dependency resolution system, it will still only build the parts you need, and you can then depend on any module with a simple @boost//:libraryName. You can even mix and match between using @boost//:libraryName targets and directly using boost modules - @libraryName//:target, just try to use the same boost release version in both to avoid weird compile issues!

๐Ÿ‘จโ€๐Ÿ’ป Usage

Firstly, make sure you're using Bazel and have BZLMOD enabled!

Secondly, copy the code from the install section of the module page into your MODULE.bazel file.

Thirdly, add whichever Boost dependencies you need to your rule in your BUILD.bazel file, for example:

cc_binary(
    name = "my_program",
    deps = [
        "@boost//:array",
    ],
)

Important Note:

Some specific boost libraries have marginally unintuitive targets due to the way boost library naming conventions convert to bazel target names. Notably, these are:

  • @boost//:graph.parallel
  • @boost//:numeric.conversion
  • @boost//:numeric.interval
  • @boost//:numeric.odeint
  • @boost//:numeric.ublas
  • @boost//:property_map.parallel

If you're unsure what boost targets are available, you can always run bazel query "@boost//:*" from your project directory to see the full list.

boost.rules's People

Contributors

attempt3035 avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.