blob: 46f6c843774dd728dd9e457d3e499686d05af097 [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
8cmake_minimum_required(VERSION 3.13)
9
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})
30 add_library(${CC312_PAL_TARGET} STATIC EXCLUDE_FROM_ALL)
31endif()
32if(NOT TARGET ${CC312_CDMPU_TARGET})
33 add_library(${CC312_CDMPU_TARGET} STATIC EXCLUDE_FROM_ALL)
34endif()
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}
59 PRIVATE
60 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 PUBLIC
63 CC_IOT
64)
65
66########################## CDMPU ###############################################
67
68target_link_libraries(${CC312_CDMPU_TARGET}
69 PRIVATE
70 ${CC312_PAL_TARGET}
71)
72
73target_compile_definitions(${CC312_CDMPU_TARGET}
74 PRIVATE
75 DLLI_MAX_BUFF_SIZE=0x10000
76 USE_MBEDTLS_CRYPTOCELL
77 CC_MNG_MIN_BACKUP_SIZE_IN_BYTES=512
78 PUBLIC
79 CC_IOT
80)