From d868a351dabf2da4a91c0289aa466c748cfbadf2 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Wed, 13 May 2026 00:29:20 +0200 Subject: [PATCH] Add libcvc as a component. Signed-off-by: Pol Henarejos --- config/esp32/components/libcvc/CMakeLists.txt | 9 +++++++++ picokeys_sdk_import.cmake | 20 +++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) create mode 100755 config/esp32/components/libcvc/CMakeLists.txt diff --git a/config/esp32/components/libcvc/CMakeLists.txt b/config/esp32/components/libcvc/CMakeLists.txt new file mode 100755 index 0000000..daef104 --- /dev/null +++ b/config/esp32/components/libcvc/CMakeLists.txt @@ -0,0 +1,9 @@ +set(PICOKEYS_SDK_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../..) + +idf_component_register( + SRCS ${LIBCVC_SOURCES} + INCLUDE_DIRS ${PICOKEYS_SDK_DIR}/third-party/libcvc/src ${PICOKEYS_SDK_DIR}/third-party/libcvc/include + REQUIRES mbedtls +) + +idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE ON) diff --git a/picokeys_sdk_import.cmake b/picokeys_sdk_import.cmake index 3445c42..428b0db 100644 --- a/picokeys_sdk_import.cmake +++ b/picokeys_sdk_import.cmake @@ -343,6 +343,14 @@ set(CJSON_SOURCES ${CMAKE_CURRENT_LIST_DIR}/third-party/cjson/cJSON.c ) +set(LIBCVC_SOURCES + ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src/cvc_build.c + ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src/cvc_parse.c + ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src/cvc_sign.c + ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src/cvc_tlv.c + ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src/cvc_write.c +) + set(LIBRARIES) if(NOT SKIP_MBEDTLS_FOR_OPENSSL_EMULATION) list(APPEND LIBRARIES mbedtls) @@ -357,14 +365,10 @@ if(NOT ESP_PLATFORM) target_include_directories(mbedtls SYSTEM PUBLIC ${CMAKE_CURRENT_LIST_DIR}/third-party/mbedtls/include) endif() if(ENABLE_LIBCVC) - if(EXISTS "${LIBCVC_PATH}/CMakeLists.txt") - if(NOT TARGET cvc) - add_subdirectory(${LIBCVC_PATH} ${CMAKE_BINARY_DIR}/libcvc_build) - endif() - list(APPEND LIBRARIES cvc) - else() - message(FATAL_ERROR "ENABLE_LIBCVC is ON but libcvc source is missing at ${LIBCVC_PATH}") - endif() + add_library(libcvc STATIC ${LIBCVC_SOURCES}) + target_include_directories(libcvc SYSTEM PUBLIC ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/src ${CMAKE_CURRENT_LIST_DIR}/third-party/libcvc/include) + target_link_libraries(libcvc PRIVATE mbedtls) + list(APPEND LIBRARIES libcvc) endif() if(USB_ITF_HID) add_library(tinycbor STATIC ${CBOR_SOURCES})