164 lines
5.6 KiB
CMake
164 lines
5.6 KiB
CMake
# 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)
|