Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer
4 changes: 2 additions & 2 deletions .github/release-tag.json
Original file line number Diff line number Diff line change
@@ -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"
}
10 changes: 2 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ INCLUDE(EnableWarnings)
set(targetsFile ${PROJECT_NAME}-targets)
if(COMMAND xpExternPackage)
set(CMAKE_OPT_INSTALL FALSE)
set(USE_CMAKE_ICONV 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_CMAKE_ICONV OFF)
set(USE_LIBICONV OFF)
set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endif()

Expand Down Expand Up @@ -324,12 +324,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"
Expand Down
17 changes: 7 additions & 10 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -282,26 +282,23 @@ 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()
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")
Expand Down