# v3.21 implemented semantic changes regarding $<TARGET_OBJECTS:...>
# See https://cmake.org/cmake/help/v3.21/command/target_link_libraries.html#linking-object-libraries-via-target-objects
cmake_minimum_required(VERSION 3.21)

add_library(variant INTERFACE)
add_library(variant_usage INTERFACE)

target_include_directories(variant_usage INTERFACE
  .
)


target_link_libraries(variant_usage INTERFACE
  base_config
)

target_link_libraries(variant INTERFACE variant_usage)



add_library(variant_bin STATIC EXCLUDE_FROM_ALL
  generic_clock.c
  PeripheralPins.c
  PeripheralPins_ARMED_V1.c
  PeripheralPins_BLACK_F407VX.c
  PeripheralPins_BLUE_F407VE_MINI.c
  PeripheralPins_FK407M1.c
  PeripheralPins_PRNTR_V1.c
  PeripheralPins_PRNTR_V2.c
  variant_ARMED_V1.cpp
  variant_BLACK_F407VX.cpp
  variant_BLUE_F407VE_MINI.cpp
  variant_DISCO_F407VG.cpp
  variant_DIYMORE_F407VGT.cpp
  variant_FK407M1.cpp
  variant_generic.cpp
  variant_PRNTR_Vx.cpp
)
target_link_libraries(variant_bin PUBLIC variant_usage)

target_link_libraries(variant INTERFACE
  variant_bin
)

