blob: 27799824cfbba3257591ce2879568f490054ff5d [file] [log] [blame]
Gyorgy Szing30fa9872017-12-05 01:08:47 +00001#-------------------------------------------------------------------------------
2# Copyright (c) 2017, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8cmake_minimum_required(VERSION 3.7)
9
10#Tell cmake where our modules can be found
11list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../cmake)
12
13#Include common stuff to control cmake.
14include("Common/BuildSys")
15
16#Start an embedded project.
17embedded_project_start(CONFIG "${CMAKE_CURRENT_LIST_DIR}/../ConfigDefault.cmake")
18project(tfm_tests LANGUAGES ASM C)
19embedded_project_fixup()
20
21get_filename_component(TFM_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
22
23#Check incoming configuration options
24if (NOT DEFINED SERVICES_TEST_ENABLED)
25 message(FATAL_ERROR "Incomplete build configuration: SERVICES_TEST_ENABLED is undefined. ")
26endif()
27
28if (NOT DEFINED CORE_TEST)
29 message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined. ")
30endif()
31
32if(CORE_TEST)
33 set (TFM_LVL 3)
34else()
35 set (TFM_LVL 1)
36endif()
37
38#Configure our options as needed.
39if (CORE_TEST_INTERACTIVE OR CORE_TEST_POSITIVE)
40 set(ENABLE_CORE_TESTS True)
41 set(ENABLE_CORE_TESTS_2 True)
42else()
43 set(ENABLE_CORE_TESTS False)
44 set(ENABLE_CORE_TESTS_2 False)
45endif()
46
47if (NOT DEFINED CMSIS_5_DIR)
48 set(CMSIS_5_DIR ${TFM_ROOT_DIR}/../CMSIS_5)
49endif()
50set(ENABLE_SECURE_STORAGE_SERVICE_TESTS TRUE)
51set(ENABLE_INVERT_SERVICE_TESTS TRUE)
52include(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.inc)
53
54#Build the secure library
55add_library(tfm_secure_tests STATIC ${ALL_SRC_C} ${ALL_SRC_C_S})
56embedded_set_target_compile_defines(TARGET tfm_secure_tests LANGUAGE C DEFINES __thumb2__ __ARM_FEATURE_CMSE=3 TFM_LVL=${TFM_LVL} APPEND)
57
58
59#Build the non-secure library
60set(CMAKE_STATIC_LIBRARY_PREFIX_C "lib")
61add_library(tfm_non_secure_tests STATIC ${ALL_SRC_C} ${ALL_SRC_C_NS})
62embedded_set_target_compile_defines(TARGET tfm_non_secure_tests LANGUAGE C DEFINES __thumb2__ __ARM_FEATURE_CMSE=3 __DOMAIN_NS=1 APPEND)
63#__DOMAIN_NS=1
64
65if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
66 SET(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Default install location for tfm_storage." FORCE)
67endif()
68
69install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/framework/integ_test.h
70 ${CMAKE_CURRENT_SOURCE_DIR}/suites/core/non_secure/svc_core_test_ns.h
71 ${CMAKE_CURRENT_SOURCE_DIR}/suites/sst/non_secure/os_wrapper.h
72 DESTINATION tfm/test/inc)
73
74install(TARGETS tfm_non_secure_tests
75 DESTINATION tfm/test/lib
76 PUBLIC_HEADER DESTINATION tfm/test/inc)
77
78
79embedded_project_end(tfm_non_secure_tests)
80embedded_project_end(tfm_secure_tests)
81