1 set(Sqlite_SOURCES
   2     sqlite3.c
   3 )
   4 
   5 set(Sqlite_DEFINES
   6     "SQLITE_THREADSAFE=1"
   7 
   8     # The flags below are recommended in the SQLite documentation, and disable
   9     # features we don't use.
  10     "SQLITE_LIKE_DOESNT_MATCH_BLOBS"
  11     "SQLITE_OMIT_DEPRECATED"
  12     "SQLITE_OMIT_PROGRESS_CALLBACK"
  13     "SQLITE_OMIT_SHARED_CACHE"
  14     "SQLITE_USE_ALLOCA"
  15 
  16     # We don't use sqlite3_{enable_}load_extension().
  17     "SQLITE_OMIT_LOAD_EXTENSION"
  18     # We don't use TCL variables.
  19     "SQLITE_OMIT_TCL_VARIABLE"
  20 
  21     # We don't use sqlite3_{profile,trace}().
  22     "SQLITE_OMIT_TRACE"
  23 )
  24 
  25 if (WIN32)
  26     set(Sqlite_COMPILE_FLAGS
  27         # 'zTrace' unreferenced variable in src/vdbe.c
  28         "/wd4101"
  29     )
  30 elseif (APPLE)
  31     set(Sqlite_COMPILE_FLAGS
  32         "-Wno-incompatible-pointer-types-discards-qualifiers"
  33 
  34         # lots of u8* to structure casts
  35         "-Wno-cast-align"
  36     )
  37 else ()
  38     set(Sqlite_COMPILE_FLAGS
  39         "-Wno-implicit-fallthrough"
  40         "-Wno-discarded-qualifiers"
  41 
  42         # some if cases has empty body
  43         "-Wno-empty-body"
  44     )
  45     list(APPEND Sqlite_DEFINES
  46       # Linux provides fdatasync(), a faster equivalent of fsync().
  47       "fdatasync=fdatasync"
  48     )
  49 endif ()
  50 
  51 if (UNIX)
  52     list(APPEND Sqlite_DEFINES
  53         "HAVE_USLEEP=1"
  54         "USE_PREAD=1"
  55     )
  56 
  57     list(APPEND Sqlite_COMPILE_FLAGS
  58         # some defs are used directly without checking whether it is defined
  59         # or not.
  60         "-Wno-undef"
  61 
  62         # some parameter variables are unused
  63         "-Wno-unused-parameter"
  64     )
  65 endif ()
  66 
  67 add_library(SqliteJava STATIC ${Sqlite_SOURCES})
  68 target_compile_definitions(SqliteJava PRIVATE ${Sqlite_DEFINES})
  69 target_compile_options(SqliteJava PRIVATE ${Sqlite_COMPILE_FLAGS})
  70