3232cmake_minimum_required (VERSION 3.16 )
3333include (cmake/config_defaults.cmake )
3434
35+
3536# ------------------------------------------------------------------------------
3637# Initial environment checks
3738# ------------------------------------------------------------------------------
@@ -44,6 +45,7 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
4445 You must delete them, or cmake will refuse to work." )
4546endif ()
4647
48+ # This must appear before project(wolfBoot)
4749if (NOT DEFINED CMAKE_TOOLCHAIN_FILE )
4850 if (DEFINED WOLFBOOT_TARGET AND
4951 NOT WOLFBOOT_TARGET STREQUAL "x86_64_efi" AND
@@ -54,13 +56,26 @@ if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
5456 endif ()
5557endif ()
5658
59+
5760# ------------------------------------------------------------------------------
5861# ------------------------------------------------------------------------------
5962project (wolfBoot)
6063# ------------------------------------------------------------------------------
6164# ------------------------------------------------------------------------------
6265include (cmake/functions.cmake )
6366
67+ # include(cmake/cube_ide_config.cmake)
68+
69+ # Some OS-specific checks and configs
70+ if (CMAKE_HOST_WIN32 )
71+ include (cmake/vs2022_config.cmake )
72+ endif ()
73+
74+ if (WOLFBOOT_TARGET STREQUAL "stm32l4" AND NOT FOUND_STM32L4_LIB)
75+ include (cmake/stm32_hal_download.cmake )
76+ endif ()
77+
78+
6479# set(CMAKE_C_STANDARD_INCLUDE_DIRECTORIES "" CACHE STRING "" FORCE)
6580
6681# ---- Host compiler (for native tools only) -----------------------------------
@@ -900,24 +915,37 @@ target_sources(wolfboothal PRIVATE include/hal.h hal/${WOLFBOOT_TARGET}.c ${WOLF
900915
901916
902917# --- HAL for STM32L4 (only the pieces we need) ---
918+ # TODO move this to preset and/or cmake dir
903919if (WOLFBOOT_TARGET STREQUAL "stm32l4" )
904920 if (CMAKE_HOST_WIN32 AND IS_DIRECTORY "${LIB_STM32L4_WINDOWS} " )
905921 message (STATUS "Win32 Path found: ${LIB_STM32L4_WINDOWS} " )
906922 set (HAL_BASE "${LIB_STM32L4_WINDOWS} " )
907923 elseif (IS_DIRECTORY "${LIB_STM32L4_WSL} " )
908924 message (STATUS "WSL Path found: ${LIB_STM32L4_WSL} " )
909925 set (HAL_BASE "${LIB_STM32L4_WSL} " )
910- else ()
911- message (STATUS "STM32L4 Path not found" )
912- set (HAL_BASE "" )
913926 endif ()
914927
915- if (true )
916-
917- set (HAL_DRV "${HAL_BASE} /STM32L4xx_HAL_Driver" )
918- set (HAL_CMSIS_DEV "${HAL_BASE} /CMSIS_HAL/Device/ST/STM32L4xx/Include" )
919- set (HAL_CMSIS_CORE "${HAL_BASE} /CMSIS_HAL/Include" )
920- set (HAL_TEMPLATE_INC "${HAL_BASE} /VendorSamples/L4/Projects/B-L475E-IOT01A/Templates/Inc" )
928+ # HAL_BASE "C:/Users/${CURRENT_USER}/AppData/Local/VisualGDB/EmbeddedBSPs/arm-eabi/com.sysprogs.arm.stm32/STM32L4xxxx"
929+ #
930+ #1> [CMake] -- Found directory: C:/Users/gojimmypi/STM32Cube/Repository/STM32Cube_FW_L4_V1.18.0/Drivers/STM32L4xx_HAL_Driver (set HAL_DRV)
931+ #1> [CMake] -- Directory not found: C:/Users/gojimmypi/STM32Cube/Repository/STM32Cube_FW_L4_V1.18.0/CMSIS_HAL/Device/ST/STM32L4xx/Include (set HAL_CMSIS_DEV)
932+ #1> [CMake] -- Directory not found: C:/Users/gojimmypi/STM32Cube/Repository/STM32Cube_FW_L4_V1.18.0/CMSIS_HAL/Include (set HAL_CMSIS_CORE)
933+ #1> [CMake] -- Found directory: C:/Users/gojimmypi/STM32Cube/Repository/STM32Cube_FW_L4_V1.18.0/Projects/B-L475E-IOT01A/Templates/Inc (set HAL_TEMPLATE_INC)
934+ #1> [CMake] -- HAL_DRV=C:/Users/gojimmypi/STM32Cube/Repository/STM32Cube_FW_L4_V1.18.0/Drivers/STM32L4xx_HAL_Driver
935+ if (NOT HAL_BASE STREQUAL "" )
936+ if (false )
937+ # VisualGDB
938+ set_and_echo_dir (HAL_DRV "${HAL_BASE} /Drivers/STM32L4xx_HAL_Driver" )
939+ set_and_echo_dir (HAL_CMSIS_DEV "${HAL_BASE} /CMSIS_HAL/Device/ST/STM32L4xx/Include" )
940+ set_and_echo_dir (HAL_CMSIS_CORE "${HAL_BASE} /CMSIS_HAL/Include" )
941+ set_and_echo_dir (HAL_TEMPLATE_INC "${HAL_BASE} /VendorSamples/L4/Projects/B-L475E-IOT01A/Templates/Inc" )
942+ else ()
943+ # CubeIDE
944+ # set_and_echo_dir(HAL_DRV "${HAL_BASE}/Drivers/STM32L4xx_HAL_Driver")
945+ # set_and_echo_dir(HAL_CMSIS_DEV "${HAL_BASE}/Drivers/CMSIS/Device/ST/STM32L4xx/Include")
946+ # set_and_echo_dir(HAL_CMSIS_CORE "${HAL_BASE}/Drivers/CMSIS/Include")
947+ # set_and_echo_dir(HAL_TEMPLATE_INC "${HAL_BASE}/Projects/B-L475E-IOT01A/Templates/Inc")
948+ endif ()
921949 endif ()
922950
923951 message (STATUS "HAL_DRV=${HAL_DRV} " )
0 commit comments