blob: 4fc0fd7295a305e86b39f9f5796d34cbcf56e70a [file] [log] [blame]
Raef Colesb3d78822020-07-10 13:31:29 +01001#-------------------------------------------------------------------------------
2# Copyright (c) 2020, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Raef Coles69817322020-10-19 14:14:14 +01008cmake_minimum_required(VERSION 3.15)
Raef Colesb3d78822020-07-10 13:31:29 +01009
10project("CC312 Runtime Library" LANGUAGES C ASM)
11
12cmake_policy(SET CMP0076 NEW)
13cmake_policy(SET CMP0079 NEW)
14
15if (NOT DEFINED CC312_LIB_TARGET)
16 set(CC312_LIB_TARGET cc312)
17endif()
18if (NOT DEFINED CC312_PAL_TARGET)
19 set(CC312_PAL_TARGET cc312_pal)
20endif()
21if (NOT DEFINED CC312_CDMPU_TARGET)
22 set(CC312_CDMPU_TARGET cc312_cdmpu)
23endif()
24
25add_library(${CC312_LIB_TARGET} STATIC)
26# The extra libraries don't change much, so if we've already got one just ignore
27# it. it's still possible to create multiple targets by altering the name
28# variable.
29if(NOT TARGET ${CC312_PAL_TARGET})
Raef Colesf864f83d2020-12-11 15:46:04 +000030 add_library(${CC312_PAL_TARGET} INTERFACE)
Raef Colesb3d78822020-07-10 13:31:29 +010031endif()
32if(NOT TARGET ${CC312_CDMPU_TARGET})
Raef Colesf864f83d2020-12-11 15:46:04 +000033 add_library(${CC312_CDMPU_TARGET} INTERFACE)
Raef Colesb3d78822020-07-10 13:31:29 +010034endif()
35
36add_subdirectory(codesafe)
37add_subdirectory(host)
38add_subdirectory(shared)
39
40########################## LIB #################################################
41
42target_compile_definitions(${CC312_LIB_TARGET}
43 PRIVATE
44 DLLI_MAX_BUFF_SIZE=0x10000
45 USE_MBEDTLS_CRYPTOCELL
46 CC_MNG_MIN_BACKUP_SIZE_IN_BYTES=512
Raef Coles3ebf12d2020-10-08 13:30:03 +010047 $<$<OR:$<CONFIG:Debug>,$<CONFIG:relwithdebinfo>>:CC_PAL_MAX_LOG_LEVEL=3>
Raef Colesb3d78822020-07-10 13:31:29 +010048 PUBLIC
49 CC_IOT
50)
51target_link_libraries(${CC312_LIB_TARGET}
52 PRIVATE
53 ${CC312_PAL_TARGET}
54)
55
56########################## PAL #################################################
57
58target_compile_definitions(${CC312_PAL_TARGET}
Raef Colesf864f83d2020-12-11 15:46:04 +000059 INTERFACE
Raef Colesb3d78822020-07-10 13:31:29 +010060 CC_TRNG_MODE=0
Raef Coles3ebf12d2020-10-08 13:30:03 +010061 $<$<OR:$<CONFIG:Debug>,$<CONFIG:relwithdebinfo>>:CC_PAL_MAX_LOG_LEVEL=3>
Raef Colesb3d78822020-07-10 13:31:29 +010062 CC_IOT
63)
64
65########################## CDMPU ###############################################
66
67target_link_libraries(${CC312_CDMPU_TARGET}
Raef Colesf864f83d2020-12-11 15:46:04 +000068 INTERFACE
Raef Colesb3d78822020-07-10 13:31:29 +010069 ${CC312_PAL_TARGET}
70)
71
72target_compile_definitions(${CC312_CDMPU_TARGET}
Raef Colesf864f83d2020-12-11 15:46:04 +000073 INTERFACE
Raef Colesb3d78822020-07-10 13:31:29 +010074 DLLI_MAX_BUFF_SIZE=0x10000
75 USE_MBEDTLS_CRYPTOCELL
76 CC_MNG_MIN_BACKUP_SIZE_IN_BYTES=512
Raef Colesb3d78822020-07-10 13:31:29 +010077 CC_IOT
78)