include(${CMAKE_CURRENT_LIST_DIR}/../components/nanopb/functions.cmake)

set(PB_OUT ${CMAKE_CURRENT_SOURCE_DIR}/pb_out)

make_directory(${PB_OUT})
nanopb_generate(messages.proto ${PB_OUT} PROTO_HDRS PROTO_SRCS)

list(APPEND COMPONENT_SRCS "ugv_main.cc"
    "ugv_comms.c"
    "ugv_io.cc"
    "ugv_io_gps.cc"
    "ugv_io_mpu.cc"
    "u8g2_esp32_hal.c"
    "Print.cpp"
    ${PROTO_SRCS})
set(COMPONENT_PRIV_INCLUDEDIRS "." ${PB_OUT})
set(COMPONENT_REQUIRES "u8g2" "sx127x_driver" "nanopb" "MPU-driver" "minmea")

register_component()

component_compile_options("-Werror=incompatible-pointer-types")