From e735a5fa80194b83feffb6333ade19f58ce4065c Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Wed, 26 Aug 2026 14:31:31 -0600 Subject: [PATCH 1/5] cmake: use libiconv package instead of system Iconv find_package - Replace USE_CMAKE_ICONV with USE_LIBICONV in presets - Use find_package(libiconv) instead of find_package(Iconv) to avoid hard-coded build system paths in targetsFile - Map libiconv_FOUND/LIBICONV_LIBRARIES to ICONV_FOUND/ICONV_LIBRARIES - Remove Iconv find_package from xpExternPackage use script --- CMakeLists.txt | 8 -------- CMakePresetsBase.json | 1 + src/CMakeLists.txt | 17 +++++++---------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1969a2fbaaa..10715007b39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,13 +36,11 @@ INCLUDE(EnableWarnings) set(targetsFile ${PROJECT_NAME}-targets) if(COMMAND xpExternPackage) set(CMAKE_OPT_INSTALL FALSE) - set(USE_CMAKE_ICONV ON) if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake) endif() else() set(CMAKE_OPT_INSTALL TRUE) - set(USE_CMAKE_ICONV OFF) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) endif() @@ -324,12 +322,6 @@ IF(BUILD_FUZZERS) ENDIF() if(COMMAND xpExternPackage) - string(JOIN "\n" EXT1 - "if(APPLE)" - " find_package(Iconv REQUIRED)" - "endif()" - "" - ) xpExternPackage(TARGETS_FILE ${targetsFile} LIBRARIES git2 DEFAULT_TARGETS git2 BASE v${CMAKE_PROJECT_VERSION} XPDIFF "patch" diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json index 654740879fc..b626460488a 100644 --- a/CMakePresetsBase.json +++ b/CMakePresetsBase.json @@ -10,6 +10,7 @@ "BUILD_SHARED_LIBS": "OFF", "REGEX_BACKEND": "builtin", "THREADSAFE": "ON", + "USE_LIBICONV": "ON", "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0" } } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d9312b007d5..86ab2f85735 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -282,13 +282,15 @@ INCLUDE(SelectGSSAPI) # Optional external dependency: iconv IF (USE_ICONV) - if(USE_CMAKE_ICONV) + if(USE_LIBICONV) list(REMOVE_ITEM CMAKE_MODULE_PATH "${libgit2_SOURCE_DIR}/cmake/") - find_package(Iconv) + # libiconv::libiconv avoids hard-coded build system paths in targetsFile + find_package(libiconv) list(APPEND CMAKE_MODULE_PATH "${libgit2_SOURCE_DIR}/cmake/") - include(FindIconv) # populate the ICONV_* variables - # Iconv_INCLUDE_DIR (cmake) and ICONV_INCLUDE_DIR (libgit2) - # are assumed to be the same below... it was true on my system + if(libiconv_FOUND) + set(ICONV_FOUND ${libiconv_FOUND}) + set(ICONV_LIBRARIES ${LIBICONV_LIBRARIES}) + endif() else() FIND_PACKAGE(Iconv) endif() @@ -296,12 +298,7 @@ ENDIF() IF (ICONV_FOUND) SET(GIT_USE_ICONV 1) LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ICONV_INCLUDE_DIR}) - if(USE_CMAKE_ICONV AND TARGET Iconv::Iconv) - # Iconv::Iconv avoids hard-coded build system paths in targetsFile - list(APPEND LIBGIT2_LIBS Iconv::Iconv) - else() LIST(APPEND LIBGIT2_LIBS ${ICONV_LIBRARIES}) - endif() LIST(APPEND LIBGIT2_PC_LIBS ${ICONV_LIBRARIES}) ENDIF() ADD_FEATURE_INFO(iconv GIT_USE_ICONV "iconv encoding conversion support") From 40ec47b72017ef643742a3bcfd8fd7b24b85e959 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Wed, 26 Aug 2026 14:39:34 -0600 Subject: [PATCH 2/5] cmake: set USE_LIBICONV in CMakeLists.txt instead of presets - Move USE_LIBICONV from CMakePresetsBase.json to CMakeLists.txt - Set USE_LIBICONV ON when xpExternPackage is available, OFF otherwise - Avoids cmake warning about unused manual cmake variable USE_LIBICONV on non-Apple platforms that don't set USE_ICONV --- CMakeLists.txt | 2 ++ CMakePresetsBase.json | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 10715007b39..4c6f0d4f7ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,11 +36,13 @@ INCLUDE(EnableWarnings) set(targetsFile ${PROJECT_NAME}-targets) if(COMMAND xpExternPackage) set(CMAKE_OPT_INSTALL FALSE) + set(USE_LIBICONV ON) if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake) endif() else() set(CMAKE_OPT_INSTALL TRUE) + set(USE_LIBICONV OFF) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) endif() diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json index b626460488a..654740879fc 100644 --- a/CMakePresetsBase.json +++ b/CMakePresetsBase.json @@ -10,7 +10,6 @@ "BUILD_SHARED_LIBS": "OFF", "REGEX_BACKEND": "builtin", "THREADSAFE": "ON", - "USE_LIBICONV": "ON", "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0" } } From 7558d4d479620dbc46309692df1fec6f5e3b45a0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 26 Aug 2026 20:43:56 +0000 Subject: [PATCH 3/5] externpro 26.01.5-26-g734f91b --- .devcontainer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer b/.devcontainer index 67ba29e63e0..734f91b27d5 160000 --- a/.devcontainer +++ b/.devcontainer @@ -1 +1 @@ -Subproject commit 67ba29e63e008035d449ef51eeb0e953dacddf54 +Subproject commit 734f91b27d5024e19f7945efc565929fc5c788ee From e16151e8246e0e489e0fba126db41ab21c2e82da Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 26 Aug 2026 20:43:56 +0000 Subject: [PATCH 4/5] update .github/release-tag.json --- .github/release-tag.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/release-tag.json b/.github/release-tag.json index 911b419cb4e..2fe911cce9f 100644 --- a/.github/release-tag.json +++ b/.github/release-tag.json @@ -1,4 +1,4 @@ { - "message": "xpro version 1.3.0.4 tag", - "tag": "xpv1.3.0.4" + "message": "xpro version 1.3.0.5 tag", + "tag": "xpv1.3.0.5" } From 721b0cea1ac2ac576759a2ae103df842070899a6 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Wed, 26 Aug 2026 14:47:04 -0600 Subject: [PATCH 5/5] cmake: fix whitespace (tabs to spaces) to match surrounding lines --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c6f0d4f7ac..f478069f2c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,13 +36,13 @@ INCLUDE(EnableWarnings) set(targetsFile ${PROJECT_NAME}-targets) if(COMMAND xpExternPackage) set(CMAKE_OPT_INSTALL FALSE) - set(USE_LIBICONV ON) + set(USE_LIBICONV ON) if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake) endif() else() set(CMAKE_OPT_INSTALL TRUE) - set(USE_LIBICONV OFF) + set(USE_LIBICONV OFF) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) endif()