2017-02-01 22:27:13 +01:00
|
|
|
|
|
|
|
if(POLICY CMP0042)
|
|
|
|
cmake_policy(SET CMP0042 NEW)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
SET(ROCKSDB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb)
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(
|
2018-01-02 20:50:40 +01:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
2017-02-01 22:27:13 +01:00
|
|
|
${ROCKSDB_SOURCE_DIR}
|
|
|
|
${ROCKSDB_SOURCE_DIR}/include
|
|
|
|
${ROCKSDB_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src
|
|
|
|
)
|
|
|
|
|
2017-11-16 19:57:18 +01:00
|
|
|
IF(WIN32)
|
|
|
|
INCLUDE_DIRECTORIES(BEFORE
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/patch)
|
|
|
|
ENDIF()
|
|
|
|
|
2017-02-01 22:27:13 +01:00
|
|
|
list(APPEND CMAKE_MODULE_PATH "${ROCKSDB_SOURCE_DIR}/cmake/modules/")
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
# include(${ROCKSDB_SOURCE_DIR}/thirdparty.inc)
|
|
|
|
else()
|
|
|
|
option(WITH_ROCKSDB_JEMALLOC "build RocksDB with JeMalloc" OFF)
|
|
|
|
if(WITH_ROCKSDB_JEMALLOC)
|
|
|
|
find_package(JeMalloc REQUIRED)
|
|
|
|
add_definitions(-DROCKSDB_JEMALLOC)
|
|
|
|
include_directories(${JEMALLOC_INCLUDE_DIR})
|
|
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|
|
|
# FreeBSD has jemaloc as default malloc
|
|
|
|
add_definitions(-DROCKSDB_JEMALLOC)
|
|
|
|
set(WITH_JEMALLOC ON)
|
|
|
|
endif()
|
2017-02-09 17:55:02 +01:00
|
|
|
endif()
|
|
|
|
|
2017-03-11 16:25:03 +01:00
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
# Optional compression libraries.
|
|
|
|
|
|
|
|
foreach(compression_lib LZ4 BZIP2 ZSTD snappy)
|
|
|
|
FIND_PACKAGE(${compression_lib} QUIET)
|
|
|
|
|
|
|
|
SET(WITH_ROCKSDB_${compression_lib} AUTO CACHE STRING
|
|
|
|
"Build RocksDB with ${compression_lib} compression. Possible values are 'ON', 'OFF', 'AUTO' and default is 'AUTO'")
|
|
|
|
|
|
|
|
if(${WITH_ROCKSDB_${compression_lib}} STREQUAL "ON" AND NOT ${${compression_lib}_FOUND})
|
|
|
|
MESSAGE(FATAL_ERROR
|
|
|
|
"${compression_lib} library was not found, but WITH_ROCKSDB${compression_lib} option is ON.\
|
|
|
|
Either set WITH_ROCKSDB${compression_lib} to OFF, or make sure ${compression_lib} is installed")
|
2017-02-01 22:27:13 +01:00
|
|
|
endif()
|
2017-02-09 17:55:02 +01:00
|
|
|
endforeach()
|
|
|
|
|
|
|
|
if(LZ4_FOUND AND (NOT WITH_ROCKSDB_LZ4 STREQUAL "OFF"))
|
|
|
|
add_definitions(-DLZ4)
|
|
|
|
include_directories(${LZ4_INCLUDE_DIR})
|
|
|
|
list(APPEND THIRDPARTY_LIBS ${LZ4_LIBRARY})
|
2017-02-01 22:27:13 +01:00
|
|
|
endif()
|
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
if(BZIP2_FOUND AND (NOT WITH_ROCKSDB_BZIP2 STREQUAL "OFF"))
|
|
|
|
add_definitions(-DBZIP2)
|
|
|
|
include_directories(${BZIP2_INCLUDE_DIR})
|
|
|
|
list(APPEND THIRDPARTY_LIBS ${BZIP2_LIBRARIES})
|
|
|
|
endif()
|
2017-02-01 22:27:13 +01:00
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
if(SNAPPY_FOUND AND (NOT WITH_ROCKSDB_SNAPPY STREQUAL "OFF"))
|
|
|
|
add_definitions(-DSNAPPY)
|
|
|
|
include_directories(${SNAPPY_INCLUDE_DIR})
|
|
|
|
list(APPEND THIRDPARTY_LIBS ${SNAPPY_LIBRARIES})
|
|
|
|
endif()
|
2017-02-01 22:27:13 +01:00
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
if(ZSTD_FOUND AND (NOT WITH_ROCKSDB_ZSTD STREQUAL "OFF"))
|
|
|
|
add_definitions(-DZSTD)
|
|
|
|
include_directories(${ZSTD_INCLUDE_DIR})
|
|
|
|
list(APPEND THIRDPARTY_LIBS ${ZSTD_LIBRARY})
|
|
|
|
endif()
|
2017-02-01 22:27:13 +01:00
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
add_definitions(-DZLIB)
|
|
|
|
list(APPEND THIRDPARTY_LIBS ${ZLIB_LIBRARY})
|
2017-02-01 22:27:13 +01:00
|
|
|
|
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES "Cygwin")
|
|
|
|
add_definitions(-fno-builtin-memcmp -DCYGWIN)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
|
|
add_definitions(-DOS_MACOSX)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
add_definitions(-DOS_LINUX)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
|
|
|
|
add_definitions(-DOS_SOLARIS)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
|
|
add_definitions(-DOS_FREEBSD)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
|
|
|
|
add_definitions(-DOS_NETBSD)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
|
|
|
add_definitions(-DOS_OPENBSD)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly")
|
|
|
|
add_definitions(-DOS_DRAGONFLYBSD)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Android")
|
|
|
|
add_definitions(-DOS_ANDROID)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
|
|
add_definitions(-DOS_WIN)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
IF(MSVC)
|
|
|
|
add_definitions(/wd4244)
|
|
|
|
ENDIF()
|
|
|
|
if(NOT WIN32)
|
|
|
|
add_definitions(-DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
option(WITH_FALLOCATE "build with fallocate" ON)
|
|
|
|
|
|
|
|
if(WITH_FALLOCATE AND UNIX)
|
|
|
|
include(CheckCSourceCompiles)
|
|
|
|
CHECK_C_SOURCE_COMPILES("
|
|
|
|
#include <fcntl.h>
|
|
|
|
#include <linux/falloc.h>
|
|
|
|
int main() {
|
|
|
|
int fd = open(\"/dev/null\", 0);
|
|
|
|
fallocate(fd, FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE, 0, 1024);
|
|
|
|
}
|
|
|
|
" HAVE_FALLOCATE)
|
|
|
|
if(HAVE_FALLOCATE)
|
|
|
|
add_definitions(-DROCKSDB_FALLOCATE_PRESENT)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
include(CheckFunctionExists)
|
|
|
|
CHECK_FUNCTION_EXISTS(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
|
|
|
|
if(HAVE_MALLOC_USABLE_SIZE)
|
|
|
|
add_definitions(-DROCKSDB_MALLOC_USABLE_SIZE)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
include_directories(${ROCKSDB_SOURCE_DIR})
|
|
|
|
include_directories(${ROCKSDB_SOURCE_DIR}/include)
|
|
|
|
include_directories(SYSTEM ${ROCKSDB_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src)
|
|
|
|
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
if(WIN32)
|
|
|
|
set(SYSTEM_LIBS ${SYSTEM_LIBS} Shlwapi.lib Rpcrt4.lib)
|
|
|
|
else()
|
2017-04-07 17:09:28 +02:00
|
|
|
set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT} ${LIBRT})
|
2017-02-01 22:27:13 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
set(ROCKSDB_LIBS rocksdblib})
|
|
|
|
set(LIBS ${ROCKSDB_LIBS} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
|
|
|
|
|
|
|
#add_subdirectory(${ROCKSDB_SOURCE_DIR}/tools)
|
|
|
|
|
|
|
|
# Main library source code
|
|
|
|
|
|
|
|
set(ROCKSDB_SOURCES
|
2017-09-19 15:15:08 +02:00
|
|
|
cache/clock_cache.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
cache/lru_cache.cc
|
|
|
|
cache/sharded_cache.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/builder.cc
|
|
|
|
db/c.cc
|
|
|
|
db/column_family.cc
|
|
|
|
db/compacted_db_impl.cc
|
|
|
|
db/compaction.cc
|
|
|
|
db/compaction_iterator.cc
|
|
|
|
db/compaction_job.cc
|
|
|
|
db/compaction_picker.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/compaction_picker_universal.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/convenience.cc
|
|
|
|
db/db_filesnapshot.cc
|
|
|
|
db/db_impl.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/db_impl_compaction_flush.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/db_impl_debug.cc
|
|
|
|
db/db_impl_experimental.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/db_impl_files.cc
|
|
|
|
db/db_impl_open.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/db_impl_readonly.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/db_impl_write.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/db_info_dumper.cc
|
|
|
|
db/db_iter.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/dbformat.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/event_helpers.cc
|
|
|
|
db/experimental.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/external_sst_file_ingestion_job.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/file_indexer.cc
|
|
|
|
db/flush_job.cc
|
|
|
|
db/flush_scheduler.cc
|
|
|
|
db/forward_iterator.cc
|
|
|
|
db/internal_stats.cc
|
|
|
|
db/log_reader.cc
|
|
|
|
db/log_writer.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
db/malloc_stats.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
db/managed_iterator.cc
|
|
|
|
db/memtable.cc
|
|
|
|
db/memtable_list.cc
|
|
|
|
db/merge_helper.cc
|
|
|
|
db/merge_operator.cc
|
|
|
|
db/range_del_aggregator.cc
|
|
|
|
db/repair.cc
|
|
|
|
db/snapshot_impl.cc
|
|
|
|
db/table_cache.cc
|
|
|
|
db/table_properties_collector.cc
|
|
|
|
db/transaction_log_impl.cc
|
|
|
|
db/version_builder.cc
|
|
|
|
db/version_edit.cc
|
|
|
|
db/version_set.cc
|
|
|
|
db/wal_manager.cc
|
|
|
|
db/write_batch.cc
|
|
|
|
db/write_batch_base.cc
|
|
|
|
db/write_controller.cc
|
|
|
|
db/write_thread.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
env/env.cc
|
|
|
|
env/env_chroot.cc
|
|
|
|
env/env_hdfs.cc
|
|
|
|
env/mock_env.cc
|
|
|
|
memtable/alloc_tracker.cc
|
|
|
|
memtable/hash_cuckoo_rep.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
memtable/hash_cuckoo_rep.cc
|
|
|
|
memtable/hash_linklist_rep.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
memtable/hash_linklist_rep.cc
|
|
|
|
memtable/hash_skiplist_rep.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
memtable/hash_skiplist_rep.cc
|
|
|
|
memtable/skiplistrep.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
memtable/skiplistrep.cc
|
|
|
|
memtable/vectorrep.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
memtable/vectorrep.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
memtable/write_buffer_manager.cc
|
|
|
|
monitoring/histogram.cc
|
|
|
|
monitoring/histogram_windowing.cc
|
|
|
|
monitoring/instrumented_mutex.cc
|
|
|
|
monitoring/iostats_context.cc
|
|
|
|
monitoring/perf_context.cc
|
|
|
|
monitoring/perf_level.cc
|
|
|
|
monitoring/statistics.cc
|
|
|
|
monitoring/thread_status_impl.cc
|
|
|
|
monitoring/thread_status_updater.cc
|
|
|
|
monitoring/thread_status_util.cc
|
|
|
|
monitoring/thread_status_util_debug.cc
|
|
|
|
options/cf_options.cc
|
|
|
|
options/db_options.cc
|
|
|
|
options/options.cc
|
|
|
|
options/options_helper.cc
|
|
|
|
options/options_parser.cc
|
|
|
|
options/options_sanity_check.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
port/stack_trace.cc
|
|
|
|
table/adaptive_table_factory.cc
|
|
|
|
table/block.cc
|
|
|
|
table/block_based_filter_block.cc
|
|
|
|
table/block_based_table_builder.cc
|
|
|
|
table/block_based_table_factory.cc
|
|
|
|
table/block_based_table_reader.cc
|
|
|
|
table/block_builder.cc
|
|
|
|
table/block_prefix_index.cc
|
|
|
|
table/bloom_block.cc
|
|
|
|
table/cuckoo_table_builder.cc
|
|
|
|
table/cuckoo_table_factory.cc
|
|
|
|
table/cuckoo_table_reader.cc
|
|
|
|
table/flush_block_policy.cc
|
|
|
|
table/format.cc
|
|
|
|
table/full_filter_block.cc
|
|
|
|
table/get_context.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
table/index_builder.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
table/iterator.cc
|
2017-03-11 21:00:08 +01:00
|
|
|
table/merging_iterator.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
table/meta_blocks.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
table/partitioned_filter_block.cc
|
|
|
|
table/persistent_cache_helper.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
table/plain_table_builder.cc
|
|
|
|
table/plain_table_factory.cc
|
|
|
|
table/plain_table_index.cc
|
|
|
|
table/plain_table_key_coding.cc
|
|
|
|
table/plain_table_reader.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
table/sst_file_writer.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
table/table_properties.cc
|
|
|
|
table/two_level_iterator.cc
|
|
|
|
tools/db_bench_tool.cc
|
|
|
|
tools/dump/db_dump_tool.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
tools/ldb_cmd.cc
|
|
|
|
tools/ldb_tool.cc
|
|
|
|
tools/sst_dump_tool.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
util/arena.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
util/auto_roll_logger.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
util/bloom.cc
|
|
|
|
util/coding.cc
|
|
|
|
util/compaction_job_stats_impl.cc
|
|
|
|
util/comparator.cc
|
|
|
|
util/concurrent_arena.cc
|
|
|
|
util/crc32c.cc
|
|
|
|
util/delete_scheduler.cc
|
|
|
|
util/dynamic_bloom.cc
|
|
|
|
util/event_logger.cc
|
|
|
|
util/file_reader_writer.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
util/file_util.cc
|
|
|
|
util/filename.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
util/filter_policy.cc
|
|
|
|
util/hash.cc
|
|
|
|
util/log_buffer.cc
|
|
|
|
util/murmurhash.cc
|
|
|
|
util/random.cc
|
|
|
|
util/rate_limiter.cc
|
|
|
|
util/slice.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
util/sst_file_manager_impl.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
util/status.cc
|
|
|
|
util/status_message.cc
|
|
|
|
util/string_util.cc
|
|
|
|
util/sync_point.cc
|
|
|
|
util/testutil.cc
|
|
|
|
util/thread_local.cc
|
|
|
|
util/threadpool_imp.cc
|
|
|
|
util/transaction_test_util.cc
|
|
|
|
util/xxhash.cc
|
|
|
|
utilities/backupable/backupable_db.cc
|
|
|
|
utilities/blob_db/blob_db.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
utilities/checkpoint/checkpoint_impl.cc
|
|
|
|
utilities/col_buf_decoder.cc
|
|
|
|
utilities/col_buf_encoder.cc
|
|
|
|
utilities/column_aware_encoding_util.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc
|
|
|
|
utilities/date_tiered/date_tiered_db_impl.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
utilities/debug.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
utilities/document/document_db.cc
|
|
|
|
utilities/document/json_document.cc
|
|
|
|
utilities/document/json_document_builder.cc
|
|
|
|
utilities/env_mirror.cc
|
|
|
|
utilities/geodb/geodb_impl.cc
|
|
|
|
utilities/leveldb_options/leveldb_options.cc
|
|
|
|
utilities/lua/rocks_lua_compaction_filter.cc
|
|
|
|
utilities/memory/memory_util.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
utilities/merge_operators/max.cc
|
|
|
|
utilities/merge_operators/put.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
utilities/merge_operators/string_append/stringappend.cc
|
|
|
|
utilities/merge_operators/string_append/stringappend2.cc
|
|
|
|
utilities/merge_operators/uint64add.cc
|
|
|
|
utilities/option_change_migration/option_change_migration.cc
|
|
|
|
utilities/options/options_util.cc
|
|
|
|
utilities/persistent_cache/block_cache_tier.cc
|
|
|
|
utilities/persistent_cache/block_cache_tier_file.cc
|
|
|
|
utilities/persistent_cache/block_cache_tier_metadata.cc
|
|
|
|
utilities/persistent_cache/persistent_cache_tier.cc
|
|
|
|
utilities/persistent_cache/volatile_tier_impl.cc
|
|
|
|
utilities/redis/redis_lists.cc
|
|
|
|
utilities/simulator_cache/sim_cache.cc
|
|
|
|
utilities/spatialdb/spatial_db.cc
|
|
|
|
utilities/table_properties_collectors/compact_on_deletion_collector.cc
|
|
|
|
utilities/transactions/optimistic_transaction_db_impl.cc
|
2017-09-19 15:15:08 +02:00
|
|
|
utilities/transactions/pessimistic_transaction.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
utilities/transactions/pessimistic_transaction_db.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
utilities/transactions/transaction_base.cc
|
|
|
|
utilities/transactions/transaction_db_mutex_impl.cc
|
|
|
|
utilities/transactions/transaction_lock_mgr.cc
|
|
|
|
utilities/transactions/transaction_util.cc
|
2017-09-19 15:15:08 +02:00
|
|
|
utilities/transactions/write_prepared_txn.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
utilities/ttl/db_ttl_impl.cc
|
|
|
|
utilities/write_batch_with_index/write_batch_with_index.cc
|
|
|
|
utilities/write_batch_with_index/write_batch_with_index_internal.cc
|
2017-09-19 14:34:38 +02:00
|
|
|
|
2017-02-01 22:27:13 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
list(APPEND ROCKSDB_SOURCES
|
|
|
|
port/win/io_win.cc
|
|
|
|
port/win/env_win.cc
|
|
|
|
port/win/env_default.cc
|
|
|
|
port/win/port_win.cc
|
|
|
|
port/win/win_logger.cc
|
2017-03-12 14:08:26 +01:00
|
|
|
port/win/win_thread.cc
|
2017-02-01 22:27:13 +01:00
|
|
|
port/win/xpress_win.cc)
|
|
|
|
else()
|
|
|
|
list(APPEND ROCKSDB_SOURCES
|
|
|
|
port/port_posix.cc
|
2017-09-18 13:06:01 +02:00
|
|
|
env/env_posix.cc
|
|
|
|
env/io_posix.cc)
|
2017-02-01 22:27:13 +01:00
|
|
|
endif()
|
|
|
|
SET(SOURCES)
|
|
|
|
FOREACH(s ${ROCKSDB_SOURCES})
|
|
|
|
list(APPEND SOURCES ${ROCKSDB_SOURCE_DIR}/${s})
|
|
|
|
ENDFOREACH()
|
|
|
|
|
|
|
|
IF(CMAKE_VERSION VERSION_GREATER "2.8.10")
|
|
|
|
STRING(TIMESTAMP GIT_DATE_TIME "%Y-%m-%d %H:%M:%S")
|
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
CONFIGURE_FILE(${ROCKSDB_SOURCE_DIR}/util/build_version.cc.in build_version.cc @ONLY)
|
|
|
|
INCLUDE_DIRECTORIES(${ROCKSDB_SOURCE_DIR}/util)
|
|
|
|
list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc)
|
|
|
|
|
2017-02-09 17:55:02 +01:00
|
|
|
ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES})
|
2017-02-01 22:27:13 +01:00
|
|
|
target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
|
2017-02-07 21:10:38 +01:00
|
|
|
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
|
|
set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -frtti")
|
2017-02-01 22:27:13 +01:00
|
|
|
endif()
|
2017-09-18 13:06:01 +02:00
|
|
|
|