Add CMake option SQLITE_ENABLE_DBSTAT_VTAB to enable DBSTAT read-only eponymous virtual table extension when building internal sqlite3 library.

See more here: https://www.sqlite.org/dbstat.html

Fix #426 Support building SQLite with with SQLITE_ENABLE_DBSTAT_VTAB compile option

Disabled by default
This commit is contained in:
Sébastien Rombauts 2023-05-31 13:49:09 +02:00
parent 4a85c81833
commit 8a3df039e5
2 changed files with 8 additions and 0 deletions

View File

@ -253,6 +253,7 @@ option(SQLITECPP_INTERNAL_SQLITE "Add the internal SQLite3 source to the project
if (SQLITECPP_INTERNAL_SQLITE)
message(STATUS "Compile sqlite3 from source in subdirectory")
option(SQLITE_ENABLE_RTREE "Enable RTree extension when building internal sqlite3 library." OFF)
option(SQLITE_ENABLE_DBSTAT_VTAB "Enable DBSTAT read-only eponymous virtual table extension when building internal sqlite3 library." OFF)
# build the SQLite3 C library (for ease of use/compatibility) versus Linux sqlite3-dev package
add_subdirectory(sqlite3)
target_link_libraries(SQLiteCpp PUBLIC SQLite::SQLite3)

View File

@ -37,6 +37,13 @@ if (SQLITE_ENABLE_RTREE)
message(STATUS "Compile sqlite3 with SQLITE_ENABLE_RTREE")
endif (SQLITE_ENABLE_RTREE)
if (SQLITE_ENABLE_DBSTAT_VTAB)
# Enable DBSTAT extension when building sqlite3
# See more here: https://www.sqlite.org/dbstat.html
target_compile_definitions(sqlite3 PUBLIC SQLITE_ENABLE_DBSTAT_VTAB)
message(STATUS "Compile sqlite3 with SQLITE_ENABLE_DBSTAT_VTAB")
endif (SQLITE_ENABLE_DBSTAT_VTAB)
if (UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang"))
set_target_properties(sqlite3 PROPERTIES COMPILE_FLAGS "-fPIC")