src.dualinventive.com/fw/libdi_fw-tests/common/cmake/modules/FindLibdi.cmake

153 lines
5.3 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/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)
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/sqrtf.c"
"${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee.c"
"${PROJECT_SOURCE_DIR}/libdi/src/drv/crtm/di_rpc_crtm.c"
"${PROJECT_SOURCE_DIR}/libdi/src/drv/crtm/crtm.c"
"${PROJECT_SOURCE_DIR}/libdi/src/drv/xbee/xbee_premade_config_at_commands.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")
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()
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"
)
endif()
set(Libdi_LIBRARY "di")
set_source_files_properties(${Libdi_SOURCES} PROPERTIES COMPILE_FLAGS -DDI_LOG_COMPONENT=DI_LOG_COMPONENT_LIBDI)
#set_source_files_properties(${Libdi_SOURCES} PROPERTIES COMPILE_FLAGS -DDI_LOG_QUIET=YES)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libdi DEFAULT_MSG Libdi_LIBRARY Libdi_INCLUDE_DIRS Libdi_SOURCES)