1project (xtest C) 2 3include(${OPTEE_TEST_SDK}/host_include/conf.cmake) 4 5################################################################################ 6# Packages 7################################################################################ 8find_package(Threads REQUIRED) 9if(NOT THREADS_FOUND) 10 message(FATAL_ERROR "Threads not found") 11endif() 12 13find_package(OpenSSL) 14if(OPENSSL_FOUND) 15 add_compile_options(-DOPENSSL_FOUND=1) 16 set (OPENSSL_PRIVATE_LINK OpenSSL::Crypto) 17endif() 18 19find_package(Python REQUIRED) 20 21include(GNUInstallDirs) 22 23macro(EMBED_8100FILE prefix infile) 24 add_custom_command( 25 OUTPUT regression_8100_${prefix}.h 26 COMMAND ${Python_EXECUTABLE} ${OPTEE_TEST_ROOT_DIR}/scripts/file_to_c.py --inf ${infile} 27 --out ${CMAKE_CURRENT_BINARY_DIR}/regression_8100_${prefix}.h 28 --name regression_8100_${prefix} 29 DEPENDS ${OPTEE_TEST_ROOT_DIR}/scripts/file_to_c.py ${infile} 30 ) 31 32 set_property(SOURCE regression_8100.c APPEND PROPERTY OBJECT_DEPENDS 33 ${CMAKE_CURRENT_BINARY_DIR}/regression_8100_${prefix}.h) 34endmacro(EMBED_8100FILE) 35 36EMBED_8100FILE(ca_crt ${OPTEE_TEST_ROOT_DIR}/cert/ca.crt) 37EMBED_8100FILE(mid_crt ${OPTEE_TEST_ROOT_DIR}/cert/mid.crt) 38EMBED_8100FILE(my_crt ${OPTEE_TEST_ROOT_DIR}/cert/my.crt) 39EMBED_8100FILE(my_csr ${OPTEE_TEST_ROOT_DIR}/cert/my.csr) 40 41set (SRC 42 adbg/src/adbg_case.c 43 adbg/src/adbg_enum.c 44 adbg/src/adbg_expect.c 45 adbg/src/adbg_log.c 46 adbg/src/adbg_run.c 47 adbg/src/security_utils_hex.c 48 aes_perf.c 49 benchmark_1000.c 50 benchmark_2000.c 51 regression_1000.c 52 regression_4000.c 53 regression_4100.c 54 regression_5000.c 55 regression_6000.c 56 regression_8000.c 57 regression_8100.c 58 sha_perf.c 59 stats.c 60 xtest_helpers.c 61 xtest_main.c 62 xtest_test.c 63 xtest_uuid_helpers.c 64) 65 66if (WITH_GP_TESTS) 67 add_compile_options(-DWITH_GP_TESTS=1) 68 69 macro(__GEN_GP_FILE outfile xmldir name basedir) 70 add_custom_command( 71 OUTPUT ${outfile} 72 COMMAND xalan -in ${basedir}/${name}.xml 73 -xsl gp/${name}.xsl -out ${outfile} 74 DEPENDS ${basedir}/${name}.xml gp/${name}.xsl 75 ) 76 endmacro(__GEN_GP_FILE) 77 macro(GEN_GP_FILE outfile xmldir name) 78 __GEN_GP_FILE(${outfile} ${xmldir} ${name} 79 gp-suite/packages/${xmldir}) 80 list (APPEND SRC ${outfile}) 81 endmacro(GEN_GP_FILE) 82 83 GEN_GP_FILE(gp_10000.c ClientAPI/xmlstable TEE) 84 GEN_GP_FILE(gp_20000.c TrustedCoreFw/xmlstable TEE_Internal_API) 85 GEN_GP_FILE(gp_30000.c DataStorage/xmlstable TEE_DataStorage_API) 86 GEN_GP_FILE(gp_40000.c Time_Arithmetical/xmlstable TEE_TimeArithm_API) 87 GEN_GP_FILE(gp_50000.c Crypto/xmlstable TEE_Crypto_API) 88 set (GP_INCLUDES PRIVATE gp/include) 89endif() 90 91if (CFG_GP_SOCKETS) 92 list (APPEND SRC 93 regression_2000.c 94 sock_server.c 95 rand_stream.c 96 ) 97endif() 98 99if (CFG_SECSTOR_TA_MGMT_PTA) 100 list (APPEND SRC install_ta.c) 101endif() 102 103if (CFG_SECURE_DATA_PATH) 104 list (APPEND SRC sdp_basic.c) 105endif() 106 107if (CFG_PKCS11_TA) 108 add_compile_options(-DCFG_PKCS11_TA) 109 list (APPEND SRC pkcs11_1000.c) 110endif() 111 112################################################################################ 113# Built binary 114################################################################################ 115add_executable (${PROJECT_NAME} ${SRC}) 116 117target_compile_options (${PROJECT_NAME} PRIVATE -include conf.h) 118 119target_include_directories(${PROJECT_NAME} 120 PRIVATE . 121 PRIVATE ../supp_plugin/include 122 PRIVATE adbg/include 123 PRIVATE ${OPTEE_TEST_SDK}/host_include 124 PRIVATE ${CMAKE_CURRENT_BINARY_DIR} 125 ${GP_INCLUDES} 126) 127 128target_link_libraries (${PROJECT_NAME} 129 PRIVATE ${CMAKE_THREAD_LIBS_INIT} 130 PRIVATE xtest-ta-headers 131 PRIVATE teec 132 PRIVATE m 133 PRIVATE ${OPENSSL_PRIVATE_LINK} 134 PRIVATE ckteec 135) 136 137################################################################################ 138# Install targets 139################################################################################ 140install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) 141