added sqlite-vec extension
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
gradle-wrapper.jar
|
||||
/.gradle
|
||||
/captures/
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
/local.properties
|
||||
GeneratedPluginRegistrant.java
|
||||
|
||||
# Remember to never publicly share your keystore.
|
||||
# See https://flutter.dev/to/reference-keystore
|
||||
key.properties
|
||||
**/*.keystore
|
||||
**/*.jks
|
||||
@@ -0,0 +1,77 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# Set the project name
|
||||
project(sqlite_vec)
|
||||
|
||||
# Set default compiler if not provided
|
||||
if(NOT CMAKE_C_COMPILER)
|
||||
set(CMAKE_C_COMPILER gcc)
|
||||
endif()
|
||||
|
||||
# Configure Android specific settings
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
|
||||
include(FetchContent)
|
||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
|
||||
# cmake 3.24.0 added the `DOWNLOAD_EXTRACT_TIMESTAMP` and prints an ugly warning when
|
||||
# the default is used, so override it to the recommended behavior.
|
||||
# We can't really ask users to use a cmake that recent, so there's this if here.
|
||||
FetchContent_Declare(
|
||||
sqlite3
|
||||
URL https://sqlite.org/2024/sqlite-autoconf-3470200.tar.gz
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP NEW
|
||||
)
|
||||
|
||||
FetchContent_Declare(
|
||||
vec0
|
||||
URL https://github.com/asg017/sqlite-vec/archive/refs/tags/v0.1.7-alpha.2.tar.gz
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP NEW
|
||||
)
|
||||
else()
|
||||
FetchContent_Declare(
|
||||
sqlite3
|
||||
URL https://sqlite.org/2024/sqlite-autoconf-3470200.tar.gz
|
||||
)
|
||||
|
||||
FetchContent_Declare(
|
||||
vec0
|
||||
URL https://github.com/asg017/sqlite-vec/archive/refs/tags/v0.1.7-alpha.2.tar.gz
|
||||
)
|
||||
endif()
|
||||
|
||||
FetchContent_MakeAvailable(sqlite3)
|
||||
FetchContent_MakeAvailable(vec0)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${vec0_SOURCE_DIR}/sqlite-vec.h
|
||||
COMMAND make sqlite-vec.h
|
||||
WORKING_DIRECTORY ${vec0_SOURCE_DIR}
|
||||
COMMENT "Building sqlite-vec.h with make"
|
||||
)
|
||||
|
||||
add_custom_target(generate_vec_header
|
||||
DEPENDS ${vec0_SOURCE_DIR}/sqlite-vec.h
|
||||
)
|
||||
|
||||
add_library(vec0
|
||||
SHARED
|
||||
${vec0_SOURCE_DIR}/sqlite-vec.c
|
||||
)
|
||||
|
||||
add_dependencies(vec0 generate_vec_header)
|
||||
|
||||
# Include directories
|
||||
target_include_directories(vec0
|
||||
PRIVATE
|
||||
${vec0_SOURCE_DIR}
|
||||
${sqlite3_SOURCE_DIR}
|
||||
)
|
||||
|
||||
# Set compile options
|
||||
target_compile_options(vec0
|
||||
PRIVATE
|
||||
-Wall
|
||||
-Wextra
|
||||
-O3
|
||||
)
|
||||
@@ -0,0 +1,55 @@
|
||||
group = "me.movenext.sqlite3_vec"
|
||||
version = "1.0-SNAPSHOT"
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = "1.8.22"
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:8.1.0")
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: "com.android.library"
|
||||
apply plugin: "kotlin-android"
|
||||
|
||||
android {
|
||||
namespace = "me.movenext.sqlite3_vec"
|
||||
|
||||
compileSdk = 35
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += "src/main/kotlin"
|
||||
test.java.srcDirs += "src/test/kotlin"
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 21
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path "CMakeLists.txt"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
rootProject.name = 'sqlite3_vec'
|
||||
@@ -0,0 +1,3 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="me.movenext.sqlite3_vec">
|
||||
</manifest>
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package me.movenext.sqlite3_vec
|
||||
|
||||
import androidx.annotation.NonNull
|
||||
|
||||
import io.flutter.embedding.engine.plugins.FlutterPlugin
|
||||
|
||||
/** Sqlite3VecPlugin */
|
||||
class Sqlite3VecPlugin: FlutterPlugin {
|
||||
override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
|
||||
|
||||
}
|
||||
|
||||
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user