Skip to content

[WIP] [Feature] sqlite3 support #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LuaSTG/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ target_link_libraries(LuaSTG PRIVATE
lua_filesystem
#lua_xlsx_csv
lua_imgui
lua_sqlite3
imgui_impl_win32ex
imgui_impl_dx11
lua_steam_api
Expand Down
2 changes: 2 additions & 0 deletions LuaSTG/LuaSTG/AppFrameLua.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ extern "C" {
#endif
//#include "lua_xlsx_csv.h"
#include "lua_steam.h"
#include "lua_sqlite3.h"
#include "LuaBinding/lua_xinput.hpp"
#include "LuaBinding/lua_random.hpp"
#include "LuaBinding/lua_dwrite.hpp"
Expand Down Expand Up @@ -309,6 +310,7 @@ namespace LuaSTGPlus
//lua_xlsx_open(L);
//lua_csv_open(L);
lua_steam_open(L);
luaopen_sqlite3(L);
lua_xinput_open(L);
luaopen_dwrite(L);
luaopen_random(L);
Expand Down
1 change: 1 addition & 0 deletions cmake/import/all.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/tinyobjloader.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/pcg.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/xxhash.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/simdutf.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/sqlite3.cmake)

include(${CMAKE_CURRENT_LIST_DIR}/wil.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/directx_tk.cmake)
Expand Down
40 changes: 40 additions & 0 deletions cmake/import/sqlite3.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# sqlite3

CPMAddPackage(
NAME sqlite3
VERSION 3.47.0
URL https://sqlite.org/2024/sqlite-amalgamation-3470000.zip
URL_HASH SHA256=2842FDDBB1CC33F66C7DA998A57535F14A6BFEE159676A07BB4BF3E59375D93E
DOWNLOAD_ONLY YES
)

if (sqlite3_ADDED)
set(sqlite3_root ${sqlite3_SOURCE_DIR})

add_library(sqlite3 STATIC)
if (CMAKE_C_COMPILER_ID STREQUAL "MSVC")
target_compile_options(sqlite3 PRIVATE "/utf-8")
endif ()
target_compile_features(sqlite3 PRIVATE c_std_17)
target_include_directories(sqlite3 PUBLIC ${sqlite3_root})
target_sources(sqlite3 PRIVATE ${sqlite3_root}/sqlite3.h ${sqlite3_root}/sqlite3.c)
set_target_properties(sqlite3 PROPERTIES OUTPUT_NAME "libsqlite3")

add_executable(sqlite3_cli)
if (CMAKE_C_COMPILER_ID STREQUAL "MSVC")
target_compile_options(sqlite3_cli PRIVATE "/utf-8")
endif ()
target_compile_features(sqlite3_cli PRIVATE c_std_17)
target_sources(sqlite3_cli PRIVATE ${sqlite3_root}/shell.c)
target_link_libraries(sqlite3_cli PRIVATE sqlite3)
set_target_properties(sqlite3_cli PROPERTIES OUTPUT_NAME "sqlite3")

add_custom_command(TARGET sqlite3_cli POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${CMAKE_BINARY_DIR}/bin
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different $<TARGET_FILE:sqlite3_cli> ${CMAKE_BINARY_DIR}/bin/$<TARGET_FILE_NAME:sqlite3_cli>
VERBATIM
)

set_target_properties(sqlite3 PROPERTIES FOLDER external)
set_target_properties(sqlite3_cli PROPERTIES FOLDER external)
endif ()
5 changes: 5 additions & 0 deletions external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ set_target_properties(lua_cjson PROPERTIES FOLDER lualib)
#
#set_target_properties(lua_xlsx_csv PROPERTIES FOLDER external)

# ==================== lua sqlite3 ====================

add_subdirectory(lua-sqlite3)
set_target_properties(lua_sqlite3 PROPERTIES FOLDER lualib)

# ==================== xmath ====================

add_library(xmath STATIC)
Expand Down
5 changes: 5 additions & 0 deletions external/lua-sqlite3/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
add_library(lua_sqlite3 STATIC)
target_compile_features(lua_sqlite3 PRIVATE c_std_17 cxx_std_20)
target_include_directories(lua_sqlite3 PUBLIC .)
target_sources(lua_sqlite3 PRIVATE lua_sqlite3.h lua_sqlite3.cpp)
target_link_libraries(lua_sqlite3 PUBLIC lua51_static sqlite3)
Loading