Skip to content

Library Building

Artem Rodygin edited this page Mar 23, 2017 · 2 revisions

Project structure

BDB Library depends on several 3rd party libraries. Some of them are put into the repository and are built together with the library.

  • cmake - CMake related files
  • include - common project include directory
  • bdb - the library itself
  • test - UnitTest application
  • [log4cplus](http://log4cplus.sourceforge.net) - run-time logging library
  • [protobuf/protoc](https://github.com/google/protobuf) - compile-time serialization library

Log4cplus and Protocol Buffers libraries are not popular enough to be present in most of modern systems as pre-built binaries, so they are just built along with BDB Library. The library depends also on Berkeley DB and Boost DateTime libraries - they should be installed manually.

Prerequisites

To build the project sources you need:

  • CMake
  • Berkeley DB
  • Boost
  • a compiler

CMake

The library uses CMake to generate required build configuration, makefiles, etc. You have to get CMake as of version 2.6 or later.

Berkeley DB

Berkeley DB is a library which C API is used in the project, so you have to install it (version 4.7 or later is required).

Boost

BDB Library uses Date Time Boost library, so you have to install it. It must be as of version 1.37.0 at least. You can find installation details at Boost home page.

Windows users, who don't want to fall into building the Boost, can use official prebuilt Boost binaries from BoostPro Computing. Just download installer, launch it, and choose at least following items to install (they will be automatically downloaded by installer):

  • Boost header files
  • Boost DateTime
    • Multithreaded
    • Multithreaded debug
    • Multithreaded, static runtime
    • Multithreaded debug, static runtime

BoostPro

Building for Linux

If you are familiar with CMake, you know how to generate a project file for your favourite IDE, like KDevelop, Code::Blocks, Eclipse, whatever. Otherwise the simplest way is to generate standard UNIX makefiles:

$ git clone https://github.com/webinarium/bdblib.git
$ cd bdblib
$ ./unix.sh

This will generate some default configuration. If you need another, you can use one of following options:

$ ./unix.sh Debug
$ ./unix.sh Release
$ ./unix.sh RelWithDebInfo
$ ./unix.sh MinSizeRel

When generation is successfully completed, just launch compilation as usual:

$ make

This will build the entire project. You can also list all possible make's targets with make help.

In case of errors in CMake or building please raise new issue with detailed description and output.

Building for Windows

First of all, generate Visual Studio 2008 solution:

> git clone https://github.com/webinarium/bdblib.git
> cd bdblib
> vs2008.cmd

When generation is successfully completed, you will see bdblib.sln file, which can be opened in the IDE.

Clone this wiki locally