spdlog/bench/CMakeLists.txt

42 lines
1.5 KiB
CMake
Raw Normal View History

2020-05-02 16:38:14 +08:00
# Copyright(c) 2019 spdlog authors Distributed under the MIT License (http://opensource.org/licenses/MIT)
2018-08-13 06:22:35 +08:00
cmake_minimum_required(VERSION 3.10)
2019-05-29 05:04:36 +08:00
project(spdlog_bench CXX)
2018-08-13 06:22:35 +08:00
if(NOT TARGET spdlog)
2020-05-02 16:42:08 +08:00
# Stand-alone build
find_package(spdlog CONFIG REQUIRED)
2018-08-13 06:22:35 +08:00
endif()
find_package(Threads REQUIRED)
find_package(benchmark CONFIG)
2021-07-19 05:50:51 +08:00
if(NOT benchmark_FOUND)
message(STATUS "Using CMake Version ${CMAKE_VERSION}")
2021-07-19 05:50:51 +08:00
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.11.0")
# User can fetch googlebenchmark
message(STATUS "Downloading GoogleBenchmark")
include(FetchContent)
2021-12-10 04:35:16 +08:00
# disable tests
set(BENCHMARK_ENABLE_TESTING OFF CACHE INTERNAL "")
# Do not build and run googlebenchmark tests
2021-12-10 03:51:16 +08:00
FetchContent_Declare(googlebenchmark GIT_REPOSITORY https://github.com/google/benchmark.git GIT_TAG v1.6.0)
FetchContent_MakeAvailable(googlebenchmark)
else()
message(FATAL_ERROR "GoogleBenchmark is missing. Use CMake >= 3.11 or download it")
endif()
endif()
2018-08-13 06:22:35 +08:00
add_executable(bench bench.cpp)
2019-06-10 23:09:36 +08:00
spdlog_enable_warnings(bench)
target_link_libraries(bench PRIVATE spdlog::spdlog)
2018-08-13 06:22:35 +08:00
add_executable(async_bench async_bench.cpp)
target_link_libraries(async_bench PRIVATE spdlog::spdlog)
2018-08-13 06:22:35 +08:00
add_executable(latency latency.cpp)
target_link_libraries(latency PRIVATE benchmark::benchmark spdlog::spdlog)
2018-08-13 06:22:35 +08:00
2018-11-12 22:13:52 +08:00
add_executable(formatter-bench formatter-bench.cpp)
target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog)