Warning, /libraries/kdb/src/drivers/sqlite/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_feature_info(BUILD_SQLITE_DB_DRIVER TRUE ${BUILD_SQLITE_DB_DRIVER_DESC})
0002
0003 # Generate SqliteGlobal.h
0004 configure_file(SqliteGlobal.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/SqliteGlobal.h)
0005
0006 simple_option(KDB_SQLITE_VACUUM "Support for SQLite VACUUM (compacting)" ON)
0007
0008 if (KDB_SQLITE_VACUUM)
0009 set(KDB_SQLITE_DUMP_TOOL ${KDB_BASE_NAME_LOWER}_sqlite3_dump)
0010 add_definitions(-DKDB_SQLITE_DUMP_TOOL=\"${KDB_SQLITE_DUMP_TOOL}\")
0011 endif ()
0012
0013 # Definitions used for the sqlite driver and the shell
0014 add_definitions(
0015 # sqlite compile-time options, https://sqlite.org/compile.html
0016 -DSQLITE_SECURE_DELETE
0017 -DSQLITE_ENABLE_COLUMN_METADATA # Some additional APIs that provide convenient access to meta-data
0018 # about tables and queries
0019 -DSQLITE_ENABLE_FTS3 # Version 3 of the full-text search engine
0020 -DSQLITE_ENABLE_FTS3_PARENTHESIS # Modifies the query pattern parser in FTS3 such that it supports
0021 # operators AND and NOT (in addition to the usual OR and NEAR)
0022 # and also allows query expressions to contain nested parenthesesis.
0023 -DSQLITE_ENABLE_MEMORY_MANAGEMENT # Extra logic to SQLite that allows it to release unused memory upon request
0024 -DSQLITE_ENABLE_RTREE # Support for the R*Tree index extension
0025 -DSQLITE_ENABLE_STAT2 # Additional logic to the ANALYZE command and to the query planner that can help SQLite
0026 # to chose a better query plan under certain situations
0027 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT # Optional ORDER BY and LIMIT clause on UPDATE and DELETE statements
0028 -DSQLITE_ENABLE_UNLOCK_NOTIFY # Enables the sqlite3_unlock_notify() interface and its associated functionality
0029 # (https://sqlite.org/unlock_notify.html)
0030 -DSQLITE_SOUNDEX # Enables the soundex() SQL function (https://sqlite.org/lang_corefunc.html#soundex)
0031
0032 # todo -DSQLITE_OMIT_DEPRECATED
0033 )
0034
0035 include_directories(
0036 ${SQLITE_INCLUDE_DIR}
0037 )
0038
0039 if(MSVC)
0040 # avoid deprecated warnings
0041 add_definitions(
0042 -D_CRT_SECURE_NO_DEPRECATE
0043 -D_CRT_NONSTDC_NO_DEPRECATE
0044 )
0045 endif()
0046
0047 set(kdb_sqlite_SRCS
0048 sqlite_debug.cpp
0049 SqliteConnection.cpp
0050 SqliteConnection_p.cpp
0051 SqliteDriver.cpp
0052 SqliteCursor.cpp
0053 SqliteKeywords.cpp
0054 SqlitePreparedStatement.cpp
0055 SqliteAdmin.cpp
0056 SqliteAlter.cpp
0057 SqliteFunctions.cpp
0058 kdb_sqlitedriver.json
0059 )
0060
0061 if (KDB_SQLITE_VACUUM)
0062 list(APPEND kdb_sqlite_SRCS SqliteVacuum.cpp)
0063 list(APPEND kdb_sqlite_MOC_SRCS SqliteVacuum.h)
0064 endif ()
0065
0066 build_and_install_kdb_driver(sqlite "${kdb_sqlite_SRCS}" "${SQLITE_LIBRARIES}")
0067
0068 add_subdirectory(icu)
0069
0070 if (KDB_SQLITE_VACUUM)
0071 add_subdirectory(dump)
0072 endif ()