include/libxml2/libxml/encoding.h wants iconv.h, so teach

FindLibXml2.cmake how to find the libiconv include directory.

Problem spotted by landry@ while porting geo/pgpointcloud
This commit is contained in:
dcoppa 2017-07-04 16:38:53 +00:00
parent c098145705
commit 1d66a1f07e
2 changed files with 29 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.156 2017/04/21 18:37:43 kurt Exp $
# $OpenBSD: Makefile,v 1.157 2017/07/04 16:38:53 dcoppa Exp $
DPB_PROPERTIES =parallel
@ -7,7 +7,7 @@ COMMENT = portable build system
VER = 3.7.2
DISTNAME = cmake-${VER}
CATEGORIES = devel
REVISION = 0
REVISION = 1
HOMEPAGE = https://www.cmake.org/

View File

@ -0,0 +1,27 @@
$OpenBSD: patch-Modules_FindLibXml2_cmake,v 1.1 2017/07/04 16:38:53 dcoppa Exp $
include/libxml2/libxml/encoding.h wants iconv.h
Index: Modules/FindLibXml2.cmake
--- Modules/FindLibXml2.cmake.orig
+++ Modules/FindLibXml2.cmake
@@ -18,6 +18,8 @@
# LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2
# LIBXML2_VERSION_STRING - the version of LibXml2 found (since CMake 2.8.8)
+include(FindIconv)
+
# use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig QUIET)
@@ -50,6 +52,10 @@ elseif(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLU
string(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
LIBXML2_VERSION_STRING "${libxml2_version_str}")
unset(libxml2_version_str)
+endif()
+
+if(ICONV_FOUND)
+ list(INSERT LIBXML2_INCLUDE_DIR 0 ${ICONV_INCLUDE_DIR})
endif()
# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if