MLECO-2921: Minor changes for HAL projects

Ensuring individual HAL projects can be configured without the
need to be wrapped. Tests can now be added to build individual
components and check for any unintended dependencies creeping
in.

Change-Id: I057699c3c3cc0fc280615db30a25fbe4c28ae8ea
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
diff --git a/source/hal/source/components/lcd/CMakeLists.txt b/source/hal/source/components/lcd/CMakeLists.txt
index 7378713..d260091 100644
--- a/source/hal/source/components/lcd/CMakeLists.txt
+++ b/source/hal/source/components/lcd/CMakeLists.txt
@@ -52,6 +52,14 @@
     PRIVATE
     CLCD_CONFIG_BASE=${CLCD_CONFIG_BASE})
 
+## Logging utilities:
+if (NOT TARGET log)
+    if (NOT DEFINED LOG_PROJECT_DIR)
+        message(FATAL_ERROR "LOG_PROJECT_DIR needs to be defined.")
+    endif()
+    add_subdirectory(${LOG_PROJECT_DIR} ${CMAKE_BINARY_DIR}/log)
+endif()
+
 ## Add dependencies
 target_link_libraries(${LCD_MPS3_COMPONENT_TARGET} PUBLIC
     ${LCD_IFACE_TARGET}