boot/espressif: Add hal subdirectory for IDF sources and headers

Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
diff --git a/boot/espressif/CMakeLists.txt b/boot/espressif/CMakeLists.txt
index 8094031..de2b3cf 100644
--- a/boot/espressif/CMakeLists.txt
+++ b/boot/espressif/CMakeLists.txt
@@ -6,11 +6,15 @@
 
 project(mcuboot_${MCUBOOT_TARGET})
 
+add_definitions(-DMCUBOOT_TARGET=${MCUBOOT_TARGET})
+
 if (NOT DEFINED IDF_PATH)
-    if (DEFINED ENV{IDF_PATH})
+    if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/hal/esp-idf")
+        set(IDF_PATH "${CMAKE_CURRENT_LIST_DIR}/hal/esp-idf")
+    elseif (DEFINED ENV{IDF_PATH})
         set(IDF_PATH $ENV{IDF_PATH})
     else()
-        message(FATAL_ERROR "IDF_PATH not found. Please set IDF_PATH environment variable or pass -DIDF_PATH flag.")
+        message(FATAL_ERROR "IDF_PATH not found. Please update submodules or set IDF_PATH environment variable or pass -DIDF_PATH flag.")
     endif()
 endif()
 
@@ -123,6 +127,7 @@
     "-lc"
     )
 
+add_subdirectory(hal)
 add_executable(
     ${APP_EXECUTABLE}
     ${CMAKE_CURRENT_LIST_DIR}/main.c
@@ -156,3 +161,9 @@
     -T${CMAKE_CURRENT_LIST_DIR}/port/${MCUBOOT_TARGET}/ld/bootloader.ld
     ${LDFLAGS}
     )
+
+target_link_libraries(
+    ${APP_EXECUTABLE}
+    PUBLIC
+    hal
+    )