Skip to content

Commit 266d86c

Browse files
committed
Add CMake support for choosing a TPM module
1 parent 4a5c755 commit 266d86c

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

CMakeLists.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,38 @@ else()
183183
" ${INTERFACE_OPTS}")
184184
endif("${WOLFTPM_INTERFACE}" STREQUAL "SWTPM")
185185

186+
# TPM Module Selection
187+
set(WOLFTPM_MODULE "auto" CACHE STRING
188+
"Select TPM hardware module (default: auto)")
189+
set_property(CACHE WOLFTPM_MODULE
190+
PROPERTY STRINGS "auto;microchip;attpm20;mchp;st33;nuvoton;npct75x;slb9670;slb9672;slb9673")
191+
192+
message("TPM MODULE ${WOLFTPM_MODULE}")
193+
194+
if("${WOLFTPM_MODULE}" STREQUAL "auto")
195+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_AUTODETECT")
196+
elseif("${WOLFTPM_MODULE}" STREQUAL "microchip" OR
197+
"${WOLFTPM_MODULE}" STREQUAL "attpm20" OR
198+
"${WOLFTPM_MODULE}" STREQUAL "mchp")
199+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_MICROCHIP")
200+
elseif("${WOLFTPM_MODULE}" STREQUAL "st33")
201+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_ST33")
202+
elseif("${WOLFTPM_MODULE}" STREQUAL "nuvoton" OR
203+
"${WOLFTPM_MODULE}" STREQUAL "npct75x")
204+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_NUVOTON")
205+
elseif("${WOLFTPM_MODULE}" STREQUAL "slb9670")
206+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_SLB9670")
207+
elseif("${WOLFTPM_MODULE}" STREQUAL "slb9672")
208+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_SLB9672")
209+
elseif("${WOLFTPM_MODULE}" STREQUAL "slb9673")
210+
list(APPEND WOLFTPM_DEFINITIONS "-DWOLFTPM_SLB9673")
211+
else()
212+
get_property(MODULE_OPTS CACHE WOLFTPM_MODULE
213+
PROPERTY STRINGS)
214+
message(FATAL_ERROR "\"${WOLFTPM_MODULE}\" is not a known WOLFTPM_MODULE:"
215+
" ${MODULE_OPTS}")
216+
endif()
217+
186218
# Examples
187219
set(WOLFTPM_EXAMPLES "yes" CACHE BOOL
188220
"Build examples")

0 commit comments

Comments
 (0)