24 lines
986 B
CMake
24 lines
986 B
CMake
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/iovi_space/sqlite_client/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()
|