From de3c8d3ff2d0b2ce21b37480e8f5ec49cd76aa97 Mon Sep 17 00:00:00 2001 From: Alper Ak Date: Tue, 8 Jul 2025 01:54:06 +0300 Subject: 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 value. Or, use the ... syntax | to tell CMake that the project requires at least but has been updated | to work with policies introduced by or earlier. | | Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. | | | -- Configuring incomplete, errors occurred! Signed-off-by: Alper Ak Signed-off-by: Khem Raj --- ...load-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 --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 -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 ---- - 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" -- cgit v1.2.3-54-g00ecf