blob: 5edfc16b46f35acc7882161131bf044d2bd459cd [file] [log] [blame]
#
# Copyright 2019,2020 NXP
# SPDX-License-Identifier: Apache-2.0
#
#
PROJECT(SSS_APIs LANGUAGES C)
FILE(
GLOB
API_FILES
inc/*.h
inc/*.h.in
inc/*.hpp
src/*.c
src/sscp/fsl_sss_sscp.c
src/a71ch/*.c
src/a71cl/*.c
src/user/*.c
src/user/crypto/aes.c
src/user/crypto/aes_cmac.c
src/user/crypto/aes_cmac_multistep.c
src/user/crypto/*.h
src/se050/*.c
src/se05x/*.c
src/mbedtls/*.c
src/mbedtls/*.cpp
src/openssl/*.c
src/keystore/*.c
src/a71cx_common/*.c
src/lpc55s/*.c
port/default/*.h
../doc/input/doc_*.h
cpp/*.cpp
${PlugAndTrustMW_BINARY_DIR}/fsl_sss_ftr.h
)
IF(WithHost_Android)
ADD_LIBRARY(${PROJECT_NAME} SHARED ${API_FILES})
ELSE()
ADD_LIBRARY(${PROJECT_NAME} ${API_FILES})
ENDIF()
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC inc)
IF(WithKSDK)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC port/ksdk)
ELSE()
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC port/default)
ENDIF()
IF(WithHostCrypto_MBEDTLS OR WithHostCrypto_MBEDCRYPTO)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} mbedtls)
ENDIF()
IF(WithHostCrypto_OPENSSL)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OPENSSL_LIBRARIES})
ENDIF()
IF(WithHostCrypto_User)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC user/crypto)
ENDIF()
IF(WithApplet_A71CH OR WithApplet_A71CH_SIM)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} a71ch)
ENDIF()
IF(WithApplet_A71CL OR WithApplet_SE050_EAR_CL)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} a71cl)
ENDIF()
IF(WithApplet_SE05X)
TARGET_LINK_LIBRARIES(
${PROJECT_NAME}
se05x
a7x_utils
)
ENDIF()
TARGET_LINK_LIBRARIES(${PROJECT_NAME} smCom)
IF(WithHost_LinuxLike)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
ENDIF()
IF(WithRTOS_Default AND NXPInternal)
IF(WithLargePrograms AND (NOT SSS_HAVE_HOST_LPCXPRESSO55S_NS))
ADD_SUBDIRECTORY(tst)
ELSE()
ADD_SUBDIRECTORY(tst/src)
ENDIF()
ENDIF()
IF(WithKSDK AND WithRTOS_FreeRTOS AND NXPInternal)
ADD_SUBDIRECTORY(tst/src)
ENDIF()
IF(WithLargePrograms)
ADD_SUBDIRECTORY(ex)
ELSE()
ADD_SUBDIRECTORY(ex/src)
ENDIF()
IF(SSS_HAVE_HOSTCRYPTO_ANY)
IF(
WithApplet_A71CH
OR WithApplet_A71CH_SIM
OR WithApplet_SE05X
)
IF(
WithHost_PCWindows
OR WithHost_Darwin
OR WithHost_LinuxLike
)
# ADD_SUBDIRECTORY(src/dll)
PROJECT(sssapisw)
IF(MSVC)
IF(WithApplet_A71CH OR WithApplet_A71CH_SIM)
SET(def_file "src/dll/sssapisdll_a71ch.def")
ENDIF()
IF(WithApplet_SE05X)
SET(def_file "src/dll/sssapisdll_se05x.def")
ENDIF()
ENDIF()
ADD_LIBRARY(
sssapisw SHARED
${API_FILES}
${def_file}
../pycli/src/pySSSCLI.py
src/dll/sssapisdll.c
)
TARGET_LINK_LIBRARIES(sssapisw SSS_APIs)
ADD_CUSTOM_COMMAND(
TARGET sssapisw
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:sssapisw> ${CMAKE_SOURCE_DIR}/tools
COMMENT "Copy dll to ${CMAKE_SOURCE_DIR}/tools"
)
ENDIF()
ELSEIF(
WithDllSupport
AND WithHost_PCWindows
AND MSVC
)
# ADD_SUBDIRECTORY(src/dll)
PROJECT(sssapisw)
SET(def_file "src/dll/sssapisdll.def")
ADD_LIBRARY(
sssapisw SHARED
${API_FILES}
${def_file}
../pycli/src/pySSSCLI.py
src/dll/sssapisdll.c
)
TARGET_LINK_LIBRARIES(sssapisw SSS_APIs)
ADD_CUSTOM_COMMAND(
TARGET sssapisw
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:sssapisw> ${CMAKE_SOURCE_DIR}/tools
COMMENT "Copy dll to ${CMAKE_SOURCE_DIR}/tools"
)
ENDIF()
IF(WithHostCrypto_OPENSSL)
IF(
WithApplet_A71CH
OR WithApplet_A71CH_SIM
OR WithApplet_SE05X
OR WithHostCrypto_MBEDTLS
)
ADD_SUBDIRECTORY(plugin/openssl)
ENDIF()
ENDIF()
IF(WithHostCrypto_MBEDCRYPTO)
IF(WithApplet_SE05X)
ADD_SUBDIRECTORY(plugin/psa)
ENDIF()
ENDIF()
IF(WithHost_LinuxLike)
INSTALL(
DIRECTORY inc/ port/default/
DESTINATION ${SIMW_INSTALL_INC_DIR}
FILES_MATCHING
PATTERN "*.h"
)
ENDIF()
IF(WithHost_LinuxLike)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
ENDIF(WithHost_LinuxLike)
ENDIF(SSS_HAVE_HOSTCRYPTO_ANY)