dev-cpp/yaml-cpp: fix cmake4 compatibility

Removed bundled gtest; it wasn't used, but its existence was triggering cmake QA warning

Closes: https://bugs.gentoo.org/957557
Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
Part-of: https://github.com/gentoo/gentoo/pull/43303
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alexey Sokolov 2025-08-03 15:55:21 +01:00 committed by Sam James
parent bb351ac2a3
commit 485ea72f64
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,39 @@
https://bugs.gentoo.org/957557
From c9371de7836d113c0b14bfa15ca70f00ebb3ac6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
Date: Mon, 24 Mar 2025 08:32:25 +0100
Subject: [PATCH] [cmake] Require minimum CMake version 3.5
Soon CMake 4.0 will be released. It requires that projects
set a minimum required CMake version of 3.5. There is a
workaround with an additional flag, but it would is better
to increase the minimum required version.
---
CMakeLists.txt | 6 +++---
test/CMakeLists.txt | 1 -
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e8a528d8..0df533a5a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,6 @@
-# 3.5 is actually available almost everywhere, but this a good minimum
-cmake_minimum_required(VERSION 3.4)
+# 3.5 is actually available almost everywhere.
+# 3.30 as the upper policy limit avoids CMake deprecation warnings.
+cmake_minimum_required(VERSION 3.5...3.30)
# enable MSVC_RUNTIME_LIBRARY target property
# see https://cmake.org/cmake/help/latest/policy/CMP0091.html
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 1c60c07c5..6949d29c1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -3,6 +3,5 @@ find_package(Threads REQUIRED)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
set(BUILD_MOCK ON CACHE BOOL "" FORCE)
-set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
if(YAML_USE_SYSTEM_GTEST)
find_package(GTest)

View File

@ -0,0 +1,43 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="YAML parser and emitter in C++"
HOMEPAGE="https://github.com/jbeder/yaml-cpp"
SRC_URI="https://github.com/jbeder/yaml-cpp/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0/0.8"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )
"
PATCHES=(
"${FILESDIR}/yaml-cpp-0.8.0-gtest.patch"
"${FILESDIR}/yaml-cpp-0.8.0-gcc13.patch"
"${FILESDIR}/yaml-cpp-0.8.0-include-cstdint.patch"
"${FILESDIR}/yaml-cpp-0.8.0-cmake2.patch"
)
src_prepare() {
rm -r test/gtest-1.11.0 || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DYAML_BUILD_SHARED_LIBS=ON
-DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
-DYAML_CPP_BUILD_TESTS=$(usex test)
)
cmake-multilib_src_configure
}