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 ()