add swiftUI code
This commit is contained in:
@@ -0,0 +1 @@
|
||||
// Not empty in order to avoid a build warning
|
||||
@@ -0,0 +1,10 @@
|
||||
@import Foundation;
|
||||
|
||||
//! Project version number for GRDB.
|
||||
FOUNDATION_EXPORT double GRDB_VersionNumber;
|
||||
|
||||
//! Project version string for GRDB.
|
||||
FOUNDATION_EXPORT const unsigned char GRDB_VersionString[];
|
||||
|
||||
#import <GRDB/GRDB-Bridging.h>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#include "GRDBDeploymentTarget.xcconfig"
|
||||
INFOPLIST_FILE = Support/Info.plist
|
||||
PRODUCT_NAME = GRDB
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.github.groue.$(PRODUCT_NAME:rfc1034identifier)
|
||||
MODULEMAP_FILE = $(SRCROOT)/Support/module.modulemap
|
||||
|
||||
// Slow compilation hunt:
|
||||
// OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=100 -Xfrontend -warn-long-function-bodies=100
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13
|
||||
TVOS_DEPLOYMENT_TARGET = 11.0
|
||||
WATCHOS_DEPLOYMENT_TARGET = 4.0
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D SQLITE_ENABLE_FTS5
|
||||
|
||||
//// Compile with all opt-in APIs
|
||||
//GCC_PREPROCESSOR_DEFINITIONS = $(inherited) GRDB_SQLITE_ENABLE_PREUPDATE_HOOK=1
|
||||
//OTHER_SWIFT_FLAGS = $(inherited) -D SQLITE_ENABLE_PREUPDATE_HOOK
|
||||
|
||||
// Enable concurrency warning in Swift 5.5
|
||||
// https://twitter.com/olebegemann/status/1421144304127463427?lang=en
|
||||
// Those as commented out by default, until minimum support Xcode version can handle them.
|
||||
// OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-concurrency -Xfrontend -enable-actor-data-race-checks
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>6.29.3</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2015-2020 Gwendal Roué.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,32 @@
|
||||
#ifndef grdb_config_h
|
||||
#define grdb_config_h
|
||||
|
||||
#include <SQLCipher/sqlite3.h>
|
||||
|
||||
typedef void(*_errorLogCallback)(void *pArg, int iErrCode, const char *zMsg);
|
||||
|
||||
/// Wrapper around sqlite3_config(SQLITE_CONFIG_LOG, ...) which is a variadic
|
||||
/// function that can't be used from Swift.
|
||||
static inline void _registerErrorLogCallback(_errorLogCallback callback) {
|
||||
sqlite3_config(SQLITE_CONFIG_LOG, callback, 0);
|
||||
}
|
||||
|
||||
#if SQLITE_VERSION_NUMBER >= 3029000
|
||||
/// Wrapper around sqlite3_db_config() which is a variadic function that can't
|
||||
/// be used from Swift.
|
||||
static inline void _disableDoubleQuotedStringLiterals(sqlite3 *db) {
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DDL, 0, (void *)0);
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DML, 0, (void *)0);
|
||||
}
|
||||
|
||||
/// Wrapper around sqlite3_db_config() which is a variadic function that can't
|
||||
/// be used from Swift.
|
||||
static inline void _enableDoubleQuotedStringLiterals(sqlite3 *db) {
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DDL, 1, (void *)0);
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DML, 1, (void *)0);
|
||||
}
|
||||
#else
|
||||
static inline void _disableDoubleQuotedStringLiterals(sqlite3 *db) { }
|
||||
static inline void _enableDoubleQuotedStringLiterals(sqlite3 *db) { }
|
||||
#endif
|
||||
#endif /* grdb_config_h */
|
||||
@@ -0,0 +1,53 @@
|
||||
#ifndef grdb_config_h
|
||||
#define grdb_config_h
|
||||
|
||||
#include <sqlite3.h>
|
||||
|
||||
typedef void(*_errorLogCallback)(void *pArg, int iErrCode, const char *zMsg);
|
||||
|
||||
/// Wrapper around sqlite3_config(SQLITE_CONFIG_LOG, ...) which is a variadic
|
||||
/// function that can't be used from Swift.
|
||||
static inline void _registerErrorLogCallback(_errorLogCallback callback) {
|
||||
sqlite3_config(SQLITE_CONFIG_LOG, callback, 0);
|
||||
}
|
||||
|
||||
#if SQLITE_VERSION_NUMBER >= 3029000
|
||||
/// Wrapper around sqlite3_db_config() which is a variadic function that can't
|
||||
/// be used from Swift.
|
||||
static inline void _disableDoubleQuotedStringLiterals(sqlite3 *db) {
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DDL, 0, (void *)0);
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DML, 0, (void *)0);
|
||||
}
|
||||
|
||||
/// Wrapper around sqlite3_db_config() which is a variadic function that can't
|
||||
/// be used from Swift.
|
||||
static inline void _enableDoubleQuotedStringLiterals(sqlite3 *db) {
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DDL, 1, (void *)0);
|
||||
sqlite3_db_config(db, SQLITE_DBCONFIG_DQS_DML, 1, (void *)0);
|
||||
}
|
||||
#else
|
||||
static inline void _disableDoubleQuotedStringLiterals(sqlite3 *db) { }
|
||||
static inline void _enableDoubleQuotedStringLiterals(sqlite3 *db) { }
|
||||
#endif
|
||||
|
||||
// Expose APIs that are missing from system <sqlite3.h>
|
||||
#ifdef GRDB_SQLITE_ENABLE_PREUPDATE_HOOK
|
||||
SQLITE_API void *sqlite3_preupdate_hook(
|
||||
sqlite3 *db,
|
||||
void(*xPreUpdate)(
|
||||
void *pCtx, /* Copy of third arg to preupdate_hook() */
|
||||
sqlite3 *db, /* Database handle */
|
||||
int op, /* SQLITE_UPDATE, DELETE or INSERT */
|
||||
char const *zDb, /* Database name */
|
||||
char const *zName, /* Table name */
|
||||
sqlite3_int64 iKey1, /* Rowid of row about to be deleted/updated */
|
||||
sqlite3_int64 iKey2 /* New rowid value (for a rowid UPDATE) */
|
||||
),
|
||||
void*
|
||||
);
|
||||
SQLITE_API int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **);
|
||||
SQLITE_API int sqlite3_preupdate_count(sqlite3 *);
|
||||
SQLITE_API int sqlite3_preupdate_depth(sqlite3 *);
|
||||
SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **);
|
||||
#endif /* GRDB_SQLITE_ENABLE_PREUPDATE_HOOK */
|
||||
#endif /* grdb_config_h */
|
||||
@@ -0,0 +1,8 @@
|
||||
framework module GRDB {
|
||||
umbrella header "GRDB.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
|
||||
header "grdb_config.h"
|
||||
}
|
||||
Reference in New Issue
Block a user