cmake: add option WITH_CORE_TOOLS to exclude tools except ldb and sst_dump (#6506)
Summary: ldb and sst_dump are most important tools and they don't dependend on gflags. In cmake, we don't have an way to only build these two tools and exclude other tools. This is inconvenient if the environment has a problem with gflags. Add such an option WITH_CORE_TOOLS. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6506 Test Plan: cmake and build with WITH_TOOLS and without. Differential Revision: D20473029 fbshipit-source-id: 3d730fd14bbae6eeeae7f9cc9aec50a4e488ad72
This commit is contained in:
parent
1df9b01680
commit
8ad4b32c5d
@ -1199,9 +1199,15 @@ if(WITH_BENCHMARK_TOOLS)
|
||||
${ROCKSDB_LIB})
|
||||
endif()
|
||||
|
||||
option(WITH_CORE_TOOLS "build with ldb and sst_dump" ON)
|
||||
option(WITH_TOOLS "build with tools" ON)
|
||||
if(WITH_TOOLS)
|
||||
if(WITH_CORE_TOOLS OR WITH_TOOLS)
|
||||
add_subdirectory(tools)
|
||||
add_custom_target(core_tools
|
||||
DEPENDS ${core_tool_deps})
|
||||
endif()
|
||||
|
||||
if(WITH_TOOLS)
|
||||
add_subdirectory(db_stress_tool)
|
||||
add_custom_target(tools
|
||||
DEPENDS ${tool_deps})
|
||||
|
@ -1,8 +1,18 @@
|
||||
set(TOOLS
|
||||
set(CORE_TOOLS
|
||||
sst_dump.cc
|
||||
ldb.cc)
|
||||
foreach(src ${CORE_TOOLS})
|
||||
get_filename_component(exename ${src} NAME_WE)
|
||||
add_executable(${exename}${ARTIFACT_SUFFIX}
|
||||
${src})
|
||||
target_link_libraries(${exename}${ARTIFACT_SUFFIX} ${ROCKSDB_LIB})
|
||||
list(APPEND core_tool_deps ${exename})
|
||||
endforeach()
|
||||
|
||||
if(WITH_TOOLS)
|
||||
set(TOOLS
|
||||
db_sanity_test.cc
|
||||
write_stress.cc
|
||||
ldb.cc
|
||||
db_repl_stress.cc
|
||||
dump/rocksdb_dump.cc
|
||||
dump/rocksdb_undump.cc)
|
||||
@ -14,8 +24,7 @@ foreach(src ${TOOLS})
|
||||
list(APPEND tool_deps ${exename})
|
||||
endforeach()
|
||||
|
||||
list(APPEND tool_deps)
|
||||
|
||||
add_custom_target(ldb_tests
|
||||
COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/ldb_tests.py
|
||||
DEPENDS ldb)
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user