src.dualinventive.com/fw/dncm/common/cmake/modules/FindLibdi_fw.cmake

148 lines
4.4 KiB
CMake

# This CMake file tries to find the DI common firmware C (embedded) library
#
# The following variables are set:
# LIBDI_FW_FOUND - Libdi sources are found
# Libdi_fw_LIBRARY - Libdi static name
# Libdi_fw_INCLUDE_DIRS - Libdi include directories
###
set (LIBDIFW_COMPONENTS
adc
assert
board
dac
i2c
spi
onewire
uid
itm
exception
semihosting
stack_profiling
periodic
pt
drv_24xx
drv_bc95
drv_stm32fx_flash
drv_stm32l0_eeprom
drv_lsm9ds0
drv_w5500
drv_ds18b20
drv_xbee
cloudlight
battery_indicator
battery
temperature
heartbeat
serial
syshalt
can
can_dncm
can_callbacks
can_gateways
charger
config
time
test
)
set (LIBDIFW_adc_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/adc.c")
set (LIBDIFW_board_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/board.c")
set (LIBDIFW_dac_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/dac.c")
set (LIBDIFW_i2c_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/i2c.c")
set (LIBDIFW_spi_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/spi.c")
set (LIBDIFW_onewire_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/onewire.c")
set (LIBDIFW_uid_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/uid.c")
set (LIBDIFW_itm_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/itm.c")
set (LIBDIFW_exception_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/exception.c")
set (LIBDIFW_semihosting_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/semihosting.c")
set (LIBDIFW_stack_profiling_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/stack_profiling.c")
set (LIBDIFW_periodic_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/periodic.c")
set (LIBDIFW_pt_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/pt.c")
set (LIBDIFW_drv_24xx_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/24xx.c")
set (LIBDIFW_drv_bc95_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/bc95.c"
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/bc95/me.c")
set (LIBDIFW_drv_stm32fx_flash_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/stm32fx_flash.c")
set (LIBDIFW_drv_stm32l0_eeprom_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/stm32l0_eeprom.c")
set (LIBDIFW_drv_lsm9ds0_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/lsm9ds0.c"
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/lsm9ds0/magnet_lut.c")
set (LIBDIFW_drv_w5500_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/w5500.c")
set (LIBDIFW_drv_ds18b20_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/ds18b20.c")
set (LIBDIFW_drv_xbee_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/xbee.c"
"${PROJECT_SOURCE_DIR}/libdi_fw/src/drv/xbee/callbacks.c")
set (LIBDIFW_cloudlight_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/cloudlight.c")
set (LIBDIFW_battery_indicator_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/battery_indicator.c")
set (LIBDIFW_battery_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/battery.c")
set (LIBDIFW_temperature_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/temperature.c")
set (LIBDIFW_heartbeat_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/heartbeat.c")
set (LIBDIFW_syshalt_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/syshalt.c")
set (LIBDIFW_serial_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/serial.c")
set (LIBDIFW_can_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/can.c"
"${PROJECT_SOURCE_DIR}/libdi_fw/src/can/config.c"
)
set (LIBDIFW_can_gateways_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/can/gateways.c"
)
set (LIBDIFW_can_dncm_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/can/dncm.c")
set (LIBDIFW_can_callbacks_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/can/callbacks.c")
set (LIBDIFW_charger_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/charger.c")
set (LIBDIFW_config_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/config.c")
set (LIBDIFW_time_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/time.c")
set (LIBDIFW_assert_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/assert.c")
set (LIBDIFW_test_SOURCES
"${PROJECT_SOURCE_DIR}/libdi_fw/src/test.c")
FOREACH(comp ${Libdi_fw_FIND_COMPONENTS})
LIST(FIND LIBDIFW_COMPONENTS ${comp} INDEX)
IF(INDEX EQUAL -1)
MESSAGE(FATAL_ERROR "Unknown Libdi_fw component: ${comp}\nSupported components: ${LIBDIFW_COMPONENTS}")
ENDIF()
LIST(APPEND Libdi_fw_SOURCES ${LIBDIFW_${comp}_SOURCES})
ENDFOREACH()
set(Libdi_fw_INCLUDE_DIRS
"${PROJECT_SOURCE_DIR}/libdi_fw/include"
)
set(Libdi_fw_NAME "libdi_fw")
set_source_files_properties(${Libdi_fw_SOURCES} PROPERTIES COMPILE_FLAGS -DDI_LOG_COMPONENT=DI_LOG_COMPONENT_LIBDI_FW)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libdi_fw DEFAULT_MSG Libdi_fw_NAME Libdi_fw_INCLUDE_DIRS Libdi_fw_SOURCES)