blob: 781b766d54d8e0342b8686d0b22156b1fc5efda2 [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
Etienne Carriere5a83a502019-04-25 10:19:05 +020064set_source_files_properties(
65 regression_4100.c PROPERTIES COMPILE_FLAGS -Wno-unsafe-loop-optimizations
66)
67
Jens Wiklandercb583fd2018-02-01 14:36:23 +010068if (CFG_GP_SOCKETS)
69 list (APPEND SRC
70 regression_2000.c
71 sock_server.c
72 rand_stream.c
73 )
74endif()
75
76if (CFG_SECSTOR_TA_MGMT_PTA)
77 list (APPEND SRC install_ta.c)
78endif()
79
80if (CFG_SECURE_DATA_PATH)
81 list (APPEND SRC sdp_basic.c)
82endif()
83
Etienne Carriere109c1d72019-01-09 11:02:02 +010084if (CFG_PKCS11_TA)
85 list (APPEND SRC pkcs11_1000.c)
86endif()
87
Jens Wiklandercb583fd2018-02-01 14:36:23 +010088################################################################################
89# Built binary
90################################################################################
91add_executable (${PROJECT_NAME} ${SRC})
92
93target_compile_options (${PROJECT_NAME} PRIVATE -include conf.h)
94
95target_include_directories(${PROJECT_NAME}
96 PRIVATE .
97 PRIVATE adbg/include
98 PRIVATE xml/include
99 PRIVATE ${OPTEE_TEST_SDK}/host_include
Volodymyr Babchuk66905842019-01-21 16:26:35 +0200100 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100101)
102
103target_link_libraries (${PROJECT_NAME}
104 PRIVATE ${CMAKE_THREAD_LIBS_INIT}
105 PRIVATE xtest-ta-headers
106 PRIVATE teec
107 PRIVATE m
Jens Wiklander950ea1c2018-04-30 15:39:22 +0200108 PRIVATE ${OPENSSL_PRIVATE_LINK}
Etienne Carriere109c1d72019-01-09 11:02:02 +0100109 PRIVATE ckteec
Jens Wiklandercb583fd2018-02-01 14:36:23 +0100110)
111
112################################################################################
113# Install targets
114################################################################################
115install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})