mirror of
https://github.com/polhenarejos/pico-keys-sdk
synced 2026-05-28 17:11:23 +02:00
Reorganize tree for ESP32
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -213,6 +213,14 @@ if(NOT ESP_PLATFORM)
|
||||
endif()
|
||||
endif(NOT ESP_PLATFORM)
|
||||
|
||||
option(ENABLE_PQC "Enable/disable PQC support" OFF)
|
||||
if(ENABLE_PQC)
|
||||
message(STATUS "PQC support:\t\t\t enabled")
|
||||
add_definitions(-DENABLE_PQC)
|
||||
else()
|
||||
message(STATUS "PQC support:\t\t\t disabled")
|
||||
endif(ENABLE_PQC)
|
||||
|
||||
set(MBEDTLS_SOURCES
|
||||
${CMAKE_CURRENT_LIST_DIR}/mbedtls/library/aes.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/mbedtls/library/asn1parse.c
|
||||
@@ -260,6 +268,54 @@ if (ENABLE_EDDSA)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(ENABLE_PQC)
|
||||
if (NOT ESP_PLATFORM)
|
||||
file(GLOB_RECURSE MLKEM_SOURCES
|
||||
${CMAKE_CURRENT_LIST_DIR}/mlkem/mlkem/src/*.c
|
||||
)
|
||||
list(FILTER MLKEM_SOURCES EXCLUDE REGEX "/native/")
|
||||
|
||||
add_library(mlkem512 STATIC ${MLKEM_SOURCES})
|
||||
target_include_directories(mlkem512 PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/mlkem/mlkem/src
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/mlkem
|
||||
)
|
||||
target_compile_definitions(mlkem512 PRIVATE
|
||||
MLK_CONFIG_PARAMETER_SET=512
|
||||
MLK_CONFIG_MULTILEVEL_WITH_SHARED
|
||||
MLK_CONFIG_NAMESPACE_PREFIX=mlkem
|
||||
)
|
||||
|
||||
add_library(mlkem768 STATIC ${MLKEM_SOURCES})
|
||||
target_include_directories(mlkem768 PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/mlkem/mlkem/src
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/mlkem
|
||||
)
|
||||
target_compile_definitions(mlkem768 PRIVATE
|
||||
MLK_CONFIG_PARAMETER_SET=768
|
||||
MLK_CONFIG_MULTILEVEL_NO_SHARED
|
||||
MLK_CONFIG_NAMESPACE_PREFIX=mlkem
|
||||
)
|
||||
|
||||
add_library(mlkem1024 STATIC ${MLKEM_SOURCES})
|
||||
target_include_directories(mlkem1024 PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/mlkem/mlkem/src
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/mlkem
|
||||
)
|
||||
target_compile_definitions(mlkem1024 PRIVATE
|
||||
MLK_CONFIG_PARAMETER_SET=1024
|
||||
MLK_CONFIG_MULTILEVEL_NO_SHARED
|
||||
MLK_CONFIG_NAMESPACE_PREFIX=mlkem
|
||||
)
|
||||
endif()
|
||||
|
||||
set(INCLUDES ${INCLUDES}
|
||||
${CMAKE_CURRENT_LIST_DIR}/mlkem/mlkem
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/mlkem
|
||||
)
|
||||
add_definitions(-DMLK_CONFIG_NAMESPACE_PREFIX=mlkem -DMLK_CONFIG_MULTILEVEL_BUILD=1)
|
||||
endif()
|
||||
|
||||
set(PICO_KEYS_SOURCES ${PICO_KEYS_SOURCES}
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/main.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/usb/usb.c
|
||||
@@ -318,6 +374,8 @@ if(USB_ITF_HID)
|
||||
${CMAKE_CURRENT_LIST_DIR}/mbedtls/library/pk_wrap.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/mbedtls/library/pkwrite.c
|
||||
)
|
||||
endif()
|
||||
|
||||
set(CBOR_SOURCES
|
||||
${CMAKE_CURRENT_LIST_DIR}/tinycbor/src/cborencoder.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/tinycbor/src/cborparser.c
|
||||
@@ -327,19 +385,41 @@ if(USB_ITF_HID)
|
||||
set(INCLUDES ${INCLUDES}
|
||||
${CMAKE_CURRENT_LIST_DIR}/tinycbor/src
|
||||
)
|
||||
set(LIBRARIES
|
||||
mbedtls
|
||||
)
|
||||
|
||||
if (NOT ESP_PLATFORM)
|
||||
add_library(mbedtls STATIC ${MBEDTLS_SOURCES})
|
||||
target_include_directories(mbedtls PUBLIC ${CMAKE_CURRENT_LIST_DIR}/mbedtls/include)
|
||||
if(USB_ITF_HID)
|
||||
add_library(tinycbor STATIC ${CBOR_SOURCES})
|
||||
target_include_directories(tinycbor PUBLIC ${CMAKE_CURRENT_LIST_DIR}/tinycbor/src)
|
||||
set(LIBRARIES ${LIBRARIES} tinycbor)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(LIBRARIES
|
||||
pico_stdlib
|
||||
pico_multicore
|
||||
pico_rand
|
||||
pico_aon_timer
|
||||
hardware_flash
|
||||
pico_unique_id
|
||||
tinyusb_device
|
||||
tinyusb_board
|
||||
hardware_pio
|
||||
)
|
||||
if (PICO_PLATFORM)
|
||||
list(APPEND LIBRARIES
|
||||
pico_stdlib
|
||||
pico_multicore
|
||||
pico_rand
|
||||
pico_aon_timer
|
||||
hardware_flash
|
||||
pico_unique_id
|
||||
tinyusb_device
|
||||
tinyusb_board
|
||||
hardware_pio
|
||||
)
|
||||
endif()
|
||||
|
||||
if (ENABLE_PQC)
|
||||
list(APPEND LIBRARIES
|
||||
mlkem512
|
||||
mlkem768
|
||||
mlkem1024
|
||||
)
|
||||
endif()
|
||||
|
||||
set(IS_CYW43 0)
|
||||
if (PICO_PLATFORM)
|
||||
@@ -403,10 +483,7 @@ else()
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/usb/usb_descriptors.c
|
||||
)
|
||||
endif()
|
||||
set(EXTERNAL_SOURCES ${CBOR_SOURCES})
|
||||
if(NOT ESP_PLATFORM)
|
||||
set(EXTERNAL_SOURCES ${EXTERNAL_SOURCES} ${MBEDTLS_SOURCES})
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set(
|
||||
CMAKE_C_FLAGS
|
||||
@@ -423,11 +500,6 @@ if(MSVC)
|
||||
_WIN32_WINNT_WIN10_RS5=0
|
||||
_STRALIGN_USE_SECURE_CRT=0
|
||||
NTDDI_WIN11_DT=0)
|
||||
set_source_files_properties(
|
||||
${EXTERNAL_SOURCES}
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS " -W3 -wd4242 -wd4065"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(PICO_PLATFORM)
|
||||
@@ -450,13 +522,17 @@ if(PICO_RP2350)
|
||||
set(INCLUDES ${INCLUDES}
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/rp2350/alt
|
||||
)
|
||||
target_include_directories(mbedtls PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/rp2350/alt
|
||||
)
|
||||
target_link_libraries(mbedtls PRIVATE pico_sha256)
|
||||
set(PICO_KEYS_SOURCES ${PICO_KEYS_SOURCES}
|
||||
${CMAKE_CURRENT_LIST_DIR}/config/rp2350/alt/sha256_alt.c
|
||||
)
|
||||
add_definitions(-DMBEDTLS_SHA256_ALT=1)
|
||||
set(LIBRARIES ${LIBRARIES} pico_sha256)
|
||||
endif()
|
||||
set(INTERNAL_SOURCES ${PICO_KEYS_SOURCES})
|
||||
set(PICO_KEYS_SOURCES ${PICO_KEYS_SOURCES} ${EXTERNAL_SOURCES})
|
||||
|
||||
if(NOT TARGET pico_keys_sdk)
|
||||
if(PICO_PLATFORM)
|
||||
|
||||
Reference in New Issue
Block a user