Build: Split NS and Secure regression tests build

Seperate NS and Secure regressin test builds.

  - TF-M secure build integrates secure regression tests and test
    services via test/secure_regression.
  - Non-secure regression tests are built via test/ns_regression.
  - Pass tf-m-tests test config to TF-M secure build via argument
    CONFIG_TFM_TEST_CONFIG_FILE.
  - Fix issues when no regression test is enabled.

Signed-off-by: David Hu <david.hu@arm.com>
Change-Id: I1e550bf6d6a36a220275743c3312a61f7ae2c78e
diff --git a/app_broker/CMakeLists.txt b/app_broker/CMakeLists.txt
index 2933833..08ffb89 100644
--- a/app_broker/CMakeLists.txt
+++ b/app_broker/CMakeLists.txt
@@ -30,9 +30,6 @@
 # lib parth
 set(APP_LIB_DIR                  ${CMAKE_CURRENT_LIST_DIR}/../lib)
 
-# TF-M logging
-add_subdirectory(${APP_LIB_DIR}/log    ${CMAKE_CURRENT_BINARY_DIR}/lib/log)
-
 # OS wrapper library consists of the wrapper layer of RTOSes, such as RTX
 add_library(os_wrapper STATIC)
 
@@ -113,6 +110,24 @@
     )
 endif()
 
+# TF-M ns logging
+add_library(tfm_ns_log STATIC EXCLUDE_FROM_ALL)
+
+target_sources(tfm_ns_log
+    PRIVATE
+        ${APP_LIB_DIR}/log/tfm_log_raw.c
+)
+
+target_include_directories(tfm_ns_log
+    PUBLIC
+        ${APP_LIB_DIR}/log/
+)
+
+target_link_libraries(tfm_ns_log
+    PRIVATE
+        platform_ns
+)
+
 ################## Update plaform_ns with NS settings #################
 
 target_include_directories(platform_ns
@@ -166,6 +181,11 @@
     PUBLIC
         RTX_OS
         tfm_api_ns
-        tfm_log
+        tfm_ns_log
         $<$<BOOL:${TFM_PARTITION_NS_AGENT_MAILBOX}>:ns_multi_core>
 )
+
+target_compile_definitions(tfm_test_broker
+    PUBLIC
+        $<$<BOOL:${TFM_NS_REG_TEST}>:TFM_NS_REG_TEST>
+)