2021-05-20 18:50:02 +10:00
|
|
|
if(NOT CONFIG_LWIP_IPV6 AND NOT CMAKE_BUILD_EARLY_EXPANSION)
|
|
|
|
# note: the component is still included in the build so it can become visible again in config
|
|
|
|
# without needing to re-run CMake. However no source or header files are built.
|
|
|
|
message(STATUS "IPV6 support is disabled so the asio component will not be built")
|
|
|
|
idf_component_register()
|
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
2020-06-05 17:17:55 +02:00
|
|
|
set(asio_sources "asio/asio/src/asio.cpp")
|
2023-10-06 09:55:43 +02:00
|
|
|
set(asio_requires lwip)
|
2020-06-05 17:17:55 +02:00
|
|
|
|
2020-11-10 17:51:08 +11:00
|
|
|
if(CONFIG_ASIO_SSL_SUPPORT)
|
2023-10-06 09:55:43 +02:00
|
|
|
list(APPEND asio_sources
|
|
|
|
"port/src/asio_ssl_impl.cpp"
|
|
|
|
"port/mbedtls/src/mbedtls_context.cpp"
|
|
|
|
"port/mbedtls/src/mbedtls_engine.cpp")
|
|
|
|
set(asio_priv_includes "port/mbedtls/include")
|
2020-06-05 17:17:55 +02:00
|
|
|
endif()
|
|
|
|
|
|
|
|
idf_component_register(SRCS ${asio_sources}
|
2019-04-28 15:38:23 +08:00
|
|
|
INCLUDE_DIRS "asio/asio/include" "port/include"
|
2021-10-14 10:17:24 +02:00
|
|
|
PRIV_INCLUDE_DIRS ${asio_priv_includes}
|
2023-10-06 09:55:43 +02:00
|
|
|
PRIV_REQUIRES ${asio_requires})
|
2020-06-05 17:17:55 +02:00
|
|
|
|
2023-10-06 09:55:43 +02:00
|
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC SA_RESTART=0x01
|
|
|
|
SA_NOCLDSTOP=0x2
|
|
|
|
SA_NOCLDWAIT=0x4
|
|
|
|
ASIO_DISABLE_SERIAL_PORT
|
|
|
|
ASIO_SEPARATE_COMPILATION
|
|
|
|
ASIO_STANDALONE
|
|
|
|
ASIO_HAS_PTHREADS
|
|
|
|
OPENSSL_NO_ENGINE
|
|
|
|
)
|
|
|
|
|
|
|
|
if(NOT CONFIG_COMPILER_CXX_EXCEPTIONS)
|
|
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC ASIO_NO_EXCEPTIONS)
|
|
|
|
endif()
|
2020-06-05 17:17:55 +02:00
|
|
|
|
2023-10-06 09:55:43 +02:00
|
|
|
if(NOT CONFIG_COMPILER_RTTI)
|
|
|
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC ASIO_NO_TYPEID)
|
|
|
|
endif()
|
2020-06-05 17:17:55 +02:00
|
|
|
|
2023-10-06 09:55:43 +02:00
|
|
|
if(CONFIG_ASIO_SSL_SUPPORT)
|
2021-10-14 10:17:24 +02:00
|
|
|
idf_component_get_property(mbedtls mbedtls COMPONENT_LIB)
|
|
|
|
target_link_libraries(${COMPONENT_LIB} PUBLIC ${mbedtls})
|
2020-06-05 17:17:55 +02:00
|
|
|
endif()
|