diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0172d30..22097f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,83 +1,81 @@
- #
- # This file is part of the Pico HSM distribution (https://github.com/polhenarejos/pico-hsm).
- # Copyright (c) 2022 Pol Henarejos.
- #
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, version 3.
- #
- # This program is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see .
- #
+#
+# This file is part of the Pico HSM distribution (https://github.com/polhenarejos/pico-hsm).
+# Copyright (c) 2022 Pol Henarejos.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
cmake_minimum_required(VERSION 3.13)
if(ESP_PLATFORM)
-set(EXTRA_COMPONENT_DIRS src pico-keys-sdk/src)
-include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+ set(EXTRA_COMPONENT_DIRS src pico-keys-sdk/src)
+ include($ENV{IDF_PATH}/tools/cmake/project.cmake)
else()
-if(ENABLE_EMULATION)
-else()
-include(pico_sdk_import.cmake)
-endif()
+ if(NOT ENABLE_EMULATION)
+ include(pico_sdk_import.cmake)
+ endif()
-project(pico_hsm C CXX ASM)
+ project(pico_hsm C CXX ASM)
-set(CMAKE_C_STANDARD 11)
-set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_C_STANDARD 11)
+ set(CMAKE_CXX_STANDARD 17)
-if(NOT ENABLE_EMULATION)
-pico_sdk_init()
-endif()
+ if(NOT ENABLE_EMULATION)
+ pico_sdk_init()
+ endif()
-if (NOT DEFINED __FOR_CI)
- set(__FOR_CI 0)
-endif()
-if (__FOR_CI)
- add_definitions(-D__FOR_CI)
-endif()
+ if(NOT DEFINED __FOR_CI)
+ set(__FOR_CI 0)
+ endif()
+ if(__FOR_CI)
+ add_definitions(-D__FOR_CI)
+ endif()
-add_executable(pico_hsm)
+ add_executable(pico_hsm)
endif()
set(SOURCES ${SOURCES}
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/sc_hsm.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_select.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_list_keys.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_read_binary.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_verify.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_reset_retry.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_challenge.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_external_authenticate.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_mse.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_initialize.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_domain.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_wrap.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_keypair_gen.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_update_ef.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_delete_file.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_change_pin.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_gen.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_signature.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_unwrap.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_decrypt_asym.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_cipher_sym.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_derive_asym.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_extras.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_general_authenticate.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_session_pin.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_puk_auth.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_pso.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_bip_slip.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cvc.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/files.c
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm/kek.c
-
- )
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/sc_hsm.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_select.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_list_keys.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_read_binary.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_verify.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_reset_retry.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_challenge.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_external_authenticate.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_mse.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_initialize.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_domain.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_wrap.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_keypair_gen.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_update_ef.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_delete_file.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_change_pin.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_gen.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_signature.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_key_unwrap.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_decrypt_asym.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_cipher_sym.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_derive_asym.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_extras.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_general_authenticate.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_session_pin.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_puk_auth.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_pso.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cmd_bip_slip.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/cvc.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/files.c
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm/kek.c
+)
set(USB_ITF_CCID 1)
set(USB_ITF_WCID 1)
include(pico-keys-sdk/pico_keys_sdk_import.cmake)
@@ -89,46 +87,45 @@ if(ESP_PLATFORM)
endif()
set(INCLUDES ${INCLUDES}
- ${CMAKE_CURRENT_LIST_DIR}/src/hsm
- )
-if(NOT ESP_PLATFORM)
-target_sources(pico_hsm PUBLIC ${SOURCES})
-target_include_directories(pico_hsm PUBLIC ${INCLUDES})
-
-target_compile_options(pico_hsm PUBLIC
- -Wall
+ ${CMAKE_CURRENT_LIST_DIR}/src/hsm
)
-if (NOT MSVC)
+if(NOT ESP_PLATFORM)
+ target_sources(pico_hsm PUBLIC ${SOURCES})
+ target_include_directories(pico_hsm PUBLIC ${INCLUDES})
+
target_compile_options(pico_hsm PUBLIC
- -Werror
+ -Wall
)
-endif()
-
-if(ENABLE_EMULATION)
- if (NOT MSVC)
- target_compile_options(pico_hsm PUBLIC
- -fdata-sections
- -ffunction-sections
- )
- endif()
- if(APPLE)
- target_link_options(pico_hsm PUBLIC
- -Wl,-dead_strip
- )
- elseif(MSVC)
+ if(NOT MSVC)
target_compile_options(pico_hsm PUBLIC
- -WX
+ -Werror
)
+ endif()
- target_link_libraries(pico_hsm PUBLIC wsock32 ws2_32 Bcrypt)
- else()
- target_link_options(pico_hsm PUBLIC
- -Wl,--gc-sections
+ if(ENABLE_EMULATION)
+ if(NOT MSVC)
+ target_compile_options(pico_hsm PUBLIC
+ -fdata-sections
+ -ffunction-sections
+ )
+ endif()
+ if(APPLE)
+ target_link_options(pico_hsm PUBLIC
+ -Wl,-dead_strip
+ )
+ elseif(MSVC)
+ target_compile_options(pico_hsm PUBLIC
+ -WX
)
- endif (APPLE)
- target_link_libraries(pico_hsm PRIVATE pthread m)
-else()
-target_link_libraries(pico_hsm PRIVATE pico_keys_sdk pico_stdlib pico_multicore hardware_flash hardware_sync hardware_adc pico_unique_id pico_aon_timer tinyusb_device tinyusb_board)
-endif()
+ target_link_libraries(pico_hsm PUBLIC wsock32 ws2_32 Bcrypt)
+ else()
+ target_link_options(pico_hsm PUBLIC
+ -Wl,--gc-sections
+ )
+ endif(APPLE)
+ target_link_libraries(pico_hsm PRIVATE pthread m)
+ else()
+ target_link_libraries(pico_hsm PRIVATE pico_keys_sdk pico_stdlib pico_multicore hardware_flash hardware_sync hardware_adc pico_unique_id pico_aon_timer tinyusb_device tinyusb_board)
+ endif()
endif()