blob: 744242512824cb8b87b2f5cd41daecd94ffc7049 [file] [log] [blame]
Jens Wiklandercb583fd2018-02-01 14:36:23 +01001project (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
Jens Wiklander950ea1c2018-04-30 15:39:22 +020013find_package(OpenSSL)
14if(OPENSSL_FOUND)
15 add_compile_options(-DOPENSSL_FOUND=1)
André Draszikf69b19f2019-08-20 14:34:30 +010016 set (OPENSSL_PRIVATE_LINK OpenSSL::Crypto)
Jens Wiklander950ea1c2018-04-30 15:39:22 +020017endif()
18
Jens Wiklandercb583fd2018-02-01 14:36:23 +010019include(GNUInstallDirs)
20
Jens Wiklander97d6e292018-04-23 13:00:31 +020021macro(EMBED_8100FILE prefix infile)
22 add_custom_command(
23 OUTPUT regression_8100_${prefix}.h
Volodymyr Babchuk66905842019-01-21 16:26:35 +020024 COMMAND ${OPTEE_TEST_ROOT_DIR}/scripts/file_to_c.py --inf ${infile}
Jens Wiklander97d6e292018-04-23 13:00:31 +020025 --out ${CMAKE_CURRENT_BINARY_DIR}/regression_8100_${prefix}.h
26 --name regression_8100_${prefix}
Volodymyr Babchuk66905842019-01-21 16:26:35 +020027 DEPENDS ${OPTEE_TEST_ROOT_DIR}/scripts/file_to_c.py ${infile}
Jens Wiklander97d6e292018-04-23 13:00:31 +020028 )
29
30 set_property(SOURCE regression_8100.c APPEND PROPERTY OBJECT_DEPENDS
31 ${CMAKE_CURRENT_BINARY_DIR}/regression_8100_${prefix}.h)
32endmacro(EMBED_8100FILE)
33
Volodymyr Babchuk66905842019-01-21 16:26:35 +020034EMBED_8100FILE(ca_crt ${OPTEE_TEST_ROOT_DIR}/cert/ca.crt)
35EMBED_8100FILE(mid_crt ${OPTEE_TEST_ROOT_DIR}/cert/mid.crt)
36EMBED_8100FILE(my_crt ${OPTEE_TEST_ROOT_DIR}/cert/my.crt)
37EMBED_8100FILE(my_csr ${OPTEE_TEST_ROOT_DIR}/cert/my.csr)
Jens Wiklander97d6e292018-04-23 13:00:31 +020038
Jens Wiklandercb583fd2018-02-01 14:36:23 +010039set (SRC
40 adbg/src/adbg_case.c
41 adbg/src/adbg_enum.c
42 adbg/src/adbg_expect.c
43 adbg/src/adbg_log.c
44 adbg/src/adbg_run.c
45 adbg/src/security_utils_hex.c
46 aes_perf.c
47 benchmark_1000.c
48 benchmark_2000.c
49 regression_1000.c
50 regression_4000.c
Jens Wiklanderb4c75aa2018-11-15 10:43:29 +010051 regression_4100.c
Jens Wiklandercb583fd2018-02-01 14:36:23 +010052 regression_5000.c
53 regression_6000.c
Jens Wiklandercb583fd2018-02-01 14:36:23 +010054 regression_8000.c
Jens Wiklander29326472018-04-20 11:22:15 +020055 regression_8100.c
Jens Wiklandercb583fd2018-02-01 14:36:23 +010056 sha_perf.c
Jens Wiklander254a3e32019-01-31 12:25:08 +010057 stats.c
Jens Wiklandercb583fd2018-02-01 14:36:23 +010058 xtest_helpers.c
59 xtest_main.c
60 xtest_test.c
Vesa Jääskeläinen7e2a2302020-04-05 20:11:58 +030061 xtest_uuid_helpers.c
Jens Wiklandercb583fd2018-02-01 14:36:23 +010062)
63
Jens Wiklanderf7c37e72020-06-23 16:41:19 +020064if (WITH_GP_TESTS)
65 add_compile_options(-DWITH_GP_TESTS=1)
66
67 macro(__GEN_GP_FILE outfile xmldir name basedir)
68 add_custom_command(
69 OUTPUT ${outfile}
70 COMMAND xalan -in ${basedir}/${name}.xml
71 -xsl gp/${name}.xsl -out ${outfile}
72 DEPENDS ${basedir}/${name}.xml gp/${name}.xsl
73 )
74 endmacro(__GEN_GP_FILE)
75 macro(GEN_GP_FILE outfile xmldir name)
76 __GEN_GP_FILE(${outfile} ${xmldir} ${name}
77 gp-suite/packages/${xmldir})
78 list (APPEND SRC ${outfile})
79 endmacro(GEN_GP_FILE)
80
81 GEN_GP_FILE(gp_10000.c ClientAPI/xmlstable TEE)
82 GEN_GP_FILE(gp_20000.c TrustedCoreFw/xmlstable TEE_Internal_API)
83 GEN_GP_FILE(gp_30000.c DataStorage/xmlstable TEE_DataStorage_API)
84 GEN_GP_FILE(gp_40000.c Time_Arithmetical/xmlstable TEE_TimeArithm_API)
85 GEN_GP_FILE(gp_50000.c Crypto/xmlstable TEE_Crypto_API)
86 set (GP_INCLUDES PRIVATE gp/include)
87endif()
88
Jens Wiklandercb583fd2018-02-01 14:36:23 +010089if (CFG_GP_SOCKETS)
90 list (APPEND SRC
91 regression_2000.c
92 sock_server.c
93 rand_stream.c
94 )
95endif()
96
97if (CFG_SECSTOR_TA_MGMT_PTA)
98 list (APPEND SRC install_ta.c)
99endif()
100
101if (CFG_SECURE_DATA_PATH)
102 list (APPEND SRC sdp_basic.c)
103endif()
104
Etienne Carriere109c1d72019-01-09 11:02:02 +0100105if (CFG_PKCS11_TA)
Etienne Carriere746e6be2021-04-12 12:57:41 +0200106 add_compile_options(-DCFG_PKCS11_TA)
Etienne Carriere109c1d72019-01-09 11:02:02 +0100107 list (APPEND SRC pkcs11_1000.c)
108endif()
109
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100110################################################################################
111# Built binary
112################################################################################
113add_executable (${PROJECT_NAME} ${SRC})
114
115target_compile_options (${PROJECT_NAME} PRIVATE -include conf.h)
116
117target_include_directories(${PROJECT_NAME}
118 PRIVATE .
Aleksandr Anisimov01f6f062021-01-19 11:02:25 +0300119 PRIVATE ../supp_plugin/include
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100120 PRIVATE adbg/include
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100121 PRIVATE ${OPTEE_TEST_SDK}/host_include
Volodymyr Babchuk66905842019-01-21 16:26:35 +0200122 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
Jens Wiklanderf7c37e72020-06-23 16:41:19 +0200123 ${GP_INCLUDES}
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100124)
125
126target_link_libraries (${PROJECT_NAME}
127 PRIVATE ${CMAKE_THREAD_LIBS_INIT}
128 PRIVATE xtest-ta-headers
129 PRIVATE teec
130 PRIVATE m
Jens Wiklander950ea1c2018-04-30 15:39:22 +0200131 PRIVATE ${OPENSSL_PRIVATE_LINK}
Etienne Carriere109c1d72019-01-09 11:02:02 +0100132 PRIVATE ckteec
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100133)
134
135################################################################################
136# Install targets
137################################################################################
138install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})