CMakeLists.txt 782 B

1234567891011121314151617
  1. find_package(benchmark REQUIRED)
  2. find_package(Threads REQUIRED)
  3. file(GLOB_RECURSE ALL_BENCH_CPP *.cc)
  4. foreach(ONE_BENCH_CPP ${ALL_BENCH_CPP})
  5. get_filename_component(TARGET_NAME ${ONE_BENCH_CPP} NAME_WE)
  6. add_executable(${TARGET_NAME} ${ONE_BENCH_CPP})
  7. target_link_libraries(${TARGET_NAME} ${ROCKSDB_LIB} benchmark::benchmark
  8. ${CMAKE_THREAD_LIBS_INIT})
  9. # run benchmark like a test, if added, the benchmark tests could be run by `ctest -R Bench_`
  10. # add_test(Bench_${TARGET_NAME} ${TARGET_NAME})
  11. list(APPEND ALL_BENCH_TARGETS ${TARGET_NAME})
  12. endforeach()
  13. add_custom_target(microbench DEPENDS ${ALL_BENCH_TARGETS})
  14. add_custom_target(run_microbench
  15. COMMAND for t in ${ALL_BENCH_TARGETS}\; do \.\/$$t \|\| exit 1\; done
  16. DEPENDS ${ALL_BENCH_TARGETS})