| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 |
- # For information about why and how of this file: https://cmake.org/cmake/help/latest/command/find_package.html
- ### F0 ###
- set(BSP_F0_BOARDS
- STM32F0xx_Nucleo_32 STM32F0xx-Nucleo STM32F072B-Discovery
- STM32F0308-Discovery STM32072B_EVAL STM32091C_EVAL
- )
- set(BSP_F0_COMPONENTS
- hx8347d l3gd20 spfd5408 st7735 stlm75
- )
- set(BSP_F0_SOURCES_STM32F072B_Discovery eeprom gyroscope)
- set(BSP_F0_SOURCES_STM32072B_EVAL eeprom lcd sd tsensor)
- set(BSP_F0_SOURCES_STM32091C_EVAL eeprom lcd sd tsensor)
- set(BSP_F0_DEVICE_STM32F072B_Discovery F072RB)
- set(BSP_F0_DEVICE_STM32F0308_Discovery F030R8)
- set(BSP_F0_DEVICE_STM32072B_EVAL F072VB)
- set(BSP_F0_DEVICE_STM32091C_EVAL F091VC)
- ### F1 ###
- set(BSP_F1_BOARDS
- STM32F1xx_Nucleo STM32VL-Discovery STM3210C_EVAL STM3210E_EVAL
- )
- set(BSP_F1_COMPONENTS
- ak4343 cs43l22 hx8347d ili9320 ili9325 lis302dl spfd5408 st7735 stlm75
- stmpe811
- )
- set(BSP_F1_SOURCES_STM3210C_EVAL accelerometer audio eeprom io lcd sd ts)
- set(BSP_F1_SOURCES_STM3210E_EVAL audio lcd nand nor sd serialflash sram tsensor)
- set(BSP_F1_DEVICE_STM32VL_Discovery F100RB)
- set(BSP_F1_DEVICE_STM3210C_EVAL F107VC)
- set(BSP_F1_DEVICE_STM3210E_EVAL F103ZE)
- ### F2 ###
- set(BSP_F2_BOARDS
- STM32F2xx_Nucleo_144 STM322xG_EVAL
- )
- set(BSP_F2_COMPONENTS
- cs43l22 ili9320 ili9325 ili9341 ov2640 st7735 stmpe811
- )
- set(BSP_F2_SOURCES_STM322xG_EVAL audio camera eeprom io lcd sd sram ts)
- set(BSP_F2_DEVICE_STM322xG_EVAL F207IG)
- ### F3 ###
- set(BSP_F3_BOARDS
- STM32F3-Discovery STM32F3xx_Nucleo_32 STM32F3xx_Nucleo_144 STM32F3xx-Nucleo
- STM32F3348-Discovery STM32303C_EVAL STM32303E_EVAL STM32373C_EVAL
- )
- set(BSP_F3_COMPONENTS
- cs42l52 cs43l22 hx8347d hx8347g hx8347i ili9320 ili9325 ili9328 l3gd20
- lsm303dlhc spfd5408 st7735 stts751
- )
- set(BSP_F3_SOURCES_STM32F3_Discovery accelerometer gyroscope)
- set(BSP_F3_SOURCES_STM32303C_EVAL audio eeprom lcd sd tsensor)
- set(BSP_F3_SOURCES_STM32303E_EVAL audio eeprom lcd sd tsensor)
- set(BSP_F3_SOURCES_STM32373C_EVAL audio eeprom lcd sd tsensor)
- set(BSP_F3_DEVICE_STM32F3_Discovery F303VC)
- set(BSP_F3_DEVICE_STM32F3348_Discovery F334C8)
- set(BSP_F3_DEVICE_STM32303C_EVAL F303VC)
- set(BSP_F3_DEVICE_STM32303E_EVAL F303VE)
- set(BSP_F3_DEVICE_STM32373C_EVAL F373VC)
- ### F4 ###
- set(BSP_F4_BOARDS
- STM32F4-Discovery STM32F4xx_Nucleo_144 STM32F4xx-Nucleo STM32F401-Discovery
- STM32F411E-Discovery STM32F413H-Discovery STM32F429I-Discovery
- STM324x9I_EVAL STM324xG_EVAL STM32412G-Discovery STM32446E_EVAL
- STM32469I_EVAL STM32469I-Discovery
- )
- set(BSP_F4_COMPONENTS
- ampire480272 ampire640480 cs43l22 exc7200 ft6x06 ili9325 ili9341 l3gd20
- lis3dsh lis302dl ls016b8uy lsm303dlhc mfxstm32l152 n25q128a n25q256a
- n25q512a otm8009a ov2640 s5k5cag s25fl512s st7735 st7789h2 stmpe811
- stmpe1600 ts3510 wm8994
- )
- set(BSP_F4_SOURCES_STM32F4_Discovery accelerometer audio)
- set(BSP_F4_SOURCES_STM32F401_Discovery accelerometer audio gyroscope)
- set(BSP_F4_SOURCES_STM32F411E_Discovery accelerometer audio gyroscope)
- set(BSP_F4_SOURCES_STM32F413H_Discovery audio lcd psram qspi sd ts)
- set(BSP_F4_SOURCES_STM32F429I_Discovery eeprom gyroscope io lcd sdram ts)
- set(BSP_F4_SOURCES_STM324x9I_EVAL audio camera eeprom io lcd nor sd sdram sram ts)
- set(BSP_F4_SOURCES_STM324xG_EVAL audio camera eeprom io lcd sd sram ts)
- set(BSP_F4_SOURCES_STM32412G_Discovery audio eeprom lcd qspi sd ts)
- set(BSP_F4_SOURCES_STM3232446E_EVAL audio camera eeprom io lcd qspi sd sdram ts)
- set(BSP_F4_SOURCES_STM32469I_EVAL audio camera eeprom io lcd nor qspi sd sdram sram ts)
- set(BSP_F4_SOURCES_STM32469I_Discovery audio eeprom lcd qspi sd sdram ts)
- set(BSP_F4_DEVICE_STM32F4_Discovery F407VG)
- set(BSP_F4_DEVICE_STM32F401_Discovery F401VC)
- set(BSP_F4_DEVICE_STM32F411E_Discovery F411VE)
- set(BSP_F4_DEVICE_STM32F413H_Discovery F413ZH)
- set(BSP_F4_DEVICE_STM32F429I_Discovery F429ZI)
- set(BSP_F4_DEVICE_STM324x9I_EVAL F429NI)
- set(BSP_F4_DEVICE_STM324xG_EVAL F407IG)
- set(BSP_F4_DEVICE_STM32412G_Discovery F412ZG)
- set(BSP_F4_DEVICE_STM32446E_EVAL F446ZE)
- set(BSP_F4_DEVICE_STM32469I_EVAL F469NI)
- set(BSP_F4_DEVICE_STM32469I_Discovery F469NI)
- ### F7 ###
- set(BSP_F7_BOARDS
- STM32F7xx_Nucleo_144 STM32F723E-Discovery STM32F769I_EVAL
- STM32F769I-Discovery STM32F7308-Discovery STM32F7508-Discovery
- STM32746G-Discovery STM32756G_EVAL
- )
- set(BSP_F7_COMPONENTS
- adv7533 ampire480272 ampire640480 exc7200 ft6x06 ft5336 mfxstm32l152
- mx25l512 n25q128a n25q512a otm8009a ov5640 ov9655 rk043fn48h s5k5cag st7735
- st7789h2 stmpe811 ts3510 wm8994
- )
- set(BSP_F7_SOURCES_STM32F723E_Discovery audio lcd psram qspi ts)
- set(BSP_F7_SOURCES_STM32F769I_EVAL audio camera eeprom io lcd nor qspi sd sdram sram ts)
- set(BSP_F7_SOURCES_STM32F769I_Discovery audio eeprom lcd qspi sd sdram ts)
- set(BSP_F7_SOURCES_STM32F7308_Discovery audio lcd psram qspi ts)
- set(BSP_F7_SOURCES_STM32F7508_Discovery audio camera eeprom lcd qspi sd sdram ts)
- set(BSP_F7_SOURCES_STM32746G_Discovery audio camera eeprom lcd qspi sd sdram ts)
- set(BSP_F7_SOURCES_STM32756G_EVAL audio camera eeprom io lcd nor qspi sd sdram sram ts)
- set(BSP_F7_DEVICE_STM32F723E_Discovery F723IE)
- set(BSP_F7_DEVICE_STM32F769I_EVAL F769NI)
- set(BSP_F7_DEVICE_STM32F769I_Discovery F769NI)
- set(BSP_F7_DEVICE_STM32F7308_Discovery F730I8)
- set(BSP_F7_DEVICE_STM32F7508_Discovery F750N8)
- set(BSP_F7_DEVICE_STM32746G_Discovery F746NG)
- set(BSP_F7_DEVICE_STM32756G_EVAL F756NG)
- ### G0 ###
- set(BSP_G0_BOARDS
- STM32G0xx_Nucleo STM32G0xx_Nucleo_32 STM32G071B-Discovery STM32G081B_EVAL
- STM32G0316-Discovery
- )
- set(BSP_G0_COMPONENTS
- hx8347d ina230 sn65dp141 ssd1315 st7735 stlm75 tusb546
- )
- set(BSP_G0_DIR_STM32G0316_Discovery STM32G0316-DISCO)
- set(BSP_G0_SOURCES_STM32G071B_Discovery lcd pwr pwrmon)
- set(BSP_G0_SOURCES_STM32G081B_EVAL lcd mux pwr sd tsensor)
- set(BSP_G0_DEVICE_STM32G071B_Discovery G071RB)
- set(BSP_G0_DEVICE_STM32G081B_EVAL G081RB)
- set(BSP_G0_DEVICE_STM32G0316_Discovery G031J6)
- ### G4 ###
- set(BSP_G4_BOARDS
- B-G474E-DPOW1 STM32G4xx_Nucleo STM32G474E-EVAL
- )
- set(BSP_G4_COMPONENTS
- hx8347d mfxstm32l152 mt25ql512abb st7735 stts751 wm8994
- )
- set(BSP_G4_SOURCES_B-G474E-DPOW1 usbpd_pwr)
- set(BSP_G4_SOURCES_STM32G481B_EVAL audio bus env_sensor idd io lcd qspi sd smartcard sram usbpd_pwr)
- set(BSP_G4_DEVICE_B_G474E_DPOW1 G474RE)
- set(BSP_G4_DEVICE_STM32G474E_EVAL G474QE)
- ### H7 ###
- set(BSP_H7_BOARDS
- STM32H7B3I-Discovery STM32H7B3I-EVAL STM32H7xx_Nucleo STM32H743I-EVAL
- STM32H745I-Discovery STM32H747I-Discovery STM32H747I-EVAL
- STM32H750B-Discovery
- )
- set(BSP_H7_COMPONENTS
- adv7533 ampire480272 ampire640480 cs42l51 es_wifi exc7200 ft6x06 ft5336
- is42s16800j is42s32800g is42s32800j lan8742 m24lr64 mfxstm32l152
- mt25tl01g mt48lc4m32b2 mx25lm51245g otm8009a ov5640 ov9655 rk043fn48h
- rk070er9427 s5k5cag st7735 stmpe811 ts3510 wm8994
- )
- set(BSP_H7_DIR_STM32H7B3I_Discovery STM32H7B3I-DK)
- set(BSP_H7_DIR_STM32H745I_Discovery STM32H745I-DISCO)
- set(BSP_H7_DIR_STM32H747I_Discovery STM32H747I-DISCO)
- set(BSP_H7_DIR_STM32H750B_Discovery STM32H750B-DK)
- set(BSP_H7_SOURCES_STM32H7B3I_Discovery audio bus camera eeprom lcd ospi sd sdram ts)
- set(BSP_H7_SOURCES_STM32H7B3I_EVAL audio bus camera eeprom io lcd nor ospi sd sdram sram ts)
- set(BSP_H7_SOURCES_STM32H743I_EVAL audio bus eeprom io lcd nor qspi sd sdram sram ts)
- set(BSP_H7_SOURCES_STM32H745I_Discovery audio bus lcd mmc qspi sdram ts)
- set(BSP_H7_SOURCES_STM32H747I_Discovery audio bus camera lcd qspi sd sdram ts)
- set(BSP_H7_SOURCES_STM32H747I_EVAL audio bus eeprom io lcd nor qspi sd sdram sram ts)
- set(BSP_H7_SOURCES_STM32H750B_Discovery audio bus lcd mmc qspi sdram ts)
- set(BSP_H7_DEVICE_STM32H7B3I_Discovery H7B3LI)
- set(BSP_H7_DEVICE_STM32H7B3I_EVAL H7B3LI)
- set(BSP_H7_DEVICE_STM32H743I_EVAL H743XI)
- set(BSP_H7_DEVICE_STM32H745I_Discovery H745XI)
- set(BSP_H7_DEVICE_STM32H747I_Discovery H747XI)
- set(BSP_H7_DEVICE_STM32H747I_EVAL H743XI)
- set(BSP_H7_DEVICE_STM32H750B_Discovery H750XB)
- ### L0 ###
- set(BSP_L0_BOARDS
- STM32L0xx_Nucleo STM32L0xx_Nucleo_32 STM32L073Z_EVAL STM32L0538-Discovery
- )
- set(BSP_L0_COMPONENTS
- gde021a1 hx8347d mfxstm32l152 st7735 stlm75
- )
- set(BSP_L0_SOURCES_STM32L073Z_EVAL eeprom glass_lcd idd io lcd sd tsensor)
- set(BSP_L0_SOURCES_STM32L0538_Discovery epd)
- set(BSP_L0_DEVICE_STM32L073Z_EVAL L073VZ)
- set(BSP_L0_DEVICE_STM32L0538_Discovery L053C8)
- ### L1 ###
- set(BSP_L1_BOARDS
- STM32L1xx_Nucleo STM32L100C-Discovery STM32L152C-Discovery STM32L152D_EVAL
- )
- set(BSP_L1_COMPONENTS
- cs43l22 hx8347d ili9320 ili9325 spfd5408 st7735 stlm75
- )
- set(BSP_L1_SOURCES_STM32L152C_Discovery glass_lcd)
- set(BSP_L1_SOURCES_STM32L152D_EVAL audio eeprom audio glass_lcd lcd nor sd sram tsensor)
- set(BSP_L1_DEVICE_STM32L100C_Discovery L100RC)
- set(BSP_L1_DEVICE_STM32L152C_Discovery L152RC)
- set(BSP_L1_DEVICE_STM32L152D_EVAL L152ZD)
- ### L4 ###
- set(BSP_L4_BOARDS
- STM32L475E-IOT01 STM32L4P5G-Discovery STM32L4R9I_EVAL STM32L4R9I-Discovery
- STM32L4xx_Nucleo STM32L4xx_Nucleo_32 STM32L4xx_Nucleo_144 STM32L476G_EVAL
- STM32L476G-Discovery STM32L496G-Discovery
- )
- set(BSP_L4_COMPONENTS
- cs42l51 cs43l22 cy8c4014lqi ft3x67 ft6x06 ft5336 hts221 hx8347g hx8347i
- iss66wvh8m8 l3gd20 lis3mdl lps22hb ls016b8uy lsm6dsl lsm303c lsm303dlhc
- m24sr mfxstm32l152 mx25lm51245g mx25r6435f n25q128a n25q256a ov9655
- rk043fn48h st7735 st7789h2 stmpe811 stmpe1600 wm8994
- )
- set(BSP_L4_SOURCES_B_L475E_IOT01 accelerometer gyro hsensor magneto psensor qspi tsensor iot01)
- set(BSP_L4_SOURCES_STM32L4P5G_Discovery idd io lcd mmc ospi_nor psram ts)
- set(BSP_L4_SOURCES_STM32L4R9I_EVAL audio dsi_lcd dsi_ts eeprom idd io nor ospi_nor ospi_ram rgb_ts sd sram)
- set(BSP_L4_SOURCES_STM32L4R9I_Discovery audio camera idd io lcd ospi_nor psram sd ts)
- set(BSP_L4_SOURCES_STM32L476G_EVAL audio eeprom glass_lcd idd io lcd nor qspi sd sram ts)
- set(BSP_L4_SOURCES_STM32L476G_Discovery audio compass glass_lcd gyroscope qspi)
- set(BSP_L4_SOURCES_STM32L496G_Discovery audio camera idd io lcd qspi sd sram ts)
- set(BSP_L4_DIR_STM32L475E_IOT01 B-L475E-IOT01)
- set(BSP_L4_DEVICE_STM32L475E_IOT01 L475VG)
- set(BSP_L4_DEVICE_STM32L4P5G_Discovery L4P5AG)
- set(BSP_L4_DEVICE_STM32L4R9I_EVAL L4R9AI)
- set(BSP_L4_DEVICE_STM32L4R9I_Discovery L4R9AI)
- set(BSP_L4_DEVICE_STM32L476G_EVAL L476ZG)
- set(BSP_L4_DEVICE_STM32L476G_Discovery L476VG)
- set(BSP_L4_DEVICE_STM32L496G_Discovery L496AG)
- ### L5 ###
- set(BSP_L5_BOARDS
- STM32L552E_EVAL STM32L562E-Discovery STM32L5xx_Nucleo_144
- )
- set(BSP_L5_COMPONENTS
- cs42l51 ft6x06 hx8347i iss66wvh8m8 lsm6dso mfxstm32l152 mx25lm51245g
- st7789h2 stmpe811
- )
- set(BSP_L5_SOURCES_STM32L562E_Discovery audio bus idd lcd motion_sensor ospi sd ts usbpd_pwr)
- set(BSP_L5_SOURCES_STM32L552E_EVAL audio bus idd io lcd ospi sd sram ts usbpd_pwr)
- set(BSP_L5_DEVICE_STM32L562E_Discovery L562QE)
- set(BSP_L5_DEVICE_STM32L552E_EVAL L552ZE)
- ### MP1 ###
- set(BSP_MP1_BOARDS
- STM32MP15xx_DISCO STM32MP15xx_EVAL)
- set(BSP_MP1_COMPONENTS )
- set(BSP_MP1_SOURCES_STM32MP15xx_DISCO bus stpmic1)
- set(BSP_MP1_SOURCES_STM32MP15xx_EVAL bus stpmic1)
- ### U0 ###
- set(BSP_U0_BOARDS
- STM32U0xx_Nucleo STM32U083C_Discovery
- )
- set(BSP_U0_COMPONENTS
- stts22h
- )
- set(BSP_U0_SOURCES_STM32U083C_Discovery stts22h)
- set(BSP_U0_DEVICE_STM32U083C_Discovery U083CC)
- ### WB ###
- set(BSP_WB_BOARDS
- STM32WB15CC_Nucleo STM32WB55_Nucleo STM32WB55_USBDongle STM32WB5MM_Discovery
- )
- set(BSP_WB_COMPONENTS
- ism330dhcx s25fl128s ssd1315 stts22h
- )
- set(BSP_WB_DIR_STM32WB5MM_Discovery STM32WB5MM-DK)
- set(BSP_WB_SOURCES_STM32WB5MM_Discovery audio bus env_sensors env_sensors_ex lcd motion_sensors motion_sensors_ex qspi)
- set(BSP_WB_DEVICE_STM32WB5MM_Discovery WB5MMG)
- ### WL ###
- set(BSP_WL_BOARDS
- STM32WLxx_Nucleo
- )
- if(NOT BSP_FIND_COMPONENTS)
- set(BSP_FIND_COMPONENTS ${STM32_SUPPORTED_FAMILIES_LONG_NAME})
- endif()
- if(STM32H7 IN_LIST BSP_FIND_COMPONENTS)
- list(REMOVE_ITEM BSP_FIND_COMPONENTS STM32H7)
- list(APPEND BSP_FIND_COMPONENTS STM32H7_M7 STM32H7_M4)
- endif()
- if(STM32WB IN_LIST BSP_FIND_COMPONENTS)
- list(REMOVE_ITEM BSP_FIND_COMPONENTS STM32WB)
- list(APPEND BSP_FIND_COMPONENTS STM32WB_M4)
- endif()
- if(STM32WL IN_LIST BSP_FIND_COMPONENTS)
- list(REMOVE_ITEM BSP_FIND_COMPONENTS STM32WL)
- list(APPEND BSP_FIND_COMPONENTS STM32WL_M4 STM32WL_M0PLUS)
- endif()
- if(STM32MP1 IN_LIST BSP_FIND_COMPONENTS)
- list(REMOVE_ITEM BSP_FIND_COMPONENTS STM32MP1)
- list(APPEND BSP_FIND_COMPONENTS STM32MP1_M4)
- endif()
- list(REMOVE_DUPLICATES BSP_FIND_COMPONENTS)
- foreach(COMP ${BSP_FIND_COMPONENTS})
- string(TOLOWER ${COMP} COMP_L)
- string(TOUPPER ${COMP} COMP_U)
-
- string(REGEX MATCH "^STM32([CFGHLMUW]P?[0-9BL])([0-9A-Z][0-9M][A-Z][0-9A-Z])?_?(M0PLUS|M4|M7)?.*$" COMP_U ${COMP_U})
- if(NOT CMAKE_MATCH_1)
- message(FATAL_ERROR "Unknown BSP component: ${COMP}")
- endif()
-
- if(CMAKE_MATCH_3)
- set(CORE ${CMAKE_MATCH_3})
- set(CORE_C "::${CORE}")
- set(CORE_U "_${CORE}")
- else()
- unset(CORE)
- unset(CORE_C)
- unset(CORE_U)
- endif()
- set(FAMILY ${CMAKE_MATCH_1})
- string(TOLOWER ${FAMILY} FAMILY_L)
-
- if((NOT STM32_CUBE_${FAMILY}_PATH) AND (DEFINED ENV{STM32_CUBE_${FAMILY}_PATH))
- set(STM32_CUBE_${FAMILY}_PATH $ENV{STM32_CUBE_${FAMILY}_PATH} CACHE PATH "Path to STM32Cube${FAMILY}")
- message(STATUS "ENV STM32_CUBE_${FAMILY}_PATH specified, using STM32_CUBE_${FAMILY}_PATH: ${STM32_CUBE_${FAMILY}_PATH}")
- endif()
- if(NOT STM32_CUBE_${FAMILY}_PATH)
- set(STM32_CUBE_${FAMILY}_PATH /opt/STM32Cube${FAMILY} CACHE PATH "Path to STM32Cube${FAMILY}")
- message(STATUS "No STM32_CUBE_${FAMILY}_PATH specified using default: ${STM32_CUBE_${FAMILY}_PATH}")
- endif()
- set(BSP_${FAMILY}_PATH "${STM32_CUBE_${FAMILY}_PATH}/Drivers/BSP")
- if(NOT EXISTS ${BSP_${FAMILY}_PATH})
- continue()
- endif()
-
- set(BSP_${FAMILY}_INCLUDE "${BSP_${FAMILY}_PATH}/Components/Common")
-
- add_library(BSP::STM32::${FAMILY}${CORE_C} INTERFACE IMPORTED)
- target_link_libraries(BSP::STM32::${FAMILY}${CORE_C} INTERFACE STM32::${FAMILY}${CORE_C})
- target_include_directories(BSP::STM32::${FAMILY}${CORE_C} INTERFACE "${BSP_${FAMILY}_PATH}/Components/Common")
-
- foreach(BOARD ${BSP_${FAMILY}_BOARDS})
- string(REPLACE "-" "_" BOARD_CANONICAL ${BOARD})
- string(TOLOWER ${BOARD_CANONICAL} BOARD_CANONICAL_L)
- set(BOARD_DEVICE ${BSP_${FAMILY}_DEVICE_${BOARD_CANONICAL}})
-
- stm32_get_cores(DEV_CORES FAMILY ${FAMILY} DEVICE ${BOARD_DEVICE})
- if(CORE AND (NOT ${CORE} IN_LIST DEV_CORES))
- continue()
- endif()
- find_path(BSP_${BOARD_CANONICAL}_PATH
- NAMES ${BOARD_CANONICAL_L}.h
- PATHS "${BSP_${FAMILY}_PATH}/${BOARD}" "${BSP_${FAMILY}_PATH}/${BSP_${FAMILY}_DIR_${BOARD_CANONICAL}}"
- NO_DEFAULT_PATH
- )
- if (NOT EXISTS ${BSP_${BOARD_CANONICAL}_PATH})
- continue()
- endif()
-
- add_library(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE IMPORTED)
- target_link_libraries(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE BSP::STM32::${FAMILY}${CORE_C} CMSIS::STM32::${FAMILY}${CORE_C})
- target_include_directories(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE "${BSP_${BOARD_CANONICAL}_PATH}")
- target_sources(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE "${BSP_${BOARD_CANONICAL}_PATH}/${BOARD_CANONICAL_L}.c")
-
- foreach(SRC ${BSP_${FAMILY}_SOURCES_${BOARD_CANONICAL}})
- target_sources(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE "${BSP_${BOARD_CANONICAL}_PATH}/${BOARD_CANONICAL_L}_${SRC}.c")
- endforeach()
- if(BSP_${FAMILY}_DEVICE_${BOARD_CANONICAL})
- target_link_libraries(BSP::STM32::${BOARD_CANONICAL}${CORE_C} INTERFACE CMSIS::STM32::${BSP_${FAMILY}_DEVICE_${BOARD_CANONICAL}}${CORE_C})
- endif()
- endforeach()
-
- foreach(BCOMP ${BSP_${FAMILY}_COMPONENTS})
- string(TOLOWER ${BCOMP} BCOMP_L)
- string(TOUPPER ${BCOMP} BCOMP_U)
-
- add_library(BSP::STM32::${FAMILY}${CORE_C}::${BCOMP_U} INTERFACE IMPORTED)
- target_link_libraries(BSP::STM32::${FAMILY}${CORE_C}::${BCOMP_U} INTERFACE BSP::STM32::${FAMILY}${CORE_C} CMSIS::STM32::${FAMILY}${CORE_C})
- target_include_directories(BSP::STM32::${FAMILY}${CORE_C}::${BCOMP_U} INTERFACE "${BSP_${FAMILY}_PATH}/Components/${BCOMP}")
-
- find_file(BSP_${BOARD_CANONICAL}_${BCOMP}_SOURCE
- NAMES ${BCOMP}.c
- PATHS "${BSP_${FAMILY}_PATH}/Components/${BCOMP}"
- NO_DEFAULT_PATH
- )
- if (BSP_${BOARD_CANONICAL}_${BCOMP}_SOURCE)
- target_sources(BSP::STM32::${FAMILY}${CORE_C}::${BCOMP_U} INTERFACE "${BSP_${BOARD_CANONICAL}_${BCOMP}_SOURCE}")
- endif()
- endforeach()
-
- set(BSP_${COMP}_FOUND TRUE)
-
- if(BSP_${COMP}_FOUND)
- list(APPEND BSP_INCLUDE_DIRS "${BSP_${FAMILY}_INCLUDE}")
- endif()
- endforeach()
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(BSP
- REQUIRED_VARS BSP_INCLUDE_DIRS
- FOUND_VAR BSP_FOUND
- HANDLE_COMPONENTS
- )
|