# 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" "${PROJECT_SOURCE_DIR}/libdi_fw/src/can/dncm_project_id.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)