21f4bb5a89
* enable cmake to work on linux and osx also * port part of build_detect_platform not covered by thirdparty.inc to cmake. - detect fallocate() - detect malloc_usable_size() - detect JeMalloc - detect snappy * check for asan,tsan,ubsan * create 'build_version.cc' in build directory. * add `check` target to support 'make check'. * add `tools` target to match its counterpart in Makefile. * use `date` on non-win32 platforms. * pass different cflags on non-win32 platforms * detect pthead library using FindThread cmake module. * enable CMP0042 to silence the cmake warning on osx * reorder the linked libraries. because testutillib references gtest, to enable the linker to find the referenced symbols, we need to put gtest after testutillib. Signed-off-by: Marcus Watts <mwatts@redhat.com> Signed-off-by: Kefu Chai <kchai@redhat.com> * hash_table_bench.cc: fix build without gflags Signed-off-by: Kefu Chai <kchai@redhat.com> * remove gtest from librocksdb linkage testharness.cc is included in librocksdb sources, and it uses gtest. but gtest is not supposed to be part of the public API of librocksdb. so, in this change, the testharness.cc is moved out out librocksdb, and is built as an object target, then linked with the tools and tests instead. Signed-off-by: Marcus Watts <mwatts@redhat.com> Signed-off-by: Kefu Chai <kchai@redhat.com>
22 lines
544 B
CMake
22 lines
544 B
CMake
set(TOOLS
|
|
sst_dump.cc
|
|
db_sanity_test.cc
|
|
db_stress.cc
|
|
write_stress.cc
|
|
ldb.cc
|
|
db_repl_stress.cc
|
|
dump/rocksdb_dump.cc
|
|
dump/rocksdb_undump.cc)
|
|
foreach(src ${TOOLS})
|
|
get_filename_component(exename ${src} NAME_WE)
|
|
add_executable(${exename}${ARTIFACT_SUFFIX}
|
|
${src})
|
|
target_link_libraries(${exename}${ARTIFACT_SUFFIX} ${LIBS})
|
|
list(APPEND tool_deps ${exename})
|
|
endforeach()
|
|
add_custom_target(tools
|
|
DEPENDS ${tool_deps})
|
|
add_custom_target(ldb_tests
|
|
COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/ldb_tests.py
|
|
DEPENDS ldb)
|