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:
12
RocksDB/test_package/CMakeLists.txt
Normal file
12
RocksDB/test_package/CMakeLists.txt
Normal 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)
|
28
RocksDB/test_package/conanfile.py
Normal file
28
RocksDB/test_package/conanfile.py
Normal 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)
|
16
RocksDB/test_package/rocksdb.cpp
Normal file
16
RocksDB/test_package/rocksdb.cpp
Normal 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;
|
||||
}
|
Reference in New Issue
Block a user