package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

53 lines
2.2 KiB

package("sqlite3")
set_homepage("https://sqlite.org/")
set_description("The most used database engine in the world")
set_urls("https://sqlite.org/$(version)", {version = function (version)
local year = "2021"
if version:le("3.24") then
year = "2018"
end
local version_str = version:gsub("[.+]", "")
if #version_str < 7 then
version_str = version_str .. "00"
end
return year .. "/sqlite-autoconf-" .. version_str .. ".tar.gz"
end})
add_versions("3.23.0+0", "b7711a1800a071674c2bf76898ae8584fc6c9643cfe933cfc1bc54361e3a6e49")
add_versions("3.24.0+0", "d9d14e88c6fb6d68de9ca0d1f9797477d82fc3aed613558f87ffbdbbc5ceb74a")
add_versions("3.34.0+100", "2a3bca581117b3b88e5361d0ef3803ba6d8da604b1c1a47d902ef785c1b53e89")
if is_plat("macosx", "linux") then
add_syslinks("pthread", "dl")
end
on_install("windows", function (package)
local configs = {"-f", "Makefile.msc", "DYNAMIC_SHELL=1"}
table.insert(configs, "DEBUG=" .. (package:debug() and "1" or "0"))
table.insert(configs, "PLATFORM=" .. package:arch())
table.insert(configs, "USE_CRT_DLL=" .. (package:config("vs_runtime"):startswith("MD") and "1" or "0"))
import("package.tools.nmake").build(package, configs)
os.cp("*.h", package:installdir("include"))
os.cp("sqlite3.lib", package:installdir("lib"))
os.cp("sqlite3.pdb", package:installdir("bin"))
os.cp("sqlite3.dll", package:installdir("bin"))
end)
on_install("macosx", "linux", function (package)
local configs = {}
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:config("pic") ~= false then
table.insert(configs, "--with-pic")
end
if package:debug() then
table.insert(configs, "--enable-debug")
end
import("package.tools.autoconf").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("sqlite3_open_v2", {includes = "sqlite3.h"}))
end)