diff options
author | Ivan Zhakov <ivan@apache.org> | 2024-09-30 07:58:44 +0000 |
---|---|---|
committer | Ivan Zhakov <ivan@apache.org> | 2024-09-30 07:58:44 +0000 |
commit | 691f4c1b903a101b366ed98c977f5dd176a3d4bb (patch) | |
tree | 1f9a0ff6b31b4e4df3f75b0416a6471d124e080f | |
parent | eccf65f1d280123d32543f7fd54b2d6ef7c1e692 (diff) | |
download | apr-691f4c1b903a101b366ed98c977f5dd176a3d4bb.tar.gz apr-691f4c1b903a101b366ed98c977f5dd176a3d4bb.zip |
CMake: Replace APU_USE_EXPAT, APU_USE_LIBXML2, APU_USE_XMLLITE configuration
options with APR_XML_BACKEND=(expat|libxml2|xmllite).
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1921029 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | CMakeLists.txt | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 57109a0da..625efcf2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,9 +46,9 @@ ENDIF() SET(apr_libname libapr-2) -OPTION(APU_USE_EXPAT "Use Expat" OFF) -OPTION(APU_USE_LIBXML2 "Use LibXml2" OFF) -OPTION(APU_USE_XMLLITE "Use XmlLite" ON) +SET(APR_XML_BACKEND "xmllite" CACHE STRING "XML library to use (expat|libxml|xmllite)") +SET_PROPERTY(CACHE APR_XML_BACKEND PROPERTY STRINGS expat libxml2 xmllite) + OPTION(APR_INSTALL_PRIVATE_H "Install selected private .h files (for httpd)" OFF) OPTION(APU_HAVE_SQLITE3 "Build SQLite3 DBD driver" OFF) OPTION(APU_HAVE_PGSQL "Build PostgreSQL DBD driver" OFF) @@ -65,11 +65,16 @@ SET(APR_INSTALL_BIN_DIR "bin" CACHE STRING "Install s SET(APR_INSTALL_LIB_DIR "lib" CACHE STRING "Install subdirectory for library files") SET(APR_INSTALL_INCLUDE_DIR "include/apr-2" CACHE STRING "Install subdirectory for include files") -IF(NOT APU_USE_EXPAT AND NOT APU_USE_LIBXML2 AND NOT APU_USE_XMLLITE) - MESSAGE(FATAL_ERROR "Either Expat or LibXml2 or XmlLite must be selected") +IF(APU_USE_EXPAT) + MESSAGE(FATAL_ERROR "APU_USE_EXPAT option is not supported. Use APR_XML_BACKEND.") +ENDIF() + +IF(APU_USE_LIBXML2) + MESSAGE(FATAL_ERROR "APU_USE_LIBXML2 option is not supported. Use APR_XML_BACKEND.") ENDIF() -IF(APU_USE_EXPAT AND APU_USE_LIBXML2) - MESSAGE(FATAL_ERROR "Only one of Expat and LibXml2 can be selected") + +IF(APU_USE_XMLLITE) + MESSAGE(FATAL_ERROR "APU_USE_XMLLITE option is not supported. Use APR_XML_BACKEND.") ENDIF() IF(APR_MODULAR_DSO AND NOT BUILD_SHARED_LIBS) @@ -80,12 +85,19 @@ IF(APU_HAVE_CRYPTO) FIND_PACKAGE(OpenSSL REQUIRED) ENDIF() -IF(APU_USE_EXPAT) +IF (APR_XML_BACKEND STREQUAL "expat") FIND_PACKAGE(expat CONFIG REQUIRED) -ENDIF() - -IF(APU_USE_LIBXML2) + SET(XMLLIB_LIBRARIES expat::expat) + SET(APU_USE_EXPAT ON) +ELSEIF (APR_XML_BACKEND STREQUAL "libxml2") FIND_PACKAGE(LibXml2 REQUIRED) + SET(XMLLIB_LIBRARIES LibXml2::LibXml2) + SET(APU_USE_LIBXML2 ON) +ELSEIF (APR_XML_BACKEND STREQUAL "xmllite") + SET(XMLLIB_LIBRARIES "xmllite.lib") + SET(APU_USE_XMLLITE ON) +ELSE() + MESSAGE(FATAL_ERROR "Unsupported APR_XML_BACKEND value (${APR_XML_BACKEND}).") ENDIF() IF(APU_HAVE_ICONV) @@ -140,14 +152,6 @@ ADD_CUSTOM_TARGET( DEPENDS ${PROJECT_BINARY_DIR}/apr_escape_test_char.h ) -IF(APU_USE_EXPAT) - SET(XMLLIB_LIBRARIES expat::expat) -ELSEIF(APU_USE_LIBXML2) - SET(XMLLIB_LIBRARIES LibXml2::LibXml2) -ELSEIF(APU_USE_XMLLITE) - SET(XMLLIB_LIBRARIES "xmllite.lib") -ENDIF() - IF(APU_HAVE_ICONV) SET(XLATE_LIBRARIES Iconv::Iconv) ELSE() @@ -766,9 +770,7 @@ MESSAGE(STATUS " IPv6 ............................ : ${APR_HAVE_IPV6}") MESSAGE(STATUS " DBD ODBC driver ................. : ${APU_HAVE_ODBC}") MESSAGE(STATUS " DBD SQLite3 driver .............. : ${APU_HAVE_SQLITE3}") MESSAGE(STATUS " DBD PostgreSQL .................. : ${APU_HAVE_PGSQL}") -MESSAGE(STATUS " Use Expat ....................... : ${APU_USE_EXPAT}") -MESSAGE(STATUS " Use LibXml2 ..................... : ${APU_USE_LIBXML2}") -MESSAGE(STATUS " Use XmlLite ..................... : ${APU_USE_XMLLITE}") +MESSAGE(STATUS " XML backend ..................... : ${APR_XML_BACKEND}") MESSAGE(STATUS " Have Crypto ..................... : ${APU_HAVE_CRYPTO}") MESSAGE(STATUS " Have Iconv ...................... : ${APU_HAVE_ICONV}") MESSAGE(STATUS " Library files for XML ........... : ${XMLLIB_LIBRARIES}") |