Skip to content

Commit 83c964e

Browse files
oyvindronningstadgalak
authored andcommitted
CMakeLists.txt: Rearrange library creation to be more flexible
To allow more Zephyr-specific integration. Signed-off-by: Øyvind Rønningstad <[email protected]>
1 parent a496d1f commit 83c964e

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

CMakeLists.txt

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,15 @@ function(trusted_firmware_build)
6565

6666
set(VENEERS_FILE ${TFM_BINARY_DIR}/secure_fw/s_veneers.o)
6767
set(PSA_API_NS_PATH ${TFM_BINARY_DIR}/interface/libpsa_api_ns.a)
68+
set(TFM_GENERATED_INCLUDES ${TFM_BINARY_DIR}/generated/interface/include)
69+
70+
set(BL2_HEX_FILE ${CMAKE_BINARY_DIR}/tfm/bin/bl2.hex)
6871

6972
set(BUILD_BYPRODUCTS
7073
${VENEERS_FILE}
7174
${PSA_API_NS_PATH}
7275
${BL2_HEX_FILE}
76+
${TFM_GENERATED_INCLUDES}/psa_manifest/sid.h
7377
)
7478

7579
# Get the toolchain variant
@@ -88,7 +92,7 @@ function(trusted_firmware_build)
8892
endif()
8993

9094
include(ExternalProject)
91-
95+
9296
ExternalProject_Add(
9397
tfm
9498
SOURCE_DIR ${ZEPHYR_TFM_MODULE_DIR}/trusted-firmware-m
@@ -110,23 +114,27 @@ function(trusted_firmware_build)
110114
BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS}
111115
)
112116

113-
add_library(tfm_api STATIC IMPORTED)
114-
set_target_properties(tfm_api PROPERTIES
115-
IMPORTED_LOCATION ${PSA_API_NS_PATH}
117+
add_library(tfm_api
118+
${ZEPHYR_TFM_MODULE_DIR}/tf-m-tests/app/os_wrapper_cmsis_rtos_v2.c
116119
)
117120

118-
add_library(veneer_lib STATIC IMPORTED)
119-
set_target_properties(veneer_lib PROPERTIES
120-
IMPORTED_LOCATION ${VENEERS_FILE}
121-
)
122-
123-
add_dependencies(tfm_api tfm)
124-
file(MAKE_DIRECTORY ${TFM_BINARY_DIR}/generated/interface/include)
125-
target_include_directories(tfm_api INTERFACE
121+
target_include_directories(tfm_api
122+
PRIVATE
123+
${ZEPHYR_TFM_MODULE_DIR}/tf-m-tests/CMSIS/RTOS2/Include
124+
PUBLIC
126125
${ZEPHYR_TFM_MODULE_DIR}/trusted-firmware-m/interface/include
127-
${TFM_BINARY_DIR}/generated/interface/include
126+
INTERFACE
127+
${TFM_GENERATED_INCLUDES}
128128
)
129129

130-
target_link_libraries(tfm_api INTERFACE zephyr_interface veneer_lib)
130+
target_link_libraries(tfm_api
131+
PUBLIC
132+
zephyr_interface
133+
INTERFACE
134+
${PSA_API_NS_PATH}
135+
${VENEERS_FILE}
136+
$<TARGET_FILE:tfm_api>
137+
)
131138

139+
add_dependencies(tfm_api tfm)
132140
endfunction()

0 commit comments

Comments
 (0)