node-blaze
Version:
Bindings to blaze, high-performance C++ JSON Schema validator
55 lines (49 loc) • 1.7 kB
Plain Text
set(BENCHMARK_SOURCES)
if(BLAZE_COMPILER)
list(APPEND BENCHMARK_SOURCES
compiler_draft6.cc
compiler_2019_09.cc)
endif()
if(BLAZE_EVALUATOR)
list(APPEND BENCHMARK_SOURCES
evaluator_draft4.cc
evaluator_draft6.cc
evaluator_draft7.cc
evaluator_2019_09.cc
evaluator_2020_12.cc)
endif()
if(BENCHMARK_SOURCES)
sourcemeta_googlebenchmark(NAMESPACE sourcemeta PROJECT blaze
FOLDER "Blaze" SOURCES ${BENCHMARK_SOURCES})
target_compile_definitions(sourcemeta_blaze_benchmark
PRIVATE CURRENT_DIRECTORY="${CMAKE_CURRENT_SOURCE_DIR}")
target_link_libraries(sourcemeta_blaze_benchmark
PRIVATE sourcemeta::core::json)
target_link_libraries(sourcemeta_blaze_benchmark
PRIVATE sourcemeta::core::jsonschema)
if(BLAZE_COMPILER)
target_link_libraries(sourcemeta_blaze_benchmark
PRIVATE sourcemeta::blaze::compiler)
endif()
if(BLAZE_EVALUATOR)
target_link_libraries(sourcemeta_blaze_benchmark
PRIVATE sourcemeta::blaze::evaluator)
endif()
add_custom_target(benchmark_all
COMMAND sourcemeta_blaze_benchmark
DEPENDS sourcemeta_blaze_benchmark
COMMENT "Running benchmark...")
add_custom_target(benchmark_json
COMMAND sourcemeta_blaze_benchmark
--benchmark_format=json
--benchmark_out="${PROJECT_BINARY_DIR}/benchmark.json"
DEPENDS sourcemeta_blaze_benchmark
COMMENT "Running benchmark...")
else()
add_custom_target(benchmark_all VERBATIM
COMMAND "${CMAKE_COMMAND}" -E echo "Nothing to benchmark"
COMMAND "${CMAKE_COMMAND}" -E false)
add_custom_target(benchmark_json VERBATIM
COMMAND "${CMAKE_COMMAND}" -E echo "Nothing to benchmark"
COMMAND "${CMAKE_COMMAND}" -E false)
endif()