From 7cf34fa22aed997edcc84a3c8d0191b939d83b8f Mon Sep 17 00:00:00 2001 From: Ralf Hubert Date: Thu, 22 Jan 2026 09:14:00 +0100 Subject: [PATCH 1/5] make: use fifo jobServer --- classes/make.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/make.yaml b/classes/make.yaml index a6802c5..b3f8b0e 100644 --- a/classes/make.yaml +++ b/classes/make.yaml @@ -1,4 +1,4 @@ -jobServer: "fifo-or-pipe" +jobServer: "fifo" buildToolsWeak: [make] buildVarsWeak: [MAKE_JOBS] buildSetup: | From 0c41e4d8ee00d5af4f473afa04c74132829d2360 Mon Sep 17 00:00:00 2001 From: Ralf Hubert Date: Mon, 5 Jul 2021 06:55:47 +0200 Subject: [PATCH 2/5] classes/cmake: make CMake Generator configurable Some builds are failing if ninja is used while the succeed with make. Make the Generator setable and support 'Unix Makefiles' next to ninja. --- classes/cmake.yaml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/classes/cmake.yaml b/classes/cmake.yaml index 61aba71..dc2e34a 100644 --- a/classes/cmake.yaml +++ b/classes/cmake.yaml @@ -1,7 +1,7 @@ -inherit: [cpackage, ninja, install, licenses] +inherit: [cpackage, ninja, install, licenses, make] buildToolsWeak: [cmake] -buildVars: [AUTOCONF_HOST, AR, CC, CXX] +buildVars: [AUTOCONF_HOST, AR, CC, CXX, CMAKE_GENERATOR] buildSetup: | # Make sure CMake finds other stuff by its own logic too CMAKE_FIND_ROOT_PATH= @@ -144,7 +144,7 @@ buildSetup: | pushd build cmake "$1" \ - -G Ninja \ + -G "${CMAKE_GENERATOR:-Ninja}" \ ${CMAKE_TOOLCHAIN_FILE:+-DCMAKE_TOOLCHAIN_FILE="$CMAKE_TOOLCHAIN_FILE"} \ -DCMAKE_FIND_ROOT_PATH="$CMAKE_FIND_ROOT_PATH" \ -DCMAKE_BUILD_TYPE=Bob \ @@ -155,9 +155,13 @@ buildSetup: | -DCMAKE_MSVC_RUNTIME_LIBRARY="" \ "${@:2}" - ninjaParallel ${MAKE_OPTIONS:+"${MAKE_OPTIONS[@]}"} \ - ${MAKE_TARGETS:+"${MAKE_TARGETS[@]}"} - + if [[ "${CMAKE_GENERATOR:-Ninja}" == Ninja ]]; then + ninjaParallel ${MAKE_OPTIONS:+"${MAKE_OPTIONS[@]}"} \ + ${MAKE_TARGETS:+"${MAKE_TARGETS[@]}"} + elif [[ "${CMAKE_GENERATOR:-Ninja}" == 'Unix Makefiles' ]]; then + makeParallel ${MAKE_OPTIONS:+"${MAKE_OPTIONS[@]}"} \ + ${MAKE_TARGETS:+"${MAKE_TARGET[@]}"} + fi if [[ -n "$INSTALL" ]] ; then DESTDIR="${PWD}/../install" cmake \ ${INSTALL_COMPONENT:+-DCOMPONENT="$INSTALL_COMPONENT"} \ From 904a0249ddcf91b0cf8914242bf5a71104535aea Mon Sep 17 00:00:00 2001 From: Ralf Hubert Date: Wed, 21 Jan 2026 14:54:44 +0100 Subject: [PATCH 3/5] cmake: bump to 4.2.1 --- recipes/devel/cmake.yaml | 5 +++-- .../devel/cmake/0001-fix-curl-lib-deps.patch | 22 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/recipes/devel/cmake.yaml b/recipes/devel/cmake.yaml index 850f9f5..8d23d9a 100644 --- a/recipes/devel/cmake.yaml +++ b/recipes/devel/cmake.yaml @@ -1,13 +1,13 @@ inherit: [patch] metaEnvironment: - PKG_VERSION: "3.25.1" + PKG_VERSION: "4.2.1" PKG_LICENSE: "BSD-3-Clause" checkoutSCM: scm: url url: ${GITHUB_MIRROR}/Kitware/CMake/releases/download/v${PKG_VERSION}/cmake-${PKG_VERSION}.tar.gz - digestSHA256: 1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8 + digestSHA256: 414aacfac54ba0e78e64a018720b64ed6bfca14b587047b8b3489f407a14a070 stripComponents: 1 checkoutDeterministic: True @@ -40,6 +40,7 @@ multiPackage: -DKWSYS_LFS_WORKS=TRUE \ -DKWSYS_CHAR_IS_SIGNED=TRUE \ -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_CPPDAP=OFF \ -DCTEST_USE_XMLRPC=OFF \ -DBUILD_CursesDialog=OFF diff --git a/recipes/devel/cmake/0001-fix-curl-lib-deps.patch b/recipes/devel/cmake/0001-fix-curl-lib-deps.patch index ad3b4f5..3a6446a 100644 --- a/recipes/devel/cmake/0001-fix-curl-lib-deps.patch +++ b/recipes/devel/cmake/0001-fix-curl-lib-deps.patch @@ -3,27 +3,29 @@ Fix CURL find package module The current implementation does not account for transitive dependencies of cURL. Add what is strictly necessary to get it compiled in our environment. -diff -Nurp a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake ---- a/Modules/FindCURL.cmake 2022-11-30 14:57:03.000000000 +0100 -+++ b/Modules/FindCURL.cmake 2022-12-05 21:25:34.000000000 +0100 -@@ -185,13 +185,19 @@ find_package_handle_standard_args(CURL +diff -Nurp a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake +--- a/Modules/FindCURL.cmake 2025-12-08 19:33:58.000000000 +0100 ++++ b/Modules/FindCURL.cmake 2026-01-21 14:42:55.650870435 +0100 +@@ -291,7 +291,7 @@ find_package_handle_standard_args(CURL HANDLE_COMPONENTS) - + if(CURL_FOUND) - set(CURL_LIBRARIES ${CURL_LIBRARY}) + set(CURL_LIBRARIES ${CURL_LIBRARY} ${PC_CURL_LIBRARIES}) set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) - + if(NOT TARGET CURL::libcurl) - add_library(CURL::libcurl UNKNOWN IMPORTED) +@@ -299,6 +299,13 @@ if(CURL_FOUND) set_target_properties(CURL::libcurl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}") + + if(PC_CURL_FOUND) + set(CURL_DEPENDENCY_LIBRARIES "${PC_CURL_LIBRARIES}") + list(REMOVE_ITEM CURL_DEPENDENCY_LIBRARIES curl) + set_target_properties(CURL::libcurl PROPERTIES + INTERFACE_LINK_LIBRARIES "${CURL_DEPENDENCY_LIBRARIES}") + endif() - - if(EXISTS "${CURL_LIBRARY}") - set_target_properties(CURL::libcurl PROPERTIES ++ + if(CURL_USE_STATIC_LIBS) + set_property(TARGET CURL::libcurl APPEND PROPERTY + INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB") From d475b07f9da5d722db17bdb2071e8276664f77f4 Mon Sep 17 00:00:00 2001 From: Ralf Hubert Date: Fri, 23 Jan 2026 14:35:29 +0100 Subject: [PATCH 4/5] devel/cmake: make version configurable --- recipes/devel/cmake.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/devel/cmake.yaml b/recipes/devel/cmake.yaml index 8d23d9a..c2ed0ba 100644 --- a/recipes/devel/cmake.yaml +++ b/recipes/devel/cmake.yaml @@ -1,13 +1,13 @@ inherit: [patch] metaEnvironment: - PKG_VERSION: "4.2.1" + PKG_VERSION: "${DEVEL__CMAKE_VERSION:-4.2.1}" PKG_LICENSE: "BSD-3-Clause" checkoutSCM: scm: url url: ${GITHUB_MIRROR}/Kitware/CMake/releases/download/v${PKG_VERSION}/cmake-${PKG_VERSION}.tar.gz - digestSHA256: 414aacfac54ba0e78e64a018720b64ed6bfca14b587047b8b3489f407a14a070 + digestSHA256: "${DEVEL__CMAKE_DIGEST:-414aacfac54ba0e78e64a018720b64ed6bfca14b587047b8b3489f407a14a070}" stripComponents: 1 checkoutDeterministic: True From d334446d5f66de92860ae128949b6a7d7f6ff83b Mon Sep 17 00:00:00 2001 From: Ralf Hubert Date: Fri, 23 Jan 2026 14:35:55 +0100 Subject: [PATCH 5/5] add cmake-3.31 class CMake 4.0 removed support for cmake_minium_version <= 3.5 ([1]). Since there are still packages around requiring older cmake versions add a cmake-3.31 class to be used by them. [1] https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html --- classes/compat/cmake-3.31.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 classes/compat/cmake-3.31.yaml diff --git a/classes/compat/cmake-3.31.yaml b/classes/compat/cmake-3.31.yaml new file mode 100644 index 0000000..2530f59 --- /dev/null +++ b/classes/compat/cmake-3.31.yaml @@ -0,0 +1,10 @@ +inherit: [cmake] + +depends: + - name: devel::cmake + environment: + DEVEL__CMAKE_VERSION: "3.31.10" + DEVEL__CMAKE_DIGEST: "cf06fadfd6d41fa8e1ade5099e54976d1d844fd1487ab99942341f91b13d3e29" + use: [tools] + tools: + target-toolchain: host-compat-toolchain