Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 2 KB

README.md

File metadata and controls

76 lines (60 loc) · 2 KB

libpmemobj-cpp

Build Status Build status Coverity Scan Build Status Coverage Status

C++ bindings for libpmemobj (https://github.com/pmem/pmdk) More informations in include/libpmemobj++/README.md

How to build

Requirements:

On Linux

$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install

When developing:

$ ...
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DDEVELOPER_MODE=1
$ ...
$ ctest --output-on-failure

If you wish to run C++ standard library containers tests, you need to set the path to your custom versions of either gcc or libc++. For gcc run cmake like this:

...
$ cmake .. -DUSE_CUSTOM_GCC=1 -DGCC_INCDIR=/path/to/includes -DGCC_LIBDIR=/path/to/lib
...

If you want to use a custom version of libc++ run:

...
$ cmake .. -DUSE_CUSTOM_LLVM=1 -DLIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 -DLIBCPP_LIBDIR=/usr/local/libcxx/lib
...

To build packages

...
cmake .. -DCPACK_GENERATOR="$GEN" -DCMAKE_INSTALL_PREFIX=/usr
make package

$GEN is type of package generator and can be RPM or DEB

CMAKE_INSTALL_PREFIX must be set to a destination were packages will be installed

On Windows

Install libpmemobj via vcpkg

vcpkg install pmdk:x64-windows
vcpkg integrate install
...
cmake . -Bbuild -G "Visual Studio 14 2015 Win64"
        -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake

msbuild build/ALL_BUILD.vcxproj