From 701dd0d7b034ceb8f50fe7edab080f9a5a4b0bf2 Mon Sep 17 00:00:00 2001 From: Vivek Kumar Dutta <vivek.dutta@iopsys.eu> Date: Thu, 23 Nov 2023 12:57:10 +0530 Subject: [PATCH] Update cmake variables --- .gitlab-ci.yml | 1 + CMakeLists.txt | 24 ++++++++++++++++ daemon/json_rpc/CMakeLists.txt | 6 ---- daemon/ubus/CMakeLists.txt | 15 ++++------ gitlab-ci/compile.sh | 40 +++++++++++++++++++++++++++ gitlab-ci/files/etc/tr104/input.json | 32 +++++++++++++++++++++ libdm/CMakeLists.txt | 1 + libdm/extensions/iowrt/CMakeLists.txt | 10 +------ libdm/extensions/rdk/CMakeLists.txt | 7 ----- libdm/tr104/CMakeLists.txt | 10 +------ libdmtree/CMakeLists.txt | 7 ----- 11 files changed, 106 insertions(+), 47 deletions(-) create mode 100755 gitlab-ci/compile.sh create mode 100644 gitlab-ci/files/etc/tr104/input.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f26486f..907f21c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ variables: FLAWFINDER_OPTIONS: "-m 4 --error-level=5" CPD_OPTIONS: "--minimum-tokens 200 --language c --exclude ./daemon/json_rpc/ --files" CPPCHECK_OPTIONS: " --enable=performance,portability,information --inline-suppr" + COMPILE: "./gitlab-ci/compile.sh" include: - project: 'iopsys/gitlab-ci-pipeline' diff --git a/CMakeLists.txt b/CMakeLists.txt index af09abc..22dd667 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,30 @@ cmake_minimum_required(VERSION 3.0) PROJECT(tr104d C) +IF(DATAMODEL_DB_PATH) + ADD_DEFINITIONS(-DETC_DB_CONFIG="${DATAMODEL_DB_PATH}") +ENDIF() + +IF(DATAMODEL_DMMAP_PATH) + ADD_DEFINITIONS(-DBBFDM_CONFIG="${DATAMODEL_DMMAP_PATH}") +ENDIF() + +IF(DATAMODEL_UCI_PATH) + ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${DATAMODEL_UCI_PATH}") +ENDIF() + +IF(BBF_VENDOR_PREFIX) + ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") +ENDIF() + +ADD_DEFINITIONS(-Wall -Werror -D_GNU_SOURCE) + +IF(NOT RUNAS_BBFDM_MICROSERVICE) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR}/libdmtree") +ENDIF() + add_subdirectory(libdm) add_subdirectory(libdmtree) + +ADD_DEFINITIONS(-fstrict-aliasing -Wall -Wextra -Werror -Wformat -Wformat-signedness -fPIC -D_GNU_SOURCE) add_subdirectory(daemon) diff --git a/daemon/json_rpc/CMakeLists.txt b/daemon/json_rpc/CMakeLists.txt index 0502a5b..e8dec5e 100644 --- a/daemon/json_rpc/CMakeLists.txt +++ b/daemon/json_rpc/CMakeLists.txt @@ -2,12 +2,6 @@ cmake_minimum_required(VERSION 3.0) PROJECT(tr104d) -ADD_DEFINITIONS(-fstrict-aliasing -Wall -Wextra -Werror -Wformat -Wformat-signedness -fPIC -D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/libdmtree") OPTION(DM_ENABLE_DECT "Enable DECT support" OFF) diff --git a/daemon/ubus/CMakeLists.txt b/daemon/ubus/CMakeLists.txt index dfb8666..6e986d8 100644 --- a/daemon/ubus/CMakeLists.txt +++ b/daemon/ubus/CMakeLists.txt @@ -2,17 +2,14 @@ cmake_minimum_required(VERSION 3.0) PROJECT(tr104d) -ADD_DEFINITIONS(-fstrict-aliasing -Wall -Wextra -Werror -Wformat -Wformat-signedness -fPIC -D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DDAEMON_JSON_INPUT="${DAEMON_JSON_INPUT}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/libdmtree") +IF(DAEMON_JSON_INPUT) + ADD_DEFINITIONS(-DDAEMON_JSON_INPUT="${DAEMON_JSON_INPUT}") +ELSE() + ADD_DEFINITIONS(-DDAEMON_JSON_INPUT="/etc/tr104/input.json") +ENDIF() FILE(GLOB BBF_SOURCES *.c) ADD_EXECUTABLE(tr104d ${BBF_SOURCES}) -TARGET_LINK_LIBRARIES(tr104d ubus ubox blobmsg_json uci json-c dl dmtree) +TARGET_LINK_LIBRARIES(tr104d dmtree ubus ubox blobmsg_json uci json-c dl) INSTALL(TARGETS tr104d DESTINATION usr/sbin) diff --git a/gitlab-ci/compile.sh b/gitlab-ci/compile.sh new file mode 100755 index 0000000..2d85760 --- /dev/null +++ b/gitlab-ci/compile.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +exec_cmd() +{ + echo "Executing [$*]" + if ! $@; then + echo "Failed to execute [$*]" + exit -1 + fi +} + +install_iowrt() +{ + echo "Compiling IOWRT version" + [ -d "builds" ] && rm -rf builds + + mkdir -p builds + cd builds + + exec_cmd cmake -DBBF_VENDOR_PREFIX:String="X_IOPSYS_EU" -DCMAKE_INSTALL_PREFIX:PATH=/ -DCMAKE_VERBOSE_MAKEFILE=ON -DDM_ENABLE_UBUS=ON -DTR104_EXTENSION_DIR:String="iowrt" ../ + exec_cmd make + exec_cmd make install + cd .. + + [ -d "builds" ] && rm -rf builds +} + +install_rdk() +{ + echo "Compiling RDK version" + # RDK specific compilation + # exec_cmd cmake -DCMAKE_INSTALL_PREFIX:PATH=/ -DCMAKE_VERBOSE_MAKEFILE=ON -DDM_ENABLE_UBUS=ON -DTR104_EXTENSION_DIR:String="iowrt" ../ + # exec_cmd make + # exec_cmd make install +} + +install_iowrt +install_rdk + +date +%s > timestamp.log diff --git a/gitlab-ci/files/etc/tr104/input.json b/gitlab-ci/files/etc/tr104/input.json new file mode 100644 index 0000000..872fca3 --- /dev/null +++ b/gitlab-ci/files/etc/tr104/input.json @@ -0,0 +1,32 @@ +{ + "daemon": { + "config": { + "loglevel": "1", + "refresh_time": "10", + "transaction_timeout": "30" + }, + "input": { + "type": "DotSo", + "name": "/etc/tr104/libtr104.so", + "plugin_dir": "/etc/tr104/plugins/" + }, + "output": { + "type": "UBUS", + "name": "tr104" + } + }, + "cli": { + "config": { + "proto": "both", + "instance_mode": 0 + }, + "input": { + "type": "UBUS", + "name": "tr104" + }, + "output": { + "type": "CLI" + } + } +} + diff --git a/libdm/CMakeLists.txt b/libdm/CMakeLists.txt index 007cb58..3443efc 100644 --- a/libdm/CMakeLists.txt +++ b/libdm/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.0) PROJECT(libdm C) +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}/common") add_subdirectory(tr104) IF(TR104_EXTENSION_DIR) diff --git a/libdm/extensions/iowrt/CMakeLists.txt b/libdm/extensions/iowrt/CMakeLists.txt index 552683e..b1a9932 100644 --- a/libdm/extensions/iowrt/CMakeLists.txt +++ b/libdm/extensions/iowrt/CMakeLists.txt @@ -2,15 +2,7 @@ cmake_minimum_required(VERSION 3.0) PROJECT(libtr104ext) -ADD_DEFINITIONS(-Wall -Werror) -ADD_DEFINITIONS(-D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/libdmtree -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/../../common/") - FILE(GLOB BBF_DM_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c) ADD_LIBRARY(tr104ext SHARED ${BBF_DM_SOURCES}) +INSTALL(TARGETS tr104ext DESTINATION etc/tr104/plugins) diff --git a/libdm/extensions/rdk/CMakeLists.txt b/libdm/extensions/rdk/CMakeLists.txt index e5a19d3..3415c35 100644 --- a/libdm/extensions/rdk/CMakeLists.txt +++ b/libdm/extensions/rdk/CMakeLists.txt @@ -2,13 +2,6 @@ cmake_minimum_required(VERSION 3.0) PROJECT(libtr104ext) -ADD_DEFINITIONS(-Wall -Werror) -ADD_DEFINITIONS(-D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/libdmtree -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/../../common") FILE(GLOB BBF_DM_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c) diff --git a/libdm/tr104/CMakeLists.txt b/libdm/tr104/CMakeLists.txt index 7e902ed..86d7978 100644 --- a/libdm/tr104/CMakeLists.txt +++ b/libdm/tr104/CMakeLists.txt @@ -2,15 +2,7 @@ cmake_minimum_required(VERSION 3.0) PROJECT(libtr104) -ADD_DEFINITIONS(-Wall -Werror) -ADD_DEFINITIONS(-D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SOURCE_DIR}/libdmtree -I${CMAKE_SOURCE_DIR}/libdmtree/include -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/../common") - FILE(GLOB BBF_DM_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.c) ADD_LIBRARY(tr104 SHARED ${BBF_DM_SOURCES}) +INSTALL(TARGETS tr104 DESTINATION etc/tr104) diff --git a/libdmtree/CMakeLists.txt b/libdmtree/CMakeLists.txt index 477d607..c5617a3 100644 --- a/libdmtree/CMakeLists.txt +++ b/libdmtree/CMakeLists.txt @@ -2,13 +2,6 @@ cmake_minimum_required(VERSION 3.0) PROJECT(libdmtree) -ADD_DEFINITIONS(-Wall -Werror) -ADD_DEFINITIONS(-D_GNU_SOURCE) -ADD_DEFINITIONS(-DBBF_VENDOR_PREFIX="${BBF_VENDOR_PREFIX}") -ADD_DEFINITIONS(-DETC_DB_CONFIG="${ETC_DB_CONFIG}") -ADD_DEFINITIONS(-DBBFDM_CONFIG="${BBFDM_CONFIG}") -ADD_DEFINITIONS(-DUCI_CONFIG_DIR="${UCI_CONFIG_DIR}") - FILE(GLOB BBF_API_SOURCES *.c plugin/*.c) ADD_LIBRARY(dmtree STATIC ${BBF_API_SOURCES}) -- GitLab