cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(MQTT)

# Application entry point
target_sources(app PRIVATE src/main.c)
target_include_directories(app PRIVATE 
    ${CMAKE_CURRENT_SOURCE_DIR}/src
)

# Common channels / headers
add_subdirectory(src/common)

# Core modules
add_subdirectory(src/modules/transport)
add_subdirectory(src/modules/error)

# Optional (recommended): connectivity events via conn_mgr
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/modules/network)
  add_subdirectory(src/modules/network)
endif()

# Optional
# add_subdirectory(src/modules/sampler)
# add_subdirectory_ifdef(CONFIG_MQTT_SAMPLE_LED src/modules/led)
