From ca4544f04cc67c296e58170e76203bc11519d988 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 11 Oct 2023 10:35:06 +0200 Subject: add benchmark executable --- external/CMakeLists.txt | 34 +++++++++++++++++++++++++++++++++- external/benchmark | 1 + 2 files changed, 34 insertions(+), 1 deletion(-) create mode 160000 external/benchmark (limited to 'external') diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 65b79e0d..18913ccc 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -4,12 +4,24 @@ if(NOT DEFINED FLOORMAT_SUBMODULE-SDL2) find_package(SDL2 QUIET) if(SDL2_FOUND) set(FLOORMAT_SUBMODULE-SDL2 OFF CACHE BOOL - "SDL2 as submodule") + "SDL2 as a submodule") endif() endif() set(FLOORMAT_SUBMODULE-SDL2 ON CACHE BOOL "SDL2 as submodule") + +if(NOT DEFINED FLOORMAT_SUBMODULE-BENCHMARK) + find_package(benchmark QUIET) + if(benchmark_FOUND) + set(FLOORMAT_SUBMODULE-BENCHMARK OFF CACHE BOOL + "Benchmark as a submodule") + endif() +endif() + +set(FLOORMAT_SUBMODULE-BENCHMARK ON CACHE BOOL + "Benchmark as a submodule") + set(FLOORMAT_SUBMODULE-DEPENDENCIES ON CACHE BOOL "Use dependencies included in the source directory (needs git submodule update --init).") @@ -234,6 +246,23 @@ if(FLOORMAT_SUBMODULE-DEPENDENCIES) endif() endfunction() + function(fm_add_benchmark) + set(BUILD_SHARED_LIBS 1) + if(WIN32) + set(HAVE_STD_REGEX 1) + endif() + set(BENCHMARK_ENABLE_TESTING OFF) + set(BENCHMARK_ENABLE_EXCEPTIONS ON) + set(BENCHMARK_ENABLE_LTO OFF) + set(BENCHMARK_ENABLE_WERROR OFF) + set(BENCHMARK_FORCE_WERROR OFF) + set(BENCHMARK_ENABLE_INSTALL OFF) + set(BENCHMARK_ENABLE_DOXYGEN OFF) + set(BENCHMARK_INSTALL_DOCS OFF) + set(BENCHMARK_ENABLE_GTEST_TESTS OFF) + add_subdirectory(benchmark ${system}) + endfunction() + function(fm_add_luajit) set(CMAKE_C_STANDARD 11) set(CMAKE_C_EXTENSIONS 1) @@ -256,6 +285,9 @@ if(FLOORMAT_SUBMODULE-DEPENDENCIES) if(MAGNUM_BUILD_TESTS OR CORRADE_BUILD_TESTS AND NOT DEFINED CORRADE_TESTSUITE_TEST_TARGET) sets(STRING CORRADE_TESTSUITE_TEST_TARGET corrade-test) endif() + if(FLOORMAT_SUBMODULE-BENCHMARK) + fm_add_benchmark() + endif() fm_add_sdl2() #fm_add_luajit() if(MSVC) diff --git a/external/benchmark b/external/benchmark new file mode 160000 index 00000000..ca8d0f7b --- /dev/null +++ b/external/benchmark @@ -0,0 +1 @@ +Subproject commit ca8d0f7b613ac915cd6b161ab01b7be449d1e1cd -- cgit v1.2.3