blob: 8576f7b554df080c5ed0b9acf3499acf20bf5788 [file] [log] [blame]
Balint Dobszayefd67b32024-11-14 17:44:02 +01001From c2a8aedf66eb2a7dfb208d378adae98680931536 Mon Sep 17 00:00:00 2001
2From: Balint Dobszay <balint.dobszay@arm.com>
3Date: Thu, 14 Nov 2024 17:11:04 +0100
4Subject: [PATCH 3/3] Add CMake support
5
6Add a minimal CMake build system that can build the TPM code as a
7library and export the CMake config files so it's more convenient to use
8it from another CMake project.
9
10Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
11Change-Id: I56985c0042776a2759de12bb373017a21e1aab0e
12---
13 CMakeLists.txt | 553 ++++++++++++++++++++++++++++++++++++++++++
14 ms_tpmConfig.cmake.in | 10 +
15 2 files changed, 563 insertions(+)
16 create mode 100644 CMakeLists.txt
17 create mode 100644 ms_tpmConfig.cmake.in
18
19diff --git a/CMakeLists.txt b/CMakeLists.txt
20new file mode 100644
21index 0000000..faaefb5
22--- /dev/null
23+++ b/CMakeLists.txt
24@@ -0,0 +1,553 @@
25+#-------------------------------------------------------------------------------
26+# Copyright (c) 2024, Arm Limited. All rights reserved.
27+#
28+# SPDX-License-Identifier: BSD-3-Clause
29+#
30+#-------------------------------------------------------------------------------
31+
32+cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
33+project(ms-tpm-20-ref LANGUAGES C ASM)
34+
35+add_library(tpm STATIC)
36+
37+set(TPM_EXTRA_DEFINITIONS "" CACHE STRING "Defines coming from Trusted Services")
38+target_compile_definitions(tpm PUBLIC "${TPM_EXTRA_DEFINITIONS}")
39+
40+set(TPM_EXTRA_INCLUDES "" CACHE STRING "Include paths coming from Trusted Services")
41+target_include_directories(tpm PUBLIC "${TPM_EXTRA_INCLUDES}")
42+
43+target_sources(tpm PRIVATE
44+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ECC_Decrypt.c
45+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ECC_Encrypt.c
46+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ECC_Parameters.c
47+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ECDH_KeyGen.c
48+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ECDH_ZGen.c
49+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/EC_Ephemeral.c
50+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/RSA_Decrypt.c
51+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/RSA_Encrypt.c
52+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Asymmetric/ZGen_2Phase.c
53+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/AttachedComponent/AC_GetCapability.c
54+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/AttachedComponent/AC_Send.c
55+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/AttachedComponent/AC_spt.c
56+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/AttachedComponent/Policy_AC_SendSelect.c
57+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/Attest_spt.c
58+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/Certify.c
59+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/CertifyCreation.c
60+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/CertifyX509.c
61+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/GetCommandAuditDigest.c
62+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/GetSessionAuditDigest.c
63+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/GetTime.c
64+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Attestation/Quote.c
65+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Capability/GetCapability.c
66+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Capability/TestParms.c
67+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/ClockTimer/ACT_SetTimeout.c
68+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/ClockTimer/ACT_spt.c
69+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/ClockTimer/ClockRateAdjust.c
70+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/ClockTimer/ClockSet.c
71+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/ClockTimer/ReadClock.c
72+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/CommandAudit/SetCommandCodeAuditStatus.c
73+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Context/ContextLoad.c
74+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Context/ContextSave.c
75+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Context/Context_spt.c
76+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Context/EvictControl.c
77+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Context/FlushContext.c
78+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/DA/DictionaryAttackLockReset.c
79+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/DA/DictionaryAttackParameters.c
80+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Duplication/Duplicate.c
81+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Duplication/Import.c
82+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Duplication/Rewrap.c
83+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyAuthorize.c
84+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyAuthorizeNV.c
85+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyAuthValue.c
86+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyCommandCode.c
87+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyCounterTimer.c
88+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyCpHash.c
89+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyDuplicationSelect.c
90+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyGetDigest.c
91+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyLocality.c
92+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyNameHash.c
93+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyNV.c
94+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyNvWritten.c
95+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyOR.c
96+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyPassword.c
97+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyPCR.c
98+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyPhysicalPresence.c
99+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicySecret.c
100+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicySigned.c
101+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/Policy_spt.c
102+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyTemplate.c
103+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/EA/PolicyTicket.c
104+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Ecdaa/Commit.c
105+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/FieldUpgrade/FieldUpgradeData.c
106+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/FieldUpgrade/FieldUpgradeStart.c
107+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/FieldUpgrade/FirmwareRead.c
108+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/EventSequenceComplete.c
109+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/HashSequenceStart.c
110+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/HMAC_Start.c
111+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/MAC_Start.c
112+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/SequenceComplete.c
113+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/HashHMAC/SequenceUpdate.c
114+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/ChangeEPS.c
115+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/ChangePPS.c
116+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/Clear.c
117+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/ClearControl.c
118+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/CreatePrimary.c
119+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/HierarchyChangeAuth.c
120+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/HierarchyControl.c
121+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Hierarchy/SetPrimaryPolicy.c
122+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Misc/PP_Commands.c
123+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Misc/SetAlgorithmSet.c
124+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_Certify.c
125+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_ChangeAuth.c
126+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_DefineSpace.c
127+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_Extend.c
128+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_GlobalWriteLock.c
129+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_Increment.c
130+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_Read.c
131+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_ReadLock.c
132+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_ReadPublic.c
133+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_SetBits.c
134+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_spt.c
135+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_UndefineSpace.c
136+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_UndefineSpaceSpecial.c
137+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_Write.c
138+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/NVStorage/NV_WriteLock.c
139+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/ActivateCredential.c
140+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/Create.c
141+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/CreateLoaded.c
142+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/Load.c
143+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/LoadExternal.c
144+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/MakeCredential.c
145+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/ObjectChangeAuth.c
146+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/Object_spt.c
147+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/ReadPublic.c
148+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Object/Unseal.c
149+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_Allocate.c
150+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_Event.c
151+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_Extend.c
152+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_Read.c
153+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_Reset.c
154+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_SetAuthPolicy.c
155+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/PCR/PCR_SetAuthValue.c
156+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Random/GetRandom.c
157+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Random/StirRandom.c
158+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Session/PolicyRestart.c
159+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Session/StartAuthSession.c
160+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Signature/Sign.c
161+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Signature/VerifySignature.c
162+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Startup/Shutdown.c
163+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Startup/Startup.c
164+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt2.c
165+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt.c
166+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/EncryptDecrypt_spt.c
167+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/Hash.c
168+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/HMAC.c
169+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Symmetric/MAC.c
170+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Testing/GetTestResult.c
171+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Testing/IncrementalSelfTest.c
172+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Testing/SelfTest.c
173+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/command/Vendor/Vendor_TCG_Test.c
174+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/AlgorithmTests.c
175+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/BnConvert.c
176+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/BnMath.c
177+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/BnMemory.c
178+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptCmac.c
179+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptDes.c
180+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptEccCrypt.c
181+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptEccData.c
182+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptEccKeyExchange.c
183+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptEccMain.c
184+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptEccSignature.c
185+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptHash.c
186+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptPrime.c
187+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptPrimeSieve.c
188+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptRand.c
189+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptRsa.c
190+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptSelfTest.c
191+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptSmac.c
192+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptSym.c
193+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/CryptUtil.c
194+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/PrimeData.c
195+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/RsaKeyCache.c
196+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/Ticket.c
197+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/mbed/TpmToMbedSym.c
198+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/mbed/TpmToMbedMath.c
199+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/crypt/mbed/TpmToMbedSupport.c
200+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/events/_TPM_Hash_Data.c
201+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/events/_TPM_Hash_End.c
202+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/events/_TPM_Hash_Start.c
203+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/events/_TPM_Init.c
204+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/main/CommandDispatcher.c
205+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/main/ExecCommand.c
206+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/main/SessionProcess.c
207+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/CommandAudit.c
208+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/DA.c
209+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/Hierarchy.c
210+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/NvDynamic.c
211+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/NvReserved.c
212+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/Object.c
213+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/PCR.c
214+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/PP.c
215+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/Session.c
216+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/subsystem/Time.c
217+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/AlgorithmCap.c
218+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Bits.c
219+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/CommandCodeAttributes.c
220+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Entity.c
221+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Global.c
222+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Handle.c
223+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/IoBuffers.c
224+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Locality.c
225+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Manufacture.c
226+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Marshal.c
227+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/MathOnByteBuffers.c
228+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Memory.c
229+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Power.c
230+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/PropertyCap.c
231+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/Response.c
232+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/ResponseCodeProcessing.c
233+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/TableDrivenMarshal.c
234+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/TableMarshalData.c
235+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/TpmFail.c
236+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/support/TpmSizeChecks.c
237+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/X509/TpmASN1.c
238+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/X509/X509_ECC.c
239+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/X509/X509_RSA.c
240+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/src/X509/X509_spt.c
241+)
242+
243+target_include_directories(tpm PUBLIC
244+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include>
245+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes>
246+ $<INSTALL_INTERFACE:include>
247+)
248+
249+set_property(TARGET tpm APPEND PROPERTY PUBLIC_HEADER
250+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/ACT.h
251+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/BaseTypes.h
252+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/BnValues.h
253+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Capabilities.h
254+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CommandAttributeData.h
255+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CommandAttributes.h
256+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CommandDispatchData.h
257+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CommandDispatcher.h
258+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Commands.h
259+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CompilerDependencies.h
260+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptEcc.h
261+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptHash.h
262+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptRand.h
263+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptRsa.h
264+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptSym.h
265+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/CryptTest.h
266+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/EccTestData.h
267+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Global.h
268+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/GpMacros.h
269+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/HandleProcess.h
270+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/HashTestData.h
271+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/InternalRoutines.h
272+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/KdfTestData.h
273+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/LibSupport.h
274+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Marshal.h
275+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Mbed/TpmToMbedHash.h
276+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Mbed/TpmToMbedMath.h
277+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Mbed/TpmToMbedSym.h
278+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/MinMax.h
279+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/NV.h
280+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/OIDs.h
281+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/PRNG_TestVectors.h
282+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/AC_GetCapability_fp.h
283+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/AC_Send_fp.h
284+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/AC_spt_fp.h
285+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ActivateCredential_fp.h
286+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ACT_SetTimeout_fp.h
287+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ACT_spt_fp.h
288+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/AlgorithmCap_fp.h
289+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/AlgorithmTests_fp.h
290+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Attest_spt_fp.h
291+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Bits_fp.h
292+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/BnConvert_fp.h
293+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/BnMath_fp.h
294+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/BnMemory_fp.h
295+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CertifyCreation_fp.h
296+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Certify_fp.h
297+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CertifyX509_fp.h
298+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ChangeEPS_fp.h
299+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ChangePPS_fp.h
300+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ClearControl_fp.h
301+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Clear_fp.h
302+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ClockRateAdjust_fp.h
303+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ClockSet_fp.h
304+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CommandAudit_fp.h
305+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CommandCodeAttributes_fp.h
306+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CommandDispatcher_fp.h
307+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Commit_fp.h
308+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ContextLoad_fp.h
309+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ContextSave_fp.h
310+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Context_spt_fp.h
311+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Create_fp.h
312+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CreateLoaded_fp.h
313+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CreatePrimary_fp.h
314+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptCmac_fp.h
315+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptDes_fp.h
316+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptEccCrypt_fp.h
317+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptEccKeyExchange_fp.h
318+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptEccMain_fp.h
319+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptEccSignature_fp.h
320+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptHash_fp.h
321+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptPrime_fp.h
322+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptPrimeSieve_fp.h
323+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptRand_fp.h
324+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptRsa_fp.h
325+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptSelfTest_fp.h
326+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptSmac_fp.h
327+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptSym_fp.h
328+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/CryptUtil_fp.h
329+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/DA_fp.h
330+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/DictionaryAttackLockReset_fp.h
331+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/DictionaryAttackParameters_fp.h
332+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Duplicate_fp.h
333+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ECC_Decrypt_fp.h
334+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ECC_Encrypt_fp.h
335+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ECC_Parameters_fp.h
336+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ECDH_KeyGen_fp.h
337+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ECDH_ZGen_fp.h
338+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EC_Ephemeral_fp.h
339+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EncryptDecrypt2_fp.h
340+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EncryptDecrypt_fp.h
341+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EncryptDecrypt_spt_fp.h
342+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Entity_fp.h
343+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EventSequenceComplete_fp.h
344+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/EvictControl_fp.h
345+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ExecCommand_fp.h
346+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/FieldUpgradeData_fp.h
347+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/FieldUpgradeStart_fp.h
348+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/FirmwareRead_fp.h
349+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/FlushContext_fp.h
350+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetCapability_fp.h
351+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetCommandAuditDigest_fp.h
352+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetRandom_fp.h
353+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetSessionAuditDigest_fp.h
354+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetTestResult_fp.h
355+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/GetTime_fp.h
356+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Handle_fp.h
357+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Hash_fp.h
358+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/HashSequenceStart_fp.h
359+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/HierarchyChangeAuth_fp.h
360+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/HierarchyControl_fp.h
361+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Hierarchy_fp.h
362+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/HMAC_fp.h
363+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/HMAC_Start_fp.h
364+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Import_fp.h
365+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/IncrementalSelfTest_fp.h
366+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/IoBuffers_fp.h
367+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/LoadExternal_fp.h
368+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Load_fp.h
369+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Locality_fp.h
370+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/MAC_fp.h
371+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/MAC_Start_fp.h
372+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/MakeCredential_fp.h
373+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Manufacture_fp.h
374+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Marshal_fp.h
375+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/MathOnByteBuffers_fp.h
376+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Memory_fp.h
377+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_Certify_fp.h
378+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_ChangeAuth_fp.h
379+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_DefineSpace_fp.h
380+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NvDynamic_fp.h
381+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_Extend_fp.h
382+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_GlobalWriteLock_fp.h
383+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_Increment_fp.h
384+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_Read_fp.h
385+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_ReadLock_fp.h
386+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_ReadPublic_fp.h
387+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NvReserved_fp.h
388+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_SetBits_fp.h
389+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_spt_fp.h
390+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_UndefineSpace_fp.h
391+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_UndefineSpaceSpecial_fp.h
392+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_Write_fp.h
393+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/NV_WriteLock_fp.h
394+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ObjectChangeAuth_fp.h
395+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Object_fp.h
396+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Object_spt_fp.h
397+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_Allocate_fp.h
398+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_Event_fp.h
399+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_Extend_fp.h
400+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_fp.h
401+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_Read_fp.h
402+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_Reset_fp.h
403+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_SetAuthPolicy_fp.h
404+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PCR_SetAuthValue_fp.h
405+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Policy_AC_SendSelect_fp.h
406+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyAuthorize_fp.h
407+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyAuthorizeNV_fp.h
408+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyAuthValue_fp.h
409+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyCommandCode_fp.h
410+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyCounterTimer_fp.h
411+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyCpHash_fp.h
412+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyDuplicationSelect_fp.h
413+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyGetDigest_fp.h
414+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyLocality_fp.h
415+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyNameHash_fp.h
416+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyNV_fp.h
417+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyNvWritten_fp.h
418+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyOR_fp.h
419+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyPassword_fp.h
420+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyPCR_fp.h
421+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyPhysicalPresence_fp.h
422+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyRestart_fp.h
423+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicySecret_fp.h
424+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicySigned_fp.h
425+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Policy_spt_fp.h
426+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyTemplate_fp.h
427+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PolicyTicket_fp.h
428+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Power_fp.h
429+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PP_Commands_fp.h
430+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PP_fp.h
431+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/PropertyCap_fp.h
432+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Quote_fp.h
433+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ReadClock_fp.h
434+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ReadPublic_fp.h
435+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ResponseCodeProcessing_fp.h
436+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Response_fp.h
437+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Rewrap_fp.h
438+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/RSA_Decrypt_fp.h
439+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/RSA_Encrypt_fp.h
440+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/RsaKeyCache_fp.h
441+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SelfTest_fp.h
442+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SequenceComplete_fp.h
443+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SequenceUpdate_fp.h
444+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Session_fp.h
445+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SessionProcess_fp.h
446+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SetAlgorithmSet_fp.h
447+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SetCommandCodeAuditStatus_fp.h
448+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/SetPrimaryPolicy_fp.h
449+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Shutdown_fp.h
450+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Sign_fp.h
451+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/StartAuthSession_fp.h
452+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Startup_fp.h
453+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/StirRandom_fp.h
454+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TableDrivenMarshal_fp.h
455+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TestParms_fp.h
456+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Ticket_fp.h
457+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Time_fp.h
458+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmASN1_fp.h
459+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmFail_fp.h
460+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/_TPM_Hash_Data_fp.h
461+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/_TPM_Hash_End_fp.h
462+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/_TPM_Hash_Start_fp.h
463+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/_TPM_Init_fp.h
464+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmSizeChecks_fp.h
465+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmToMbedMath_fp.h
466+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmToMbedSupport_fp.h
467+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/TpmToMbedSym_fp.h
468+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Unseal_fp.h
469+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/Vendor_TCG_Test_fp.h
470+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/VerifySignature_fp.h
471+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/X509_ECC_fp.h
472+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/X509_RSA_fp.h
473+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/X509_spt_fp.h
474+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/prototypes/ZGen_2Phase_fp.h
475+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/RsaTestData.h
476+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/SelfTest.h
477+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/SupportLibraryFunctionPrototypes_fp.h
478+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/swap.h
479+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/SymmetricTestData.h
480+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/SymmetricTest.h
481+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TableMarshalDefines.h
482+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TableMarshal.h
483+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TableMarshalTypes.h
484+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmAlgorithmDefines.h
485+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmASN1.h
486+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TPMB.h
487+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmBuildSwitches.h
488+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmError.h
489+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/Tpm.h
490+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmProfile.h
491+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/TpmTypes.h
492+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/VendorString.h
493+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/tpm/include/X509.h
494+)
495+
496+target_sources(tpm PRIVATE
497+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/Cancel.c
498+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/Clock.c
499+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/DebugHelpers.c
500+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/Entropy.c
501+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/LocalityPlat.c
502+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/NVMem.c
503+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/PlatformACT.c
504+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/PlatformData.c
505+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/PowerPlat.c
506+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/PPPlat.c
507+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/RunCommand.c
508+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/src/Unique.c
509+)
510+
511+target_include_directories(tpm PUBLIC
512+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include>
513+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/prototypes>
514+ $<INSTALL_INTERFACE:include>
515+)
516+
517+set_property(TARGET tpm APPEND PROPERTY PUBLIC_HEADER
518+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/Platform.h
519+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/PlatformACT.h
520+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/PlatformClock.h
521+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/PlatformData.h
522+ ${CMAKE_CURRENT_LIST_DIR}/TPMCmd/Platform/include/prototypes/Platform_fp.h
523+)
524+
525+set(LIB_NAME ms_tpm)
526+set(PKG_CONFIG_FILE "${CMAKE_CURRENT_LIST_DIR}/ms_tpmConfig.cmake.in")
527+
528+# Set default install location if none specified
529+if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
530+ set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "" FORCE)
531+endif()
532+
533+# Specify export name and destinations for install
534+install(TARGETS tpm
535+ EXPORT ${LIB_NAME}_targets
536+ ARCHIVE DESTINATION lib
537+ LIBRARY DESTINATION lib
538+ PUBLIC_HEADER DESTINATION include
539+)
540+
541+# Create targets file.
542+export(EXPORT ${LIB_NAME}_targets
543+ FILE "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Targets.cmake"
544+ NAMESPACE ${LIB_NAME}::
545+)
546+
547+# Create a config file package.
548+include(CMakePackageConfigHelpers)
549+write_basic_package_version_file(
550+ "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}ConfigVersion.cmake"
551+ VERSION 1
552+ COMPATIBILITY SameMajorVersion
553+)
554+
555+# Finalize config file.
556+# Config package location relative to install root.
557+set(ConfigPackageLocation ${CMAKE_INSTALL_PREFIX}/lib/cmake/${LIB_NAME})
558+
559+get_filename_component(_configured_pkgcfg_name "${PKG_CONFIG_FILE}" NAME_WLE)
560+set(_configured_pkgcfg_name "${CMAKE_CURRENT_BINARY_DIR}/${_configured_pkgcfg_name}")
561+configure_package_config_file("${PKG_CONFIG_FILE}" "${_configured_pkgcfg_name}"
562+ INSTALL_DESTINATION ${ConfigPackageLocation}
563+)
564+
565+# Install the export details
566+install(EXPORT ${LIB_NAME}_targets
567+ FILE ${LIB_NAME}Targets.cmake
568+ NAMESPACE ${LIB_NAME}::
569+ DESTINATION ${ConfigPackageLocation}
570+ COMPONENT ${LIB_NAME}
571+)
572+
573+# install config and version files
574+install(FILES "${_configured_pkgcfg_name}" "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}ConfigVersion.cmake"
575+ DESTINATION ${ConfigPackageLocation}
576+ COMPONENT ${LIB_NAME}
577+)
578diff --git a/ms_tpmConfig.cmake.in b/ms_tpmConfig.cmake.in
579new file mode 100644
580index 0000000..da70f71
581--- /dev/null
582+++ b/ms_tpmConfig.cmake.in
583@@ -0,0 +1,10 @@
584+#-------------------------------------------------------------------------------
585+# Copyright (c) 2024, Arm Limited. All rights reserved.
586+#
587+# SPDX-License-Identifier: BSD-3-Clause
588+#
589+#-------------------------------------------------------------------------------
590+
591+@PACKAGE_INIT@
592+
593+include("${CMAKE_CURRENT_LIST_DIR}/ms_tpmTargets.cmake")
594--
5952.34.1
596