diff options
author | Peter Levine <plevine457@gmail.com> | 2024-10-08 04:49:38 -0400 |
---|---|---|
committer | Florian Schmaus <flow@gentoo.org> | 2024-10-14 09:14:00 +0200 |
commit | a9924d310c7adbc1948b1086e3d4b67b8cdecd19 (patch) | |
tree | 506a8b7e0579174787818adcf29949abfadf6383 /dev-cpp | |
parent | dev-cpp/gtest: use CMAKE_SKIP_TESTS to filter tests (diff) | |
download | gentoo-a9924d310c7adbc1948b1086e3d4b67b8cdecd19.tar.gz gentoo-a9924d310c7adbc1948b1086e3d4b67b8cdecd19.tar.bz2 gentoo-a9924d310c7adbc1948b1086e3d4b67b8cdecd19.zip |
dev-cpp/gtest: add support for abseil and re2
Use abseil for functionality such as using AbslStringify for extensible
print formatting, and use re2 for regex engine and syntax.
Signed-off-by: Peter Levine <plevine457@gmail.com>
Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/gtest/files/gtest-find-re2-with-pkgconfig.patch | 32 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-9999.ebuild | 9 | ||||
-rw-r--r-- | dev-cpp/gtest/metadata.xml | 5 |
3 files changed, 45 insertions, 1 deletions
diff --git a/dev-cpp/gtest/files/gtest-find-re2-with-pkgconfig.patch b/dev-cpp/gtest/files/gtest-find-re2-with-pkgconfig.patch new file mode 100644 index 000000000000..3a78ae15cac3 --- /dev/null +++ b/dev-cpp/gtest/files/gtest-find-re2-with-pkgconfig.patch @@ -0,0 +1,32 @@ +dev-libs/re2 is built with a Makefile which doesn't install any cmake modules. +For now, use pkgconfig. + +Bug: https://bugs.gentoo.org/940734 +Signed-off-by: Peter Levine <plevine457@gmail.com> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,7 +25,9 @@ + find_package(absl REQUIRED) + endif() + if(NOT TARGET re2::re2) +- find_package(re2 REQUIRED) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(re2 REQUIRED IMPORTED_TARGET re2) ++ add_library(re2::re2 ALIAS PkgConfig::re2) + endif() + endif() + +--- a/googletest/cmake/Config.cmake.in ++++ b/googletest/cmake/Config.cmake.in +@@ -6,7 +6,9 @@ + endif() + if (@GTEST_HAS_ABSL@) + find_dependency(absl) +- find_dependency(re2) ++ find_package(PkgConfig) ++ pkg_check_modules(re2 IMPORTED_TARGET re2) ++ add_library(re2::re2 ALIAS PkgConfig::re2) + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") diff --git a/dev-cpp/gtest/gtest-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild index f86a47387a97..be6392d028d6 100644 --- a/dev-cpp/gtest/gtest-9999.ebuild +++ b/dev-cpp/gtest/gtest-9999.ebuild @@ -29,14 +29,20 @@ HOMEPAGE="https://github.com/google/googletest" LICENSE="BSD" SLOT="0" -IUSE="doc examples test" +IUSE="abseil doc examples test" RESTRICT="!test? ( test )" BDEPEND="test? ( ${PYTHON_DEPS} )" +DEPEND="abseil? ( + dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}] + dev-libs/re2:=[${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND}" # Exclude tests that fail with FEATURES="usersandbox" CMAKE_SKIP_TESTS=( "googletest-(death-test|port)-test" ) +PATCHES=( "${FILESDIR}"/gtest-find-re2-with-pkgconfig.patch ) + pkg_setup() { use test && python-any-r1_pkg_setup } @@ -49,6 +55,7 @@ multilib_src_configure() { local mycmakeargs=( -DBUILD_GMOCK=ON -DINSTALL_GTEST=ON + -DGTEST_HAS_ABSL=$(usex abseil) # tests -Dgmock_build_tests=$(usex test) diff --git a/dev-cpp/gtest/metadata.xml b/dev-cpp/gtest/metadata.xml index 2a73b6d6508d..982d3d7ce6b4 100644 --- a/dev-cpp/gtest/metadata.xml +++ b/dev-cpp/gtest/metadata.xml @@ -9,6 +9,11 @@ <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> + <use> + <flag name="abseil"> + Build with functionality provided by <pkg>dev-cpp/abseil-cpp</pkg> and <pkg>dev-libs/re2</pkg> + </flag> + </use> <upstream> <doc lang="en">https://github.com/google/googletest/tree/HEAD/docs</doc> <remote-id type="github">google/googletest</remote-id> |