find_package(OpenSSL REQUIRED)

# LMDB — needed by the offline sub-db audit/repair commands, which operate
# directly on an env on disk rather than through the gRPC API.
if(NOT LMDB_INCLUDE_DIR OR NOT LMDB_LIBRARY)
    find_path(LMDB_INCLUDE_DIR lmdb.h)
    find_library(LMDB_LIBRARY NAMES lmdb)
    if(NOT LMDB_INCLUDE_DIR OR NOT LMDB_LIBRARY)
        message(FATAL_ERROR "LMDB not found. Install liblmdb-dev.")
    endif()
endif()

add_executable(smartbotic-db-cli main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/storage/subdb_placement.cpp)
target_include_directories(smartbotic-db-cli PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/../service/src
    ${LMDB_INCLUDE_DIR}
)
target_link_libraries(smartbotic-db-cli PRIVATE
    smartbotic-db-client
    OpenSSL::SSL
    OpenSSL::Crypto
    ${LMDB_LIBRARY}
)
