7
0
mirror of https://github.com/Minres/conan-recipes.git synced 2025-07-02 07:43:26 +02:00

Add RocksDB receipt

This commit is contained in:
2020-04-05 12:40:20 +02:00
parent cf92cbca9a
commit 3117dadcfe
5 changed files with 135 additions and 0 deletions

View File

@ -0,0 +1,12 @@
project(PackageTest CXX)
cmake_minimum_required(VERSION 3.12)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
add_executable(rocks_sample rocksdb.cpp)
target_link_libraries(rocks_sample CONAN_PKG::rocksdb)
target_link_libraries(rocks_sample CONAN_PKG::gflags)

View File

@ -0,0 +1,28 @@
from conans import ConanFile, CMake
import os
class RocksdbTestConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
options = {"stdcxx":[11,14], "fPIC":[True, False]}
default_options = "stdcxx=14", "fPIC=True"
generators = "cmake"
def configure(self):
self.options["rocksdb"].stdcxx = self.options.stdcxx
self.options["rocksdb"].fPIC = self.options.fPIC
def build(self):
cmake = CMake(self)
cmake.definitions["CMAKE_CXX_STANDARD"] = self.options["rocksdb"].stdcxx
cmake.definitions["CMAKE_CXX_FLAGS"]="-D_GLIBCXX_USE_CXX11_ABI=%d" %(0 if self.settings.compiler.libcxx == 'libstdc++' else 1)
cmake.configure()
cmake.build()
def imports(self):
self.copy("*.dll", dst="bin", src="bin")
self.copy("*.dylib*", dst="bin", src="lib")
self.copy('*.so*', dst='bin', src='lib')
def test(self):
os.chdir("bin")
self.run(".%srocks_sample" % os.sep)

View File

@ -0,0 +1,16 @@
#include <cassert>
#include "rocksdb/db.h"
int main()
{
rocksdb::DB * db;
rocksdb::Options options;
options.create_if_missing = true;
rocksdb::Status status = rocksdb::DB::Open(options, "/tmp/testrocksdb", &db);
assert(status.ok());
return 0;
}