# This CMake file tries to find the DI common C (embedded) library # # The following variables are set: # LIBDI_FOUND - Libdi sources are found # Libdi_LIBRARY - Libdi static name # Libdi_INCLUDE_DIRS - Libdi include directories ### # generic set(Libdi_SOURCES "${PROJECT_SOURCE_DIR}/libdi/3rdparty/mpack/src/mpack/mpack.c" "${PROJECT_SOURCE_DIR}/libdi/src/hash.c" "${PROJECT_SOURCE_DIR}/libdi/src/rpc.c" "${PROJECT_SOURCE_DIR}/libdi/src/rpc/serialize.c" "${PROJECT_SOURCE_DIR}/libdi/src/rpc/lowlevel.c" "${PROJECT_SOURCE_DIR}/libdi/src/rpc/deserialize.c" "${PROJECT_SOURCE_DIR}/libdi/src/rpc/param.c" "${PROJECT_SOURCE_DIR}/libdi/src/config.c" "${PROJECT_SOURCE_DIR}/libdi/src/buffer.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/activation.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/state.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/token.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/uid.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/error.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/lock.c" "${PROJECT_SOURCE_DIR}/libdi/src/device/service.c" "${PROJECT_SOURCE_DIR}/libdi/src/device.c" "${PROJECT_SOURCE_DIR}/libdi/src/crc.c" "${PROJECT_SOURCE_DIR}/libdi/src/errno.c" "${PROJECT_SOURCE_DIR}/libdi/src/time.c" "${PROJECT_SOURCE_DIR}/libdi/src/stdio.c" "${PROJECT_SOURCE_DIR}/libdi/src/semaphore.c" "${PROJECT_SOURCE_DIR}/libdi/src/misc/hexstr.c" ) set (LIBDI_COMPONENTS assert can can_log can_zkl log me drv_hl854x drv_xbee tws_du ) set (LIBDI_assert_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/assert.c" ) set (LIBDI_can_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/can.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/callback.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/crc.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/frame.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/reassemble.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/reply.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/ptypes.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/send.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/framing.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/lowlevel.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg/read.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg/write.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg/recv.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg/timesync.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/msg/locking.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/raw.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/reqrep.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/rpc.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/rpc/callbacks.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/callbacks.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/discover.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/discover_fsm.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/node.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/self.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/serialize.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/net/deserialize.c" ) set (LIBDI_can_zkl_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/can/zkl.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/zkl/serialize.c" "${PROJECT_SOURCE_DIR}/libdi/src/can/zkl/deserialize.c" ) set (LIBDI_can_log_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/can/log.c" ) set (LIBDI_log_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/log.c" "${PROJECT_SOURCE_DIR}/libdi/src/log/module.c" ) set (LIBDI_me_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/encoding/me.c") set (LIBDI_drv_xbee_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/crtm.c" "${PROJECT_SOURCE_DIR}/libdi/src/sqrtf.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee/checksum.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee/frame.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee/cmd.c") set (LIBDI_drv_hl854x_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/encoding/me.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/con.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/gps.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/gps_pvt.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/error.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/cme_error.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/me.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/mec.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/net.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/sms.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/str.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/tcp.c" "${PROJECT_SOURCE_DIR}/libdi/src/drv/hl854x/udp.c" ) set (LIBDI_tws_du_SOURCES "${PROJECT_SOURCE_DIR}/libdi/src/tws/du/strike.c" ) foreach(comp ${Libdi_FIND_COMPONENTS}) LIST(FIND LIBDI_COMPONENTS ${comp} INDEX) IF(INDEX EQUAL -1) MESSAGE(FATAL_ERROR "Unknown Libdi component: ${comp}\nSupported components: ${LIBDI_COMPONENTS}") ENDIF() LIST(APPEND Libdi_SOURCES ${LIBDI_${comp}_SOURCES}) endforeach() set(Libdi_SOURCE_FILE_PROPERTIES "-DDI_LOG_COMPONENT=DI_LOG_COMPONENT_LIBDI") if (NOT DEFINED STM32_CHIP) add_library(di STATIC ${Libdi_SOURCES}) set(Libdi_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/libdi/include-linux" "${PROJECT_SOURCE_DIR}/libdi/include" "${PROJECT_SOURCE_DIR}/libdi/libdi_constants/include" ) else() set(Libdi_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/libdi/include-embedded" "${PROJECT_SOURCE_DIR}/libdi/include" "${PROJECT_SOURCE_DIR}/libdi/libdi_constants/include" ) set(Libdi_SOURCE_FILE_PROPERTIES "${Libdi_SOURCE_FILE_PROPERTIES} -DDI_EMBEDDED") endif() set(Libdi_LIBRARY "di") set_source_files_properties(${Libdi_SOURCES} PROPERTIES COMPILE_FLAGS ${Libdi_SOURCE_FILE_PROPERTIES}) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Libdi DEFAULT_MSG Libdi_LIBRARY Libdi_INCLUDE_DIRS Libdi_SOURCES)