--- /dev/null
+From 00d7750304f1c144f47225274b22ea8d638641ed Mon Sep 17 00:00:00 2001
+Date: Fri, 6 Jun 2025 09:27:05 +0200
+Subject: [PATCH] regen from zproject to update cmakelists.txt
+
+---
+ CMakeLists.txt | 152 +++++--------------
+ bindings/jni/czmq-jni/CMakeLists.txt | 2 +-
+ bindings/jni/czmq-jni/android/CMakeLists.txt | 2 +-
+ configure.ac | 12 ++
+ 4 files changed, 55 insertions(+), 113 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,12 +6,13 @@
+ ########################################################################
+ # Project setup
+ ########################################################################
+-cmake_minimum_required(VERSION 2.8.12)
++cmake_minimum_required(VERSION 2.8...4.0)
+ project(czmq)
+ enable_language(C)
+ enable_testing()
+
+-set(SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
++include(GNUInstallDirs)
++
+ set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+ # Select flags
+ if(MSVC)
+@@ -30,7 +31,7 @@ set(pkg_config_names_private "")
+ # options
+ ########################################################################
+ if (NOT CMAKE_BUILD_TYPE)
+- if (EXISTS "${SOURCE_DIR}/.git")
++ if (EXISTS "${PROJECT_SOURCE_DIR}/.git")
+ set (CMAKE_BUILD_TYPE Debug)
+ else ()
+ # http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/
+@@ -79,7 +80,7 @@ endif()
+ include(CheckSymbolExists)
+ check_symbol_exists(AI_V4MAPPED "czmq.h" HAVE_DECL_AI_V4MAPPED)
+
+-file(REMOVE "${SOURCE_DIR}/src/platform.h")
++file(REMOVE "${PROJECT_SOURCE_DIR}/src/platform.h")
+
+ file(WRITE "${PROJECT_BINARY_DIR}/platform.h.in" "
+ #cmakedefine HAVE_LINUX_WIRELESS_H
+@@ -97,7 +98,7 @@ if (WIN32)
+ #so the sources have to be compiled as c++
+ if (MSVC AND NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
+ enable_language(CXX)
+- file(GLOB sources "${SOURCE_DIR}/src/*.c")
++ file(GLOB sources "${PROJECT_SOURCE_DIR}/src/*.c")
+ set_source_files_properties(
+ ${sources}
+ PROPERTIES LANGUAGE CXX
+@@ -123,7 +124,7 @@ if (CYGWIN)
+ set(MORE_LIBRARIES)
+ endif()
+
+-list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}")
++list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}")
+ set(OPTIONAL_LIBRARIES)
+ set(OPTIONAL_LIBRARIES_STATIC)
+
+@@ -326,14 +327,14 @@ IF (ENABLE_DRAFTS)
+ ENDIF (ENABLE_DRAFTS)
+
+ source_group ("Header Files" FILES ${czmq_headers})
+-install(FILES ${czmq_headers} DESTINATION include)
++install(FILES ${czmq_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ ########################################################################
+ # library
+ ########################################################################
+
+
+-include_directories("${SOURCE_DIR}/src" "${SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}")
++include_directories("${PROJECT_SOURCE_DIR}/src" "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}")
+ set (czmq_sources
+ src/zactor.c
+ src/zarmour.c
+@@ -434,15 +435,12 @@ if (CZMQ_BUILD_SHARED)
+
+ install(TARGETS czmq
+ EXPORT czmq-targets
+- LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
+- ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
+- RUNTIME DESTINATION bin # .dll file
+ )
+
+ target_include_directories(czmq
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+- $<INSTALL_INTERFACE:include>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ )
+ endif()
+
+@@ -471,15 +469,12 @@ if (CZMQ_BUILD_STATIC)
+
+ install(TARGETS czmq-static
+ EXPORT czmq-targets
+- LIBRARY DESTINATION "lib${LIB_SUFFIX}" # .so file
+- ARCHIVE DESTINATION "lib${LIB_SUFFIX}" # .lib file
+- RUNTIME DESTINATION bin # .dll file
+ )
+
+ target_include_directories(czmq-static
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+- $<INSTALL_INTERFACE:include>
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ )
+ target_compile_definitions(czmq-static
+ PUBLIC CZMQ_STATIC
+@@ -496,21 +491,21 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/src/
+ set (VERSION "4.2.1")
+ set (prefix "${CMAKE_INSTALL_PREFIX}")
+ set (exec_prefix "\${prefix}")
+-set (libdir "\${prefix}/lib${LIB_SUFFIX}")
+-set (includedir "\${prefix}/include")
++set (libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
++set (includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+ IF (ENABLE_DRAFTS)
+ set (pkg_config_defines "-DCZMQ_BUILD_DRAFT_API=1")
+ ELSE (ENABLE_DRAFTS)
+ set (pkg_config_defines "")
+ ENDIF (ENABLE_DRAFTS)
+ configure_file(
+- "${SOURCE_DIR}/src/libczmq.pc.in"
+- "${SOURCE_DIR}/src/libczmq.pc"
++ "${PROJECT_SOURCE_DIR}/src/libczmq.pc.in"
++ "${PROJECT_SOURCE_DIR}/src/libczmq.pc"
+ @ONLY)
+
+ install(
+- FILES "${SOURCE_DIR}/src/libczmq.pc"
+- DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
++ FILES "${PROJECT_SOURCE_DIR}/src/libczmq.pc"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
+ )
+
+ ########################################################################
+@@ -520,8 +515,7 @@ include(CMakePackageConfigHelpers)
+ if (WIN32)
+ set(CMAKECONFIG_INSTALL_DIR "CMake" CACHE STRING "install path for czmqConfig.cmake")
+ else()
+- # GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
+- set(CMAKECONFIG_INSTALL_DIR "share/cmake/czmq" CACHE STRING "install path for czmqConfig.cmake")
++ set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/czmq" CACHE STRING "install path for czmqConfig.cmake")
+ endif()
+
+ if (NOT CMAKE_VERSION VERSION_LESS 3.0)
+@@ -546,7 +540,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR
+ ########################################################################
+ add_executable(
+ zmakecert
+- "${SOURCE_DIR}/src/zmakecert.c"
++ "${PROJECT_SOURCE_DIR}/src/zmakecert.c"
+ )
+ if (TARGET czmq)
+ target_link_libraries(
+@@ -565,12 +559,10 @@ target_link_libraries(
+ ${OPTIONAL_LIBRARIES_STATIC}
+ )
+ endif()
+-install(TARGETS zmakecert
+- RUNTIME DESTINATION bin
+-)
++install(TARGETS zmakecert)
+ add_executable(
+ zsp
+- "${SOURCE_DIR}/src/zsp.c"
++ "${PROJECT_SOURCE_DIR}/src/zsp.c"
+ )
+ if (TARGET czmq)
+ target_link_libraries(
+@@ -591,7 +583,7 @@ target_link_libraries(
+ endif()
+ add_executable(
+ test_randof
+- "${SOURCE_DIR}/src/test_randof.c"
++ "${PROJECT_SOURCE_DIR}/src/test_randof.c"
+ )
+ if (TARGET czmq)
+ target_link_libraries(
+@@ -612,7 +604,7 @@ target_link_libraries(
+ endif()
+ add_executable(
+ czmq_selftest
+- "${SOURCE_DIR}/src/czmq_selftest.c"
++ "${PROJECT_SOURCE_DIR}/src/czmq_selftest.c"
+ )
+ if (TARGET czmq)
+ target_link_libraries(
+@@ -748,83 +740,21 @@ include(CTest)
+ # cleanup
+ ########################################################################
+ if (NOT TARGET distclean)
+- add_custom_target (distclean @echo Cleaning for source distribution)
+-endif()
+-
+-set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
+- ${PROJECT_BINARY_DIR}/cmake_install.cmake
+- ${PROJECT_BINARY_DIR}/Makefile
+- ${PROJECT_BINARY_DIR}/CMakeFiles
+- ${PROJECT_BINARY_DIR}/CTestTestfile.cmake
+- ${PROJECT_BINARY_DIR}/DartConfiguration.tcl
+- ${PROJECT_BINARY_DIR}/Testing
+- ${PROJECT_BINARY_DIR}/compile_commands.json
+- ${PROJECT_BINARY_DIR}/platform.h
+- ${PROJECT_BINARY_DIR}/src/libczmq.pc
+- ${PROJECT_BINARY_DIR}/src/libczmq.so
+- ${PROJECT_BINARY_DIR}/src/czmq_selftest
+- ${PROJECT_BINARY_DIR}/src/zmakecert
+- ${PROJECT_BINARY_DIR}/src/zsp
+- ${PROJECT_BINARY_DIR}/src/test_randof
+- ${PROJECT_BINARY_DIR}/src/czmq_selftest
+-)
+-
+-add_custom_command(
+- DEPENDS clean
+- COMMENT "distribution clean"
+- COMMAND rm
+- ARGS -rf CMakeTmp ${cmake_generated}
+- TARGET distclean
+-)
+-
+-include(ClangFormat OPTIONAL)
+-
+-########################################################################
+-# summary
+-########################################################################
+-message ("")
+-message (STATUS "******************* Configuration Summary *******************")
+-message (STATUS "General:")
+-message (STATUS " Version : ${VERSION}")
+-message (STATUS " System : ${CMAKE_SYSTEM_NAME}")
+-message (STATUS " C compiler : ${CMAKE_C_COMPILER}")
+-message (STATUS " Debug C flags : ${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS}")
+-message (STATUS " Release C flags : ${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS}")
+-message (STATUS " Build type : ${CMAKE_BUILD_TYPE}")
+-message (STATUS " Static build : ${CZMQ_BUILD_STATIC}")
+-message (STATUS " Shared build : ${CZMQ_BUILD_SHARED}")
+-IF (ENABLE_DRAFTS)
+-message (STATUS " Draft API : Yes")
+-ELSE (ENABLE_DRAFTS)
+-message (STATUS " Draft API : No")
+-ENDIF (ENABLE_DRAFTS)
+-message (STATUS "")
+-message (STATUS "Dependencies:")
+-include(FeatureSummary)
+-feature_summary (WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+-message (STATUS "")
+-message (STATUS "Install:")
+-message (STATUS " Install prefix :" "${CMAKE_INSTALL_PREFIX}")
+-message (STATUS "")
+-message (STATUS "************************* Options ***************************")
+-message (STATUS "Options:")
+-message (STATUS " Use the Draft API (default = yes):")
+-message (STATUS " -DENABLE-DRAFTS=[yes|no]")
+-message (STATUS "")
+-message (STATUS "*************************************************************")
+-message (STATUS "Configuration complete! Now procced with:")
+-message (STATUS " 'make' compile the project")
+-message (STATUS " 'make test' run the project's selftest")
+-message (STATUS " 'make install' install the project to ${CMAKE_INSTALL_PREFIX}")
+-message (STATUS "")
+-message (STATUS "Further options are:")
+-message (STATUS " 'ctest -V run test with verbose logging")
+-message (STATUS " 'ctest -R <test_name>' run a specific test")
+-message (STATUS " 'ctest -T memcheck' run the project's selftest with")
+-message (STATUS " valgrind to check for memory leaks")
+-message (STATUS "")
+-
+-################################################################################
+-# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
+-# Read the zproject/README.md for information about making permanent changes. #
+-################################################################################
++ if (CMAKE_VERSION VERSION_LESS 3.17)
++ set(rm_command rm -rf)
++ else()
++ set(rm_command ${CMAKE_COMMAND} -E rm -rf --)
++ endif()
++ set(cmake_generated ${PROJECT_BINARY_DIR}/CMakeCache.txt
++ ${PROJECT_BINARY_DIR}/cmake_install.cmake
++ ${PROJECT_BINARY_DIR}/Makefile
++ ${PROJECT_BINARY_DIR}/CMakeFiles
++ ${PROJECT_BINARY_DIR}/CTestTestfile.cmake
++ ${PROJECT_BINARY_DIR}/DartConfiguration.tcl
++ ${PROJECT_BINARY_DIR}/Testing
++ ${PROJECT_BINARY_DIR}/compile_commands.json
++ ${PROJECT_BINARY_DIR}/platform.h
++ ${PROJECT_BINARY_DIR}/src/libczmq.pc
++ ${PROJECT_BINARY_DIR}/src/libczmq.so
++ ${PROJECT_BINARY_DIR}/src/czmq_selftest
++ .for project.main
+--- a/bindings/jni/czmq-jni/CMakeLists.txt
++++ b/bindings/jni/czmq-jni/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
+ # Read the zproject/README.md for information about making permanent changes. #
+ ################################################################################
+-cmake_minimum_required (VERSION 2.8)
++cmake_minimum_required (VERSION 2.8...4.0)
+
+ project (czmqjni CXX)
+ enable_language (C)
+--- a/bindings/jni/czmq-jni/android/CMakeLists.txt
++++ b/bindings/jni/czmq-jni/android/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ # THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
+ # Read the zproject/README.md for information about making permanent changes. #
+ ################################################################################
+-cmake_minimum_required (VERSION 3.6)
++cmake_minimum_required (VERSION 3.6...4.0)
+
+ project (czmqjni CXX)
+ enable_language (C)
+--- a/configure.ac
++++ b/configure.ac
+@@ -947,6 +947,9 @@ AC_ARG_ENABLE([zmakecert],
+ AM_CONDITIONAL([ENABLE_ZMAKECERT], [test x$enable_zmakecert != xno])
+ AM_COND_IF([ENABLE_ZMAKECERT], [AC_MSG_NOTICE([ENABLE_ZMAKECERT defined])])
+
++AM_CONDITIONAL([ENABLE_CZMQ_SELFTEST], [test x$enable_czmq_selftest != xno])
++AM_COND_IF([ENABLE_CZMQ_SELFTEST], [AC_MSG_NOTICE([ENABLE_CZMQ_SELFTEST defined])])
++
+ # Check for zsp intent
+ AC_ARG_ENABLE([zsp],
+ AS_HELP_STRING([--enable-zsp],
+@@ -957,6 +960,9 @@ AC_ARG_ENABLE([zsp],
+ AM_CONDITIONAL([ENABLE_ZSP], [test x$enable_zsp != xno])
+ AM_COND_IF([ENABLE_ZSP], [AC_MSG_NOTICE([ENABLE_ZSP defined])])
+
++AM_CONDITIONAL([ENABLE_CZMQ_SELFTEST], [test x$enable_czmq_selftest != xno])
++AM_COND_IF([ENABLE_CZMQ_SELFTEST], [AC_MSG_NOTICE([ENABLE_CZMQ_SELFTEST defined])])
++
+ # Check for test_randof intent
+ AC_ARG_ENABLE([test_randof],
+ AS_HELP_STRING([--enable-test_randof],
+@@ -967,6 +973,9 @@ AC_ARG_ENABLE([test_randof],
+ AM_CONDITIONAL([ENABLE_TEST_RANDOF], [test x$enable_test_randof != xno])
+ AM_COND_IF([ENABLE_TEST_RANDOF], [AC_MSG_NOTICE([ENABLE_TEST_RANDOF defined])])
+
++AM_CONDITIONAL([ENABLE_CZMQ_SELFTEST], [test x$enable_czmq_selftest != xno])
++AM_COND_IF([ENABLE_CZMQ_SELFTEST], [AC_MSG_NOTICE([ENABLE_CZMQ_SELFTEST defined])])
++
+ # Check for czmq_selftest intent
+ AC_ARG_ENABLE([czmq_selftest],
+ AS_HELP_STRING([--enable-czmq_selftest],
+@@ -976,6 +985,9 @@ AC_ARG_ENABLE([czmq_selftest],
+
+ AM_CONDITIONAL([ENABLE_CZMQ_SELFTEST], [test x$enable_czmq_selftest != xno])
+ AM_COND_IF([ENABLE_CZMQ_SELFTEST], [AC_MSG_NOTICE([ENABLE_CZMQ_SELFTEST defined])])
++
++AM_CONDITIONAL([ENABLE_CZMQ_SELFTEST], [test x$enable_czmq_selftest != xno])
++AM_COND_IF([ENABLE_CZMQ_SELFTEST], [AC_MSG_NOTICE([ENABLE_CZMQ_SELFTEST defined])])
+
+ # Checks for library functions.
+ AC_TYPE_SIGNAL
--- /dev/null
+From 53b46d63b41c51e32b5d539aa78ca91846f6a2a1 Mon Sep 17 00:00:00 2001
+Date: Fri, 6 Jun 2025 16:55:13 +0200
+Subject: [PATCH] Problem: CMakeLists.txt broken since CMake 4 support.
+
+Solution: Regenerate from ZProject.
+---
+ CMakeLists.txt | 63 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 62 insertions(+), 1 deletion(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -757,4 +757,65 @@ if (NOT TARGET distclean)
+ ${PROJECT_BINARY_DIR}/src/libczmq.pc
+ ${PROJECT_BINARY_DIR}/src/libczmq.so
+ ${PROJECT_BINARY_DIR}/src/czmq_selftest
+- .for project.main
++ ${PROJECT_BINARY_DIR}/src/zmakecert
++ ${PROJECT_BINARY_DIR}/src/zsp
++ ${PROJECT_BINARY_DIR}/src/test_randof
++ ${PROJECT_BINARY_DIR}/src/czmq_selftest
++ )
++ add_custom_target(distclean
++ COMMAND ${rm_command} CMakeTmp ${cmake_generated}
++ COMMENT Cleaning for source distribution
++ )
++endif()
++
++include(ClangFormat OPTIONAL)
++
++########################################################################
++# summary
++########################################################################
++message ("")
++message (STATUS "******************* Configuration Summary *******************")
++message (STATUS "General:")
++message (STATUS " Version : ${VERSION}")
++message (STATUS " System : ${CMAKE_SYSTEM_NAME}")
++message (STATUS " C compiler : ${CMAKE_C_COMPILER}")
++message (STATUS " Debug C flags : ${CMAKE_C_FLAGS_DEBUG} ${CMAKE_C_FLAGS}")
++message (STATUS " Release C flags : ${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS}")
++message (STATUS " Build type : ${CMAKE_BUILD_TYPE}")
++message (STATUS " Static build : ${CZMQ_BUILD_STATIC}")
++message (STATUS " Shared build : ${CZMQ_BUILD_SHARED}")
++IF (ENABLE_DRAFTS)
++message (STATUS " Draft API : Yes")
++ELSE (ENABLE_DRAFTS)
++message (STATUS " Draft API : No")
++ENDIF (ENABLE_DRAFTS)
++message (STATUS "")
++message (STATUS "Dependencies:")
++include(FeatureSummary)
++feature_summary (WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
++message (STATUS "")
++message (STATUS "Install:")
++message (STATUS " Install prefix :" "${CMAKE_INSTALL_PREFIX}")
++message (STATUS "")
++message (STATUS "************************* Options ***************************")
++message (STATUS "Options:")
++message (STATUS " Use the Draft API (default = yes):")
++message (STATUS " -DENABLE-DRAFTS=[yes|no]")
++message (STATUS "")
++message (STATUS "*************************************************************")
++message (STATUS "Configuration complete! Now procced with:")
++message (STATUS " 'make' compile the project")
++message (STATUS " 'make test' run the project's selftest")
++message (STATUS " 'make install' install the project to ${CMAKE_INSTALL_PREFIX}")
++message (STATUS "")
++message (STATUS "Further options are:")
++message (STATUS " 'ctest -V run test with verbose logging")
++message (STATUS " 'ctest -R <test_name>' run a specific test")
++message (STATUS " 'ctest -T memcheck' run the project's selftest with")
++message (STATUS " valgrind to check for memory leaks")
++message (STATUS "")
++
++################################################################################
++# THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY #
++# Read the zproject/README.md for information about making permanent changes. #
++################################################################################