cmake_minimum_required(VERSION 3.16)
if(ESP_PLATFORM)
 idf_component_register(SRCS src/struct_sdk.c src/struct_queue.c src/struct_commands.c ports/struct_socket.c
  INCLUDE_DIRS src ports REQUIRES lwip mbedtls esp_hw_support)
 target_compile_definitions(${COMPONENT_LIB} PRIVATE STRUCT_PORT_ESP_IDF=1)
 return()
endif()
project(struct_sdk C)
add_library(struct_sdk STATIC src/struct_sdk.c src/struct_commands.c src/struct_queue.c)
target_include_directories(struct_sdk PUBLIC src)
target_compile_features(struct_sdk PUBLIC c_std_99)
option(STRUCT_BUILD_TESTS "Build host mbedTLS compatibility tests" OFF)
if(STRUCT_BUILD_TESTS)
 enable_testing()
 find_library(MBEDCRYPTO_LIBRARY mbedcrypto REQUIRED)
 foreach(test test_sdk test_delivery)
  add_executable(${test} tests/${test}.c)
  target_link_libraries(${test} PRIVATE struct_sdk ${MBEDCRYPTO_LIBRARY})
  add_test(NAME ${test} COMMAND ${test})
 endforeach()
endif()
