# Database service - smartbotic-db binary and storage library

# Storage engine library
add_library(smartbotic_database STATIC
    src/document.cpp
    src/collection.cpp
)

target_include_directories(smartbotic_database
    PUBLIC
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:include>
)

target_link_libraries(smartbotic_database
    PUBLIC
        smartbotic::common
        spdlog::spdlog
        nlohmann_json::nlohmann_json
)

add_library(smartbotic::database ALIAS smartbotic_database)

# Database service executable
add_executable(smartbotic-db
    src/main.cpp
)

target_include_directories(smartbotic-db
    PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/include
)

target_link_libraries(smartbotic-db
    PRIVATE
        smartbotic::database
        smartbotic::proto
        sodium
)
