Build: Add conditional build for secure partitions

This is already the mechanism to build secure partitions conditionally.
Only audit log and platform service partitions were using it.
This patch applies it to the reset of the secure partitions and
takes care of the dependencies.

Change-Id: Icc94db113cf90ed20c84c57a52e85756dba342f0
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/CommonConfig.cmake b/CommonConfig.cmake
index f0ce1b6..9d5f175 100644
--- a/CommonConfig.cmake
+++ b/CommonConfig.cmake
@@ -148,6 +148,15 @@
 
 option(TFM_PARTITION_AUDIT_LOG "Enable the TF-M Audit Log partition" ON)
 option(TFM_PARTITION_PLATFORM "Enable the TF-M Platform partition" ON)
+option(TFM_PARTITION_SECURE_STORAGE "Enable the TF-M secure storage partition" ON)
+option(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE "Enable the TF-M internal trusted storage partition" ON)
+option(TFM_PARTITION_CRYPTO "Enable the TF-M crypto partition" ON)
+option(TFM_PARTITION_INITIAL_ATTESTATION "Enable the TF-M initial attestation partition" ON)
+
+if (TFM_PARTITION_INITIAL_ATTESTATION OR TFM_PARTITION_SECURE_STORAGE)
+	#PSA Initial Attestation and Protected storage rely on Cryptography API
+	set(TFM_PARTITION_CRYPTO ON)
+endif()
 
 if(${TARGET_PLATFORM} STREQUAL "AN521" OR ${TARGET_PLATFORM} STREQUAL "AN519" OR ${TARGET_PLATFORM} STREQUAL "AN539")
 	set (REFERENCE_PLATFORM ON)
@@ -264,6 +273,22 @@
 	add_definitions(-DTFM_PARTITION_PLATFORM)
 endif()
 
+if (TFM_PARTITION_SECURE_STORAGE)
+	add_definitions(-DTFM_PARTITION_SECURE_STORAGE)
+endif()
+
+if (TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
+	add_definitions(-DTFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
+endif()
+
+if (TFM_PARTITION_CRYPTO)
+	add_definitions(-DTFM_PARTITION_CRYPTO)
+endif()
+
+if (TFM_PARTITION_INITIAL_ATTESTATION)
+	add_definitions(-DTFM_PARTITION_INITIAL_ATTESTATION)
+endif()
+
 if (TFM_PARTITION_TEST_CORE)
 	add_definitions(-DTFM_PARTITION_TEST_CORE)
 endif()