1#/** @file
2# * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
3# * SPDX-License-Identifier : Apache-2.0
4# *
5# * Licensed under the Apache License, Version 2.0 (the "License");
6# * you may not use this file except in compliance with the License.
7# * You may obtain a copy of the License at
8# *
9# *  http://www.apache.org/licenses/LICENSE-2.0
10# *
11# * Unless required by applicable law or agreed to in writing, software
12# * distributed under the License is distributed on an "AS IS" BASIS,
13# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# * See the License for the specific language governing permissions and
15# * limitations under the License.
16#**/
17
18# Listing all the sources from val
19list(APPEND VAL_SRC_C_NSPE
20	${PSA_ROOT_DIR}/val/nspe/val_entry.c
21	${PSA_ROOT_DIR}/val/nspe/val_dispatcher.c
22	${PSA_ROOT_DIR}/val/nspe/val_framework.c
23	${PSA_ROOT_DIR}/val/nspe/val_crypto.c
24	${PSA_ROOT_DIR}/val/nspe/val_interfaces.c
25	${PSA_ROOT_DIR}/val/nspe/val_peripherals.c
26	${PSA_ROOT_DIR}/val/common/val_target.c
27	${PSA_ROOT_DIR}/val/nspe/val_attestation.c
28	${PSA_ROOT_DIR}/val/nspe/val_storage.c
29)
30
31# Create VAL NSPE library
32add_library(${PSA_TARGET_VAL_NSPE_LIB} STATIC ${VAL_SRC_C_NSPE})
33
34
35# PSA Include directories
36foreach(psa_inc_path ${PSA_INCLUDE_PATHS})
37        target_include_directories(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE ${psa_inc_path})
38endforeach()
39
40if(${SUITE} STREQUAL "INITIAL_ATTESTATION")
41target_include_directories(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE
42    ${PSA_QCBOR_INCLUDE_PATH}
43)
44endif()
45
46target_include_directories(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE
47	${CMAKE_CURRENT_BINARY_DIR}
48	${PSA_ROOT_DIR}/val/common
49	${PSA_ROOT_DIR}/val/nspe
50	${PSA_ROOT_DIR}/val/spe
51	${PSA_ROOT_DIR}/platform/targets/common/nspe
52	${PSA_ROOT_DIR}/platform/targets/common/nspe/crypto
53	${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
54)
55
56if(${WATCHDOG_AVAILABLE} EQUAL 1)
57	target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE WATCHDOG_AVAILABLE)
58endif()
59target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB}
60	PRIVATE
61		VAL_NSPE_BUILD
62		$<$<STREQUAL:${TARGET},tgt_dev_apis_tfm_an521>:TGT_DEV_APIS_TFM_AN521>
63)
64