Skip to content

Commit

Permalink
Add coreMQTT library
Browse files Browse the repository at this point in the history
JIRA: NIL-588
  • Loading branch information
mateuszkobak authored and mateuszkobak committed Sep 20, 2024
1 parent d19244f commit 1553a5e
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ ports=(
"picocom"
"fs_mark"
"coremark"
"coreMQTT"
)

source "${PREFIX_PROJECT}/phoenix-rtos-ports/build.subr"
Expand Down
25 changes: 25 additions & 0 deletions coreMQTT/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.16)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)

project(coreMQTT)

set(PROJECT_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
set(COREMQTT "coreMQTT-2.3.0")
set(CMAKE_C_FLAGS "$ENV{CFLAGS} -std=gnu99 -O2 -Wall -Wextra")

include("${COREMQTT}/mqttFilePaths.cmake")

add_library(${PROJECT_NAME} STATIC ${MQTT_SOURCES} ${MQTT_SERIALIZER_SOURCES})

if (DEFINED ENV{COREMQTT_CONFIG_DIR})
target_include_directories(${PROJECT_NAME} PRIVATE $ENV{COREMQTT_CONFIG_DIR})
else()
target_compile_definitions(${PROJECT_NAME} PRIVATE MQTT_DO_NOT_USE_CUSTOM_CONFIG)
endif()

target_include_directories(${PROJECT_NAME} PUBLIC ${MQTT_INCLUDE_PUBLIC_DIRS})

install(TARGETS ${PROJECT_NAME} DESTINATION "lib")
foreach(dir IN LISTS MQTT_INCLUDE_PUBLIC_DIRS)
install(DIRECTORY "${dir}/" DESTINATION "include" FILES_MATCHING PATTERN "*.h")
endforeach()
26 changes: 26 additions & 0 deletions coreMQTT/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash

set -e

COREMQTT_VERSION="2.3.0"
COREMQTT="coreMQTT-${COREMQTT_VERSION}"
PKG_URL="https://github.com/FreeRTOS/coreMQTT/archive/refs/tags/"

b_log "Building coreMQTT"
PREFIX_COREMQTT="${PREFIX_PROJECT}/phoenix-rtos-ports/coreMQTT"
PREFIX_COREMQTT_BUILD="${PREFIX_BUILD}/coreMQTT"
PREFIX_COREMQTT_SRC="${PREFIX_COREMQTT_BUILD}/${COREMQTT}/source"
PREFIX_COREMQTT_INSTALL="${PREFIX_COREMQTT_BUILD}/install"

mkdir -p "${PREFIX_COREMQTT_BUILD}" "${PREFIX_COREMQTT_INSTALL}"

b_port_download "${PKG_URL}" "v${COREMQTT_VERSION}.tar.gz"

[ -d "${PREFIX_COREMQTT_SRC}" ] || tar zxf "${PREFIX_COREMQTT}/v${COREMQTT_VERSION}.tar.gz" -C "$PREFIX_COREMQTT_BUILD"

cp -a "${PREFIX_COREMQTT}/CMakeLists.txt" "${PREFIX_COREMQTT_BUILD}/CMakeLists.txt"

cmake -S "${PREFIX_COREMQTT_BUILD}" -B "${PREFIX_COREMQTT_BUILD}"
make -C "${PREFIX_COREMQTT_BUILD}" -j 9

cmake --install "$PREFIX_COREMQTT_BUILD" --prefix "$PREFIX_BUILD"

0 comments on commit 1553a5e

Please sign in to comment.