From: Gabriel Valcazar Date: Thu, 7 Nov 2019 16:36:35 +0100 Subject: [PATCH 5/6] test: add CMakeLists.txt This file was ported form the master branch to be able to compile the cryptoauth_test app. Additional installation instructions were added as well. Move the ATCA_HAL_I2C build option to the root CMake file to enable it for both the library and the test app. https://jira.digi.com/browse/DEL-6826 Signed-off-by: Gabriel Valcazar --- CMakeLists.txt | 3 +++ lib/CMakeLists.txt | 1 - test/CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 test/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 429c06c..a490557 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 2.6.4) project (cryptoauthlib) +# Enable the I2C build option at a global level by default to use it for both the library and the test app +option(ATCA_HAL_I2C "Include the I2C Hal Driver - Linux & MCU only" ON) + # Set the current release version set(VERSION "2018.10.26") set(VERSION_MAJOR 2028) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 88533f1..6a00f7c 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -3,7 +3,6 @@ project(cryptoauth) # Various Options for Build option(ATCA_HAL_KIT_HID "Include the HID HAL Driver") -option(ATCA_HAL_I2C "Include the I2C Hal Driver - Linux & MCU only" ON) option(ATCA_HAL_CUSTOM "Include support for Custom/Plug-in Hal Driver" ON) option(ATCA_PRINTF "Enable Debug print statements in library") option(ATCA_PKCS11 "Build PKCS11 Library") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..7155f38 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 2.6.4) +project (cryptoauth_test) + +file(GLOB TEST_ATCACERT_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "atcacert/*.c") +file(GLOB TEST_JWT_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "jwt/*.c") +file(GLOB TEST_TNG_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "tng/*.c") +file(GLOB TEST_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c") + +if(ATCA_HAL_KIT_HID) +add_definitions(-DATCA_HAL_KIT_HID) +endif(ATCA_HAL_KIT_HID) + +if(ATCA_HAL_KIT_CDC) +add_definitions(-DATCA_HAL_KIT_CDC) +endif(ATCA_HAL_KIT_CDC) + +if(ATCA_HAL_I2C) +add_definitions(-DATCA_HAL_I2C) +endif(ATCA_HAL_I2C) + +if(ATCA_HAL_CUSTOM) +add_definitions(-DATCA_HAL_CUSTOM) +endif() + +add_executable(cryptoauth_test ${TEST_SRC} ${TEST_TNG_SRC} ${TEST_JWT_SRC} ${TEST_ATCACERT_SRC}) + +include_directories(cryptoauth_test ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_SOURCE_DIR}/../lib) + +target_link_libraries(cryptoauth_test cryptoauth) + +if(UNIX) +target_link_libraries(cryptoauth_test pthread) +endif() + +set(DEFAULT_BIN_PATH "${CMAKE_INSTALL_FULL_BINDIR}" CACHE + STRING "The default absolute test app path") + +install(DIRECTORY DESTINATION ${DEFAULT_BIN_PATH}) +install(CODE " + if(NOT EXISTS ${DEFAULT_BIN_PATH}/cryptoauth_test) + file(INSTALL ${PROJECT_BINARY_DIR}/cryptoauth_test + DESTINATION ${DEFAULT_BIN_PATH}) + endif() + ")