blob: 9beffdf87114b5ea92c537b2cd4a7fbe1db77f00 [file] [log] [blame]
#
# Copyright 2019,2020 NXP
# SPDX-License-Identifier: Apache-2.0
#
#
FILE(
GLOB
a71ch_sources
inc/*.h
src/*.c
../api/inc/*.h
../api/src/*.h
../api/src/A71HLSEWrapper.*
../api/src/ax_scp.*
../api/src/ax_sss_scp.*
../api/src/ax_util.*
../libCommon/hostCrypto/hcAsn.c
../libCommon/infra/a71_debug.c
../libCommon/infra/global_platf.*
../libCommon/infra/sm_connect.*
../libCommon/infra/nxLog_hostLib.*
../libCommon/scp/scp_a7x.*
)
#IF(WithSCP_SCP03_SSS)
# FILE(
# GLOB
# scp_files
# ../libCommon/scp/scp.*
# )
#ENDIF()
IF(WithHostCrypto_MBEDTLS)
SET(a71ch_mbedtls_sources ../libCommon/hostCrypto/axHostCryptombedtls.c
../libCommon/hostCrypto/HostCryptoAPImbedtls.c
)
SET(a71ch_mbedtls_library mbedtls)
ENDIF()
IF(WithHostCrypto_OPENSSL)
SET(a71ch_openssl_sources ../libCommon/hostCrypto/axHostCryptoOpenSSL.c
../libCommon/hostCrypto/HostCryptoAPIOpenSSL.c
)
ENDIF()
ADD_LIBRARY(
a71ch
${a71ch_sources}
${a71ch_openssl_sources}
${a71ch_mbedtls_sources}
${scp_files}
)
# NOTE-MMA: Commented out SSS_APIs as this causes a circular dependency
# which makes it impossible to use shared libraries
TARGET_LINK_LIBRARIES(
a71ch
smCom
${a71ch_mbedtls_library}
# SSS_APIs
)
TARGET_INCLUDE_DIRECTORIES(
a71ch
PUBLIC ../api/inc
PUBLIC ../libCommon/scp
PUBLIC inc
PUBLIC ../libCommon/hostCrypto # FIXME : This must eventually not be needed because sss APIs should be enough
PUBLIC ${CMAKE_SOURCE_DIR}/sss/inc
)
IF(WithKSDK)
TARGET_INCLUDE_DIRECTORIES(a71ch PUBLIC ${CMAKE_SOURCE_DIR}/sss/port/ksdk)
ELSE()
TARGET_INCLUDE_DIRECTORIES(a71ch PUBLIC ${CMAKE_SOURCE_DIR}/sss/port/default)
ENDIF()
IF(WithHostCrypto_MBEDCRYPTO)
TARGET_COMPILE_DEFINITIONS(
a71ch
PUBLIC MBEDCRYPTO # FIXME : Purnank : This must eventually not be needed because sss APIs should be enough
)
ELSEIF(WithHostCrypto_MBEDTLS)
TARGET_COMPILE_DEFINITIONS(
a71ch PUBLIC MBEDTLS # FIXME : Purnank : This must eventually not be needed because sss APIs should be enough
)
ENDIF()
IF(WithHostCrypto_OPENSSL)
TARGET_COMPILE_DEFINITIONS(
a71ch PUBLIC OPENSSL # FIXME : Purnank : This must eventually not be needed because sss APIs should be enough
)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
ENDIF()
TARGET_COMPILE_DEFINITIONS(a71ch PUBLIC SCP_MODE=C_MAC_C_ENC_R_MAC_R_ENC)
IF(WithSCP_SCP03_HostCrypto AND WithRTOS_Default)
ADD_SUBDIRECTORY(ex)
ADD_SUBDIRECTORY(ex_hlse)
IF(NXPInternal)
ADD_SUBDIRECTORY(tst)
ENDIF()
ENDIF()
IF(WithHostCrypto_OPENSSL AND WithRTOS_Default)
ADD_SUBDIRECTORY(app)
ENDIF()
IF(WithHost_LinuxLike OR WithHost_Android)
INSTALL(TARGETS a71ch DESTINATION lib)
ENDIF()