# Smartbotic-MicroBit System Package Discovery find_package(PkgConfig REQUIRED) # gRPC and Protobuf (for smartbotic-database client) find_package(Protobuf REQUIRED) message(STATUS "Found Protobuf: ${Protobuf_VERSION}") find_package(gRPC CONFIG QUIET) if(gRPC_FOUND) message(STATUS "Found gRPC via CMake config") else() pkg_check_modules(GRPC REQUIRED IMPORTED_TARGET grpc++ grpc) message(STATUS "Found gRPC via pkg-config: ${GRPC_VERSION}") endif() # libcurl (HTTP client for CallerAI API + SMTP) find_package(CURL REQUIRED) message(STATUS "Found CURL: ${CURL_VERSION_STRING}") # OpenSSL (TLS, JWT HMAC-SHA256) find_package(OpenSSL REQUIRED) message(STATUS "Found OpenSSL: ${OPENSSL_VERSION}") # nlohmann_json (may be provided via FetchContent in Dependencies.cmake) find_package(nlohmann_json 3.2.0 QUIET) if(nlohmann_json_FOUND) message(STATUS "Found nlohmann_json: ${nlohmann_json_VERSION}") endif() # spdlog (logging) find_package(spdlog REQUIRED) message(STATUS "Found spdlog: ${spdlog_VERSION}") # systemd (optional, for sd_notify) pkg_check_modules(SYSTEMD QUIET IMPORTED_TARGET libsystemd) if(SYSTEMD_FOUND) message(STATUS "Found systemd: ${SYSTEMD_VERSION}") endif()