cmake_minimum_required(VERSION 3.28)
project(SQLiteClient LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_library(SQLiteClient STATIC src/SQLiteClient.cpp include/iovi_space/sqlite_client/SQLiteClient.h)

target_include_directories(SQLiteClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
    pkg_check_modules(SQLITE3 REQUIRED sqlite3)
    target_include_directories(SQLiteClient SYSTEM PRIVATE ${SQLITE3_INCLUDE_DIRS})
    target_link_libraries(SQLiteClient PRIVATE ${SQLITE3_LIBRARIES})
    target_compile_options(SQLiteClient PRIVATE ${SQLITE3_CFLAGS_OTHER})
else()
    # Fallback для Windows / MSYS2 / ручной сборки
    find_path(SQLITE3_INCLUDE_DIR sqlite3.h)
    find_library(SQLITE3_LIBRARY sqlite3)
    target_include_directories(SQLiteClient SYSTEM PRIVATE ${SQLITE3_INCLUDE_DIR})
    target_link_libraries(SQLiteClient PRIVATE ${SQLITE3_LIBRARY})
endif()
