summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMladen Turk <mturk@apache.org>2021-12-03 04:25:22 +0000
committerMladen Turk <mturk@apache.org>2021-12-03 04:25:22 +0000
commit76de66fbcfbc3e70e034668526d6d6da5f5d757a (patch)
treee4160c34acd4f1c598f1f07f9aa678ccb91ee817 /CMakeLists.txt
parent88913b3b492085d42087b7ec142e7bf5160ac1d7 (diff)
downloadapr-76de66fbcfbc3e70e034668526d6d6da5f5d757a.tar.gz
Add support for building sqlite3 dbd module ... It compiles and pass tests
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1895526 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt27
1 files changed, 25 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e8b86fb80..17b2869b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,7 @@ IF(NOT APR_MINIMAL_BUILD)
FIND_PACKAGE(LibXml2)
FIND_PACKAGE(OpenSSL)
FIND_PACKAGE(Iconv)
+ FIND_PACKAGE(SQLite3)
OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON)
ELSE()
OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" OFF)
@@ -58,6 +59,7 @@ IF(APU_USE_LIBXML2 AND NOT LIBXML2_FOUND)
ENDIF()
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_CRYPTO "Crypto support" OFF)
OPTION(APU_HAVE_ICONV "Xlate support" OFF)
OPTION(APR_HAVE_IPV6 "IPv6 support" ON)
@@ -82,6 +84,11 @@ IF(NOT Iconv_FOUND)
MESSAGE(FATAL_ERROR "Libiconv wasn't found!")
ENDIF()
ENDIF()
+IF(APU_HAVE_SQLITE3)
+IF(NOT SQLite3_FOUND)
+ MESSAGE(FATAL_ERROR "SQLite3 wasn't found!")
+ENDIF()
+ENDIF()
# create 1-or-0 representation of feature tests for apr.h
@@ -92,6 +99,7 @@ SET(apu_use_expat_10 0)
SET(apu_use_xmllite_10 0)
SET(apu_have_iconv_10 0)
SET(apu_have_odbc_10 0)
+SET(apu_have_sqlite3_10 0)
IF(APR_HAVE_IPV6)
SET(apr_have_ipv6_10 1)
@@ -110,10 +118,13 @@ ELSE(APU_USE_XMLLITE)
ENDIF()
IF(APU_HAVE_ICONV)
-SET(apu_have_iconv_10 1)
+ SET(apu_have_iconv_10 1)
ENDIF()
IF(APU_HAVE_ODBC)
-SET(apu_have_odbc_10 1)
+ SET(apu_have_odbc_10 1)
+ENDIF()
+IF(APU_HAVE_SQLITE3)
+ SET(apu_have_sqlite3_10 1)
ENDIF()
CONFIGURE_FILE(include/apr.hwc
@@ -514,6 +525,17 @@ IF(APU_HAVE_ODBC)
SET_TARGET_PROPERTIES(apr_dbd_odbc-2 PROPERTIES COMPILE_FLAGS "-DDLL_NAME=apr_dbd_odbc-2")
ENDIF()
+IF(APU_HAVE_SQLITE3)
+ ADD_LIBRARY(apr_dbd_sqlite3-2 SHARED dbd/apr_dbd_sqlite3.c libapr.rc)
+ LIST(APPEND install_targets apr_dbd_sqlite3-2)
+ LIST(APPEND install_bin_pdb ${PROJECT_BINARY_DIR}/apr_dbd_sqlite3-2.pdb)
+ LIST(APPEND dbd_drivers sqlite3)
+ SET_TARGET_PROPERTIES(apr_dbd_sqlite3-2 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${SQLite3_INCLUDE_DIRS}")
+ TARGET_LINK_LIBRARIES(apr_dbd_sqlite3-2 ${apr_libname} ${APR_SYSTEM_LIBS} ${SQLite3_LIBRARIES})
+ SET_PROPERTY(TARGET apr_dbd_sqlite3-2 APPEND PROPERTY LINK_FLAGS /export:apr_dbd_sqlite3_driver)
+ SET_TARGET_PROPERTIES(apr_dbd_sqlite3-2 PROPERTIES COMPILE_FLAGS "-DDLL_NAME=apr_dbd_sqlite3-2")
+ENDIF()
+
IF(APR_BUILD_TESTAPR)
ENABLE_TESTING()
# Create a "check" target that displays test program output to the console.
@@ -666,6 +688,7 @@ MESSAGE(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}")
MESSAGE(STATUS " C compiler ...................... : ${CMAKE_C_COMPILER}")
MESSAGE(STATUS " IPv6 ............................ : ${APR_HAVE_IPV6}")
MESSAGE(STATUS " DBD ODBC driver ................. : ${APU_HAVE_ODBC}")
+MESSAGE(STATUS " DBD SQLite3 driver .............. : ${APU_HAVE_SQLITE3}")
MESSAGE(STATUS " Use Expat ....................... : ${APU_USE_EXPAT}")
MESSAGE(STATUS " Use LibXml2 ..................... : ${APU_USE_LIBXML2}")
MESSAGE(STATUS " Use XmlLite ..................... : ${APU_USE_XMLLITE}")