cmake_minimum_required(VERSION 3.22)
project(maptools_sqlite C)

if(NOT DEFINED SQLITE_AMALGAMATION_DIR)
    message(FATAL_ERROR "SQLITE_AMALGAMATION_DIR is required")
endif()

add_library(SQLite3 STATIC "${SQLITE_AMALGAMATION_DIR}/sqlite3.c")
target_include_directories(SQLite3 PUBLIC "${SQLITE_AMALGAMATION_DIR}")
set_target_properties(SQLite3 PROPERTIES OUTPUT_NAME sqlite3 POSITION_INDEPENDENT_CODE ON)
if(UNIX)
    find_package(Threads REQUIRED)
    target_link_libraries(SQLite3 PUBLIC m ${CMAKE_DL_LIBS} Threads::Threads)
endif()

add_executable(sqlite3 "${SQLITE_AMALGAMATION_DIR}/shell.c")
target_link_libraries(sqlite3 PRIVATE SQLite3)

install(TARGETS SQLite3 ARCHIVE DESTINATION lib)
install(TARGETS sqlite3 RUNTIME DESTINATION bin)
install(FILES "${SQLITE_AMALGAMATION_DIR}/sqlite3.h" DESTINATION include)
