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