if(PROJECT_ENABLE_ROCKSDB) if(PROJECT_BUILD) find_library(ROCKSDB_LIBRARY NAMES librocksdb.a REQUIRED) add_definitions(-DPROJECT_ENABLE_ROCKSDB) link_libraries( ${ROCKSDB_LIBRARY} ) elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) ExternalProject_Add(rocksdb_project PREFIX external URL ${PROJECT_3RD_PARTY_DIR}/rocksdb-${ROCKSDB_VERSION}.tar.gz URL_HASH SHA256=54ca90dd782a988cd3ebc3e0e9ba9b4efd563d7eb78c5e690c2403f1b7d4a87a LIST_SEPARATOR | CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} -DBUILD_STATIC_LIBS=ON -DFAIL_ON_WARNINGS=OFF -DPORTABLE=1 -DROCKSDB_BUILD_SHARED=${PROJECT_BUILD_SHARED_LIBS} -DROCKSDB_INSTALL_ON_WINDOWS=ON -DWITH_BENCHMARK=OFF -DWITH_BENCHMARK_TOOLS=OFF -DWITH_CORE_TOOLS=OFF -DWITH_EXAMPLES=OFF -DWITH_GFLAGS=OFF -DWITH_IOSTATS_CONTEXT=OFF -DWITH_PERF_CONTEXT=OFF -DWITH_TESTS=OFF -DWITH_TOOLS=OFF -DWITH_TRACE_TOOLS=OFF -DWITH_ZLIB=ON ) set(PROJECT_DEPENDENCIES ${PROJECT_DEPENDENCIES} rocksdb_project ) endif() endif()