idf_build_get_property(target IDF_TARGET) if(${target} STREQUAL "linux") set(ldfragments) set(srcs "src/esp_err_check_linux.c") else() set(ldfragments common.lf soc.lf) set(srcs) endif() list(APPEND srcs "src/esp_err_to_name.c") # Note: esp_ipc, esp_pm added as a public requirement to keep compatibility as to be located here. idf_component_register(SRCS "${srcs}" INCLUDE_DIRS include LDFRAGMENTS ${ldfragments}) set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 4) # List of components needed for the error codes list set(optional_reqs ulp efuse esp_http_client esp_http_server bootloader_support nvs_flash esp_wifi app_update lwip spi_flash wpa_supplicant esp_serial_slave_link esp_netif soc esp-tls esp_https_ota esp_hw_support) idf_build_get_property(build_components BUILD_COMPONENTS) foreach(req ${optional_reqs}) if(req IN_LIST build_components) idf_component_get_property(req_lib ${req} COMPONENT_LIB) target_link_libraries(${COMPONENT_LIB} PRIVATE ${req_lib}) endif() endforeach() if(${IDF_TARGET} STREQUAL "linux" AND CONFIG_ESP_ERR_TO_NAME_LOOKUP) find_library(LIB_BSD bsd) if(LIB_BSD) target_link_libraries(${COMPONENT_LIB} PRIVATE ${LIB_BSD}) elseif(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") message(WARNING "Missing LIBBSD library. Install libbsd-dev package and/or check linker directories.") endif() endif()