cli11: Upgrade 2.3.2 -> 2.5.0 to allow CMake 4+ compatibility

- Drop 0001-Do-not-download-the-catch-framework-during-configure.patch

The cli11 recipe previously included a patch to disable downloading
of the Catch2 test framework during the build, and manually copied
the catch.hpp file into the source tree.

With the new change, we now declare a dependency on the catch2 recipe,
allowing the build system to use the system provided Catch2 headers
instead of downloading or copying them. The patch to remove the
download logic is no longer needed and has been dropped for a cleaner
and more maintainable recipe.

Also, If Catch2 is already found, it doesn't enter the block of the download
step accordingly to CMakeLists.txt.

- The LICENSE file has changed so updated LIC_FILES_CHKSUM to match the new md5sum.

Changelog: https://github.com/CLIUtils/CLI11/blob/v2.5.0/CHANGELOG.md

Fix:

| CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
|   Compatibility with CMake < 3.5 has been removed from CMake.
|
|   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
|   to tell CMake that the project requires at least <min> but has been updated
|   to work with policies introduced by <max> or earlier.
|
|   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
|
|
| -- Configuring incomplete, errors occurred!

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Alper Ak 2025-07-08 01:54:06 +03:00 committed by Khem Raj
parent 9fd461a067
commit de3c8d3ff2
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 18 additions and 66 deletions

View File

@ -1,41 +0,0 @@
From 93557d5c5acf9ebb2c0fa708658e1d36621dd23a Mon Sep 17 00:00:00 2001
From: Wang Mingyu <wangmy@fujitsu.com>
Date: Wed, 7 Sep 2022 10:05:15 +0900
Subject: [PATCH] Do not download the catch framework during configure.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
tests/CMakeLists.txt | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 80c4f6a..ae210db 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -74,21 +74,6 @@ if(Catch2_FOUND)
endif()
message(STATUS "Found Catch2")
target_link_libraries(catch_main PUBLIC Catch2::Catch2)
-else()
- message(STATUS "Downloading Catch2")
-
- # FetchContent would be better, but requires newer CMake.
- file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/catch2")
- set(url https://github.com/philsquared/Catch/releases/download/v2.13.7/catch.hpp)
- file(
- DOWNLOAD ${url} "${CMAKE_CURRENT_BINARY_DIR}/catch2/catch.hpp"
- STATUS status
- EXPECTED_HASH SHA256=ea379c4a3cb5799027b1eb451163dff065a3d641aaba23bf4e24ee6b536bd9bc)
- list(GET status 0 error)
- if(error)
- message(FATAL_ERROR "Could not download ${url}, and Catch2 not found on your system.")
- endif()
- target_include_directories(catch_main PUBLIC "${CMAKE_CURRENT_BINARY_DIR}")
endif()
# Target must already exist
--
2.25.1

View File

@ -1,25 +0,0 @@
SUMMARY = "C++11 command line parser"
DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
HOMEPAGE = "https://github.com/CLIUtils/CLI11"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=afb20fe5f67e21074b10b864d9563c11"
SRCREV = "291c58789c031208f08f4f261a858b5b7083e8e2"
PV .= "+git"
SRC_URI += "gitsm://github.com/CLIUtils/CLI11;branch=main;protocol=https \
https://github.com/philsquared/Catch/releases/download/v2.13.7/catch.hpp \
file://0001-Do-not-download-the-catch-framework-during-configure.patch"
SRC_URI[sha256sum] = "ea379c4a3cb5799027b1eb451163dff065a3d641aaba23bf4e24ee6b536bd9bc"
do_configure:prepend() {
mkdir -p ${S}/tests/catch2
cp ${DL_DIR}/catch.hpp ${S}/tests/catch2/catch.hpp
}
inherit cmake
# cli11 is a header only C++ library, so the main package will be empty.
RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"

View File

@ -0,0 +1,18 @@
SUMMARY = "C++11 command line parser"
DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
HOMEPAGE = "https://github.com/CLIUtils/CLI11"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b8bdde6bda8508bef68a39f3e0d7e939"
DEPENDS = "catch2"
SRCREV = "4160d259d961cd393fd8d67590a8c7d210207348"
SRC_URI = "gitsm://github.com/CLIUtils/CLI11;branch=main;protocol=https"
SRC_URI[sha256sum] = "ea379c4a3cb5799027b1eb451163dff065a3d641aaba23bf4e24ee6b536bd9bc"
inherit cmake
# cli11 is a header only C++ library, so the main package will be empty.
RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"