bloomberg / bde

Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.
Apache License 2.0
1.68k stars 318 forks source link
allocators cpp cpp-library cpp11 polymorphic-allocators

BDE Libraries

This repository contains the BDE libraries, currently BSL (Basic Standard Library), BDL (Basic Development Library), BAL (Basic Application Library), and BBL (Basic Business Library).

Documentation and Build Links

For more information about BDE libraries follow the links below.

Open Source

Bloomberg LP (internal)

Build Instructions

BDE uses a build system based on cmake. The build system is located in the BDE tools repository (see Documentation Links).

Prerequisites

The BDE CMake build system requires the following software to be preinstalled and configured on the system:

Note that python is used by the build helpers bde_build_env.py and cmake_build.py, but is not strictly needed to build BDE. See the more complete build instructions linked below for more detail.

Build Instructions (Open Source)

Please see the more complete build instructions for open source users.

The following commands can be used to configure and build the BDE repository:

  1. Clone the bde-tools and bde repositories and add bde-tools to your PATH:

    $ git clone https://github.com/bloomberg/bde-tools.git
    $ export PATH=$PWD/bde-tools/bin:$PATH      # add bde-tools to the 'PATH'
    $ git clone https://github.com/bloomberg/bde.git
    $ cd bde
  2. From the root of this source repository, run:

    $ export BDE_CMAKE_BUILD_DIR=$PWD/_build   # configure the build directory
    $ bbs_build configure -u opt_dbg_64_cpp17
  3. To build the libraries, but not the test drivers, run:

    $ bbs_build build

    To also build the test drivers, run:

    $ bbs_build build --test build

    To build and run the test drivers, run:

    $ bbs_build build --test run

Build Instructions (Bloomberg LP)

Please see the more complete build instructions for Bloomberg LP users.

The following commands can be used to configure and build the BDE repository:

  1. Clone the bde-tools and bde repositories and add bde-tools to your PATH:

    $ git clone bbgithub:bde/bde-tools
    $ export PATH=$PWD/bde-tools/bin:$PATH      # add bde-tools to the 'PATH'
    $ git clone bbgithub:bde/bde
    $ cd bde
  2. From the root of this source repository, run:

    $ export BDE_CMAKE_BUILD_DIR=$PWD/_build   # configure the build directory
    $ bbs_build configure -u opt_dbg_64_cpp17
  3. To build the libraries, but not the test drivers, run:

    $ bbs_build build

    To also build the test drivers, run:

    $ bbs_build build --test build

    To build and run the test drivers, run:

    $ bbs_build build --test run

License

The BDE libraries are distributed under the Apache License (version 2.0); see the LICENSE file at the top of the source tree for more information.