cmake_minimum_required(VERSION 3.10) project(thrawn) set(CMAKE_CXX_STANDARD 17) set(CMAKE_EXPORT_COMPILE_COMMANDS true) include_directories("lib/mqtt++/include") find_package(spdlog CONFIG REQUIRED) find_package(OpenSSL REQUIRED) include(FindLua) find_package(lua REQUIRED) find_package(InfluxDB REQUIRED) find_package(eclipse-paho-mqtt-c CONFIG REQUIRED) find_package(croncpp CONFIG REQUIRED) add_executable(thrawn src/main.cpp src src/thrawn_api.cpp src/thrawn_api_db_logger.cpp src/Service.cpp src/Cache.cpp src/LuaEngine.cpp lib/mqtt++/src/mqtt++.cpp src/DBLogger.cpp) target_link_libraries(thrawn ${LIBS} croncpp::croncpp spdlog::spdlog InfluxData::InfluxDB ${LUA_LIBRARIES} OpenSSL::SSL eclipse-paho-mqtt-c::paho-mqtt3cs-static) target_include_directories(thrawn PRIVATE ${LUA_INCLUDE_DIR}) install(TARGETS thrawn DESTINATION bin)