2021-07-09 00:50:55 +00:00
|
|
|
find_package(benchmark REQUIRED)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
|
|
|
|
file(GLOB_RECURSE ALL_BENCH_CPP *.cc)
|
|
|
|
foreach(ONE_BENCH_CPP ${ALL_BENCH_CPP})
|
|
|
|
get_filename_component(TARGET_NAME ${ONE_BENCH_CPP} NAME_WE)
|
|
|
|
add_executable(${TARGET_NAME} ${ONE_BENCH_CPP})
|
|
|
|
target_link_libraries(${TARGET_NAME} ${ROCKSDB_LIB} benchmark::benchmark
|
|
|
|
${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
# run benchmark like a test, if added, the benchmark tests could be run by `ctest -R Bench_`
|
|
|
|
# add_test(Bench_${TARGET_NAME} ${TARGET_NAME})
|
|
|
|
list(APPEND ALL_BENCH_TARGETS ${TARGET_NAME})
|
|
|
|
endforeach()
|
2022-04-01 00:17:44 +00:00
|
|
|
add_custom_target(microbench DEPENDS ${ALL_BENCH_TARGETS})
|
|
|
|
add_custom_target(run_microbench
|
2021-07-09 00:50:55 +00:00
|
|
|
COMMAND for t in ${ALL_BENCH_TARGETS}\; do \.\/$$t \|\| exit 1\; done
|
|
|
|
DEPENDS ${ALL_BENCH_TARGETS})
|