diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e0c7f7d4b..2b12c2b651 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -154,6 +154,8 @@ option(RECASTNAVIGATION_STATIC "Build recastnavigation static libraries" ${_reca option(OPENMW_USE_SYSTEM_SQLITE3 "Use system provided SQLite3 library" ON) +option(OPENMW_USE_SYSTEM_BENCHMARK "Use system Google Benchmark library." OFF) + option(OPENMW_UNITY_BUILD "Use fewer compilation units to speed up compile time" FALSE) option(OPENMW_LTO_BUILD "Build OpenMW with Link-Time Optimization (Needs ~2GB of RAM)" OFF) diff --git a/apps/benchmarks/CMakeLists.txt b/apps/benchmarks/CMakeLists.txt index ad4a21d5e4..c96531a666 100644 --- a/apps/benchmarks/CMakeLists.txt +++ b/apps/benchmarks/CMakeLists.txt @@ -1,27 +1,5 @@ -option(OPENMW_USE_SYSTEM_BENCHMARK "Use system Google Benchmark library." OFF) - if(OPENMW_USE_SYSTEM_BENCHMARK) find_package(benchmark REQUIRED) -else() - cmake_minimum_required(VERSION 3.11) - - set(BENCHMARK_ENABLE_TESTING OFF) - set(BENCHMARK_ENABLE_INSTALL OFF) - set(BENCHMARK_ENABLE_GTEST_TESTS OFF) - - set(SAVED_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - - string(REPLACE "-Wsuggest-override" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REPLACE "-Wundef" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - include(FetchContent) - FetchContent_Declare(benchmark - URL https://github.com/google/benchmark/archive/refs/tags/v1.5.2.zip - URL_HASH MD5=49395b757a7c4656d70f1328d93efd00 - SOURCE_DIR fetched/benchmark - ) - FetchContent_MakeAvailableExcludeFromAll(benchmark) - - set(CMAKE_CXX_FLAGS "${SAVED_CMAKE_CXX_FLAGS}") endif() openmw_add_executable(openmw_detournavigator_navmeshtilescache_benchmark detournavigator/navmeshtilescache.cpp) diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 27351ce675..4dd4c2b416 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -210,3 +210,19 @@ if (NOT OPENMW_USE_SYSTEM_SQLITE3) endif() add_subdirectory(smhasher) + +if (NOT OPENMW_USE_SYSTEM_BENCHMARK) + cmake_minimum_required(VERSION 3.11) + + set(BENCHMARK_ENABLE_TESTING OFF) + set(BENCHMARK_ENABLE_INSTALL OFF) + set(BENCHMARK_ENABLE_GTEST_TESTS OFF) + + include(FetchContent) + FetchContent_Declare(benchmark + URL https://github.com/google/benchmark/archive/refs/tags/v1.5.2.zip + URL_HASH MD5=49395b757a7c4656d70f1328d93efd00 + SOURCE_DIR fetched/benchmark + ) + FetchContent_MakeAvailableExcludeFromAll(benchmark) +endif()