Files
gentoo/dev-libs/re2/files/re2-2024.07.02_optional-benchmark.patch
Azamat H. Hackimov 92b79ee555 dev-libs/re2: add 2024.07.02
Change versioning to upstream naming, switch to cmake build system,
simplify ebuild, remove benchmark dependency.

Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40123
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
2025-02-18 08:49:37 +02:00

64 lines
2.2 KiB
Diff

https://code-review.googlesource.com/c/re2/+/63530
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Tue, 14 Jan 2025 12:08:26 +0300
Subject: [PATCH] Make benchmark building optional in cmake
Some Linux distributions only requires testing but not benchmarking.
Make benchmark optional to exclude excessive dependency on building tests.
Change-Id: I1ce8bd1b4f6132efb295f71d43a77ba36ea58dc5
Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,9 @@ option(RE2_BUILD_FRAMEWORK "build RE2 as a framework" OFF)
# so we provide an option similar to BUILD_TESTING, but just for RE2.
option(RE2_BUILD_TESTING "enable testing for RE2" OFF)
+# Enable benchmark building.
+option(RE2_BUILD_BENCHMARK "enable benchmark building for RE2" OFF)
+
# The pkg-config Requires: field.
set(REQUIRES)
@@ -167,8 +170,10 @@ if(RE2_BUILD_TESTING)
if(NOT TARGET GTest::gtest)
find_package(GTest REQUIRED)
endif()
- if(NOT TARGET benchmark::benchmark)
- find_package(benchmark REQUIRED)
+ if(RE2_BUILD_BENCHMARK)
+ if(NOT TARGET benchmark::benchmark)
+ find_package(benchmark REQUIRED)
+ endif()
endif()
set(TESTING_SOURCES
@@ -227,14 +232,16 @@ if(RE2_BUILD_TESTING)
add_test(NAME ${target} COMMAND ${target})
endforeach()
- foreach(target ${BENCHMARK_TARGETS})
- add_executable(${target} re2/testing/${target}.cc)
- if(BUILD_SHARED_LIBS AND WIN32)
- target_compile_definitions(${target} PRIVATE -DRE2_CONSUME_TESTING_DLL)
- endif()
- target_compile_features(${target} PUBLIC cxx_std_14)
- target_link_libraries(${target} PUBLIC testing benchmark::benchmark_main ${EXTRA_TARGET_LINK_LIBRARIES})
- endforeach()
+ if(RE2_BUILD_BENCHMARK)
+ foreach(target ${BENCHMARK_TARGETS})
+ add_executable(${target} re2/testing/${target}.cc)
+ if(BUILD_SHARED_LIBS AND WIN32)
+ target_compile_definitions(${target} PRIVATE -DRE2_CONSUME_TESTING_DLL)
+ endif()
+ target_compile_features(${target} PUBLIC cxx_std_14)
+ target_link_libraries(${target} PUBLIC testing benchmark::benchmark_main ${EXTRA_TARGET_LINK_LIBRARIES})
+ endforeach()
+ endif()
endif()
install(TARGETS re2
--
2.45.2