# | |
# 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) |