CMake: Add support for APR_HAVE_ICONV.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr-util/branches/1.7.x@1921036 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b68ad6..e2ace4d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,6 +37,7 @@
OPTION(BUILD_SHARED_LIBS "Build using shared libraries" ON)
CMAKE_DEPENDENT_OPTION(APU_DSO_BUILD "Use DSO build of modular components" ON "BUILD_SHARED_LIBS" OFF)
OPTION(APU_HAVE_CRYPTO "Crypto support" OFF)
+option(APU_HAVE_ICONV "Xlate support" OFF)
OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON)
OPTION(APU_HAVE_SQLITE3 "Build SQLite3 DBD driver" OFF)
OPTION(APU_HAVE_PGSQL "Build PostgreSQL DBD driver" OFF)
@@ -71,6 +72,10 @@
FIND_PACKAGE(OpenSSL REQUIRED)
ENDIF()
+IF(APU_HAVE_ICONV)
+ FIND_PACKAGE(Iconv REQUIRED)
+ENDIF()
+
IF(APU_HAVE_SQLITE3)
FIND_PACKAGE(SQLite3 REQUIRED)
ENDIF()
@@ -107,6 +112,12 @@
SET(XMLLIB_LIBRARIES LibXml2::LibXml2)
ENDIF()
+IF(APU_HAVE_ICONV)
+ SET(XLATE_LIBRARIES Iconv::Iconv)
+ ADD_COMPILE_DEFINITIONS(HAVE_ICONV_H)
+ELSE()
+ SET(XLATE_LIBRARIES "")
+ENDIF()
# Generated .h files are stored in PROJECT_BINARY_DIR, not the
# source tree.
@@ -339,7 +350,7 @@
ADD_LIBRARY(libaprutil-1 ${APR_SOURCES} ${APU_EXTRA_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED})
LIST(APPEND install_targets libaprutil-1)
TARGET_LINK_LIBRARIES(libaprutil-1
- PRIVATE ${XMLLIB_LIBRARIES} ${APU_EXTRA_LIBRARIES})
+ PRIVATE ${XMLLIB_LIBRARIES} ${XLATE_LIBRARIES} ${APU_EXTRA_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(libaprutil-1
PRIVATE ${APU_EXTRA_INCLUDE_DIRECTORIES})
@@ -454,6 +465,7 @@
MESSAGE(STATUS " DBD SQLite3 driver .............. : ${APU_HAVE_SQLITE3}")
MESSAGE(STATUS " DBD PostgreSQL .................. : ${APU_HAVE_PGSQL}")
MESSAGE(STATUS " APU_HAVE_CRYPTO ................. : ${APU_HAVE_CRYPTO}")
+MESSAGE(STATUS " APU_HAVE_ICONV .................. : ${APU_HAVE_ICONV}")
MESSAGE(STATUS " APR_HAS_LDAP .................... : ${APR_HAS_LDAP}")
MESSAGE(STATUS " Use Expat ....................... : ${APU_USE_EXPAT}")
MESSAGE(STATUS " Use LibXml2 ..................... : ${APU_USE_LIBXML2}")
diff --git a/include/apu.hwc b/include/apu.hwc
index 9ab97f1..7703ff6 100644
--- a/include/apu.hwc
+++ b/include/apu.hwc
@@ -140,7 +140,7 @@
#endif
#define APU_HAVE_APR_ICONV @apu_have_apr_iconv_10@
-#define APU_HAVE_ICONV 0
+#cmakedefine01 APU_HAVE_ICONV
#define APR_HAS_XLATE (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)
#cmakedefine01 APU_USE_EXPAT