mirror of
https://github.com/pocoproject/poco.git
synced 2025-12-10 18:14:58 +01:00
New SQLite Only Unbundled Option (#4983)
* New SQLite Only Unbundled Option A new option to use an unbundled (external) SQLite but all other dependencies internal. * Match Other Option Styles Force the POCO_SQLITE_UNBUNDLED option to ON when POCO_UNBUNDLED is on. Switching to this style to match the rest of the Poco cmake options.
This commit is contained in:
@@ -237,6 +237,13 @@ option(ENABLE_FUZZING
|
||||
option(POCO_UNBUNDLED
|
||||
"Set to OFF|ON (default is OFF) to control linking dependencies as external" OFF)
|
||||
|
||||
option(POCO_SQLITE_UNBUNDLED
|
||||
"Set to OFF|ON (default is OFF) to control linking sqlite dependency as external" OFF)
|
||||
|
||||
if (POCO_UNBUNDLED)
|
||||
set(POCO_SQLITE_UNBUNDLED ON CACHE BOOL "Enable Unbundled SQLite" FORCE)
|
||||
endif()
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
@@ -267,6 +274,9 @@ endif()
|
||||
|
||||
if(POCO_UNBUNDLED)
|
||||
message(STATUS "Using external sqlite, zlib, pcre2, expat, libpng, ...")
|
||||
elseif (POCO_SQLITE_UNBUNDLED)
|
||||
message(STATUS "Using external sqlite")
|
||||
message(STATUS "Using internal zlib, pcre2, expat, libpng, ...")
|
||||
else()
|
||||
message(STATUS "Using internal sqlite, zlib, pcre2, expat, libpng, ...")
|
||||
endif()
|
||||
|
||||
@@ -6,7 +6,7 @@ POCO_SOURCES_AUTO(SQLITE_SRCS ${SRCS_G})
|
||||
file(GLOB_RECURSE HDRS_G "include/*.h")
|
||||
POCO_HEADERS_AUTO(SQLITE_SRCS ${HDRS_G})
|
||||
|
||||
if(POCO_UNBUNDLED)
|
||||
if(POCO_SQLITE_UNBUNDLED)
|
||||
find_package(SQLite3 REQUIRED)
|
||||
else()
|
||||
# sqlite3
|
||||
@@ -38,10 +38,10 @@ target_include_directories(DataSQLite
|
||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
)
|
||||
|
||||
if(POCO_UNBUNDLED)
|
||||
if(POCO_SQLITE_UNBUNDLED)
|
||||
target_link_libraries(DataSQLite PUBLIC SQLite::SQLite3)
|
||||
target_compile_definitions(DataSQLite PUBLIC
|
||||
POCO_UNBUNDLED
|
||||
target_compile_definitions(DataSQLite PUBLIC POCO_SQLITE_UNBUNDLED)
|
||||
target_compile_definitions(DataSQLite PRIVATE
|
||||
SQLITE_THREADSAFE=1
|
||||
)
|
||||
else()
|
||||
|
||||
@@ -19,7 +19,7 @@ ifdef POCO_ENABLE_SQLITE_FTS5
|
||||
SYSFLAGS += -DSQLITE_ENABLE_FTS5
|
||||
endif
|
||||
|
||||
ifdef POCO_UNBUNDLED
|
||||
ifdef POCO_SQLITE_UNBUNDLED
|
||||
SYSLIBS += -lsqlite3
|
||||
else
|
||||
objects += sqlite3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(PocoFoundation)
|
||||
find_dependency(PocoData)
|
||||
if(@POCO_UNBUNDLED@)
|
||||
if(@POCO_SQLITE_UNBUNDLED@)
|
||||
if(CMAKE_VERSION VERSION_LESS "3.14")
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/V313")
|
||||
endif()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "Poco/Data/SQLite/Connector.h"
|
||||
#include "Poco/Data/SQLite/SessionImpl.h"
|
||||
#include "Poco/Data/SessionFactory.h"
|
||||
#if defined(POCO_UNBUNDLED)
|
||||
#if defined(POCO_SQLITE_UNBUNDLED)
|
||||
#include <sqlite3.h>
|
||||
#else
|
||||
#include "sqlite3.h"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "Poco/DateTimeParser.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/Debugger.h"
|
||||
#if defined(POCO_UNBUNDLED)
|
||||
#if defined(POCO_SQLITE_UNBUNDLED)
|
||||
#include <sqlite3.h>
|
||||
#else
|
||||
#include "sqlite3.h"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "Poco/String.h"
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#if defined(POCO_UNBUNDLED)
|
||||
#if defined(POCO_SQLITE_UNBUNDLED)
|
||||
#include <sqlite3.h>
|
||||
#else
|
||||
#include "sqlite3.h"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/Mutex.h"
|
||||
#include "Poco/Data/DataException.h"
|
||||
#if defined(POCO_UNBUNDLED)
|
||||
#if defined(POCO_SQLITE_UNBUNDLED)
|
||||
#include <sqlite3.h>
|
||||
#else
|
||||
#include "sqlite3.h"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/Any.h"
|
||||
#include "Poco/Exception.h"
|
||||
#if defined(POCO_UNBUNDLED)
|
||||
#if defined(POCO_SQLITE_UNBUNDLED)
|
||||
#include <sqlite3.h>
|
||||
#else
|
||||
#include "sqlite3.h"
|
||||
|
||||
Reference in New Issue
Block a user