diff mbox series

[meta-openembedded,8/9] cli11: Upgrade 2.3.2 -> 2.5.0 to allow CMake 4+ compatibility

Message ID 20250707225407.1558421-8-alperyasinak1@gmail.com
State New
Headers show
Series [meta-openembedded,1/9] liblightmodbus: Upgrade 2.0.2 -> 3.0 to allow CMake 4+ compatibility | expand

Commit Message

Alper Ak July 7, 2025, 10:54 p.m. UTC
- 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>
---
 ...the-catch-framework-during-configure.patch | 41 -------------------
 meta-oe/recipes-support/cli11/cli11_2.3.2.bb  | 25 -----------
 meta-oe/recipes-support/cli11/cli11_2.5.0.bb  | 18 ++++++++
 3 files changed, 18 insertions(+), 66 deletions(-)
 delete mode 100644 meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch
 delete mode 100644 meta-oe/recipes-support/cli11/cli11_2.3.2.bb
 create mode 100644 meta-oe/recipes-support/cli11/cli11_2.5.0.bb
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch b/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch
deleted file mode 100644
index 7e6611b6a8..0000000000
--- a/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch
+++ /dev/null
@@ -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
-
diff --git a/meta-oe/recipes-support/cli11/cli11_2.3.2.bb b/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
deleted file mode 100644
index 346ccd6c69..0000000000
--- a/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
+++ /dev/null
@@ -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"
diff --git a/meta-oe/recipes-support/cli11/cli11_2.5.0.bb b/meta-oe/recipes-support/cli11/cli11_2.5.0.bb
new file mode 100644
index 0000000000..82203b3019
--- /dev/null
+++ b/meta-oe/recipes-support/cli11/cli11_2.5.0.bb
@@ -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"