|
|
|
@ -1,6 +1,32 @@
|
|
|
|
|
|
|
|
#/**
|
|
|
|
|
|
|
|
#* Digital Voice Modem - Host Software
|
|
|
|
|
|
|
|
#* GPLv2 Open Source. Use is subject to license terms.
|
|
|
|
|
|
|
|
#* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
|
|
|
|
|
|
#*
|
|
|
|
|
|
|
|
#* @package DVM / Host Software
|
|
|
|
|
|
|
|
#*
|
|
|
|
|
|
|
|
#*/
|
|
|
|
|
|
|
|
#/*
|
|
|
|
|
|
|
|
#* Copyright (C) 2022 by Bryan Biedenkapp N2PLL
|
|
|
|
|
|
|
|
#* Copyright (C) 2022 by Natalie Moore <https://github.com/jelimoore>
|
|
|
|
|
|
|
|
#*
|
|
|
|
|
|
|
|
#* This program is free software; you can redistribute it and/or modify
|
|
|
|
|
|
|
|
#* it under the terms of the GNU General Public License as published by
|
|
|
|
|
|
|
|
#* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
|
|
|
|
#* (at your option) any later version.
|
|
|
|
|
|
|
|
#*
|
|
|
|
|
|
|
|
#* This program is distributed in the hope that it will be useful,
|
|
|
|
|
|
|
|
#* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
|
|
|
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
|
|
|
#* GNU General Public License for more details.
|
|
|
|
|
|
|
|
#*
|
|
|
|
|
|
|
|
#* You should have received a copy of the GNU General Public License
|
|
|
|
|
|
|
|
#* along with this program; if not, write to the Free Software
|
|
|
|
|
|
|
|
#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
|
|
|
|
#*/
|
|
|
|
cmake_minimum_required(VERSION 3.18.4)
|
|
|
|
cmake_minimum_required(VERSION 3.18.4)
|
|
|
|
|
|
|
|
|
|
|
|
# dvmhost
|
|
|
|
# dvmhost source/header files
|
|
|
|
file(GLOB dvmhost_SRC
|
|
|
|
file(GLOB dvmhost_SRC
|
|
|
|
# DMR module
|
|
|
|
# DMR module
|
|
|
|
"dmr/*.h"
|
|
|
|
"dmr/*.h"
|
|
|
|
@ -82,7 +108,7 @@ file(GLOB dvmhost_SRC
|
|
|
|
"*.cpp"
|
|
|
|
"*.cpp"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
# dvmcmd
|
|
|
|
# dvmcmd source/header files
|
|
|
|
file(GLOB dvmcmd_SRC
|
|
|
|
file(GLOB dvmcmd_SRC
|
|
|
|
"network/UDPSocket.h"
|
|
|
|
"network/UDPSocket.h"
|
|
|
|
"network/UDPSocket.cpp"
|
|
|
|
"network/UDPSocket.cpp"
|
|
|
|
@ -99,7 +125,7 @@ file(GLOB dvmcmd_SRC
|
|
|
|
"Utils.cpp"
|
|
|
|
"Utils.cpp"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
# dvmcmd
|
|
|
|
# dvmtest source/header files
|
|
|
|
file(GLOB dvmtests_SRC
|
|
|
|
file(GLOB dvmtests_SRC
|
|
|
|
"tests/nulltest.cpp"
|
|
|
|
"tests/nulltest.cpp"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
@ -250,6 +276,9 @@ else ()
|
|
|
|
message(CHECK_PASS "no")
|
|
|
|
message(CHECK_PASS "no")
|
|
|
|
endif (CROSS_COMPILE_RPI_ARM)
|
|
|
|
endif (CROSS_COMPILE_RPI_ARM)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# standard CMake options
|
|
|
|
|
|
|
|
#
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
|
|
|
|
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .)
|
|
|
|
@ -258,6 +287,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O3 -Wall -std=c++11")
|
|
|
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -g -O3 -Wall -std=c++11 -s")
|
|
|
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -g -O3 -Wall -std=c++11 -s")
|
|
|
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g -O3 -Wall -std=c++11 -s")
|
|
|
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g -O3 -Wall -std=c++11 -s")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(CMAKE_INSTALL_PREFIX "/opt/dvm")
|
|
|
|
|
|
|
|
|
|
|
|
set(GIT_VER "")
|
|
|
|
set(GIT_VER "")
|
|
|
|
set(GIT_VER_HASH "")
|
|
|
|
set(GIT_VER_HASH "")
|
|
|
|
execute_process(COMMAND git describe --abbrev=8 --dirty --always --tags WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} OUTPUT_VARIABLE GIT_VER OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
execute_process(COMMAND git describe --abbrev=8 --dirty --always --tags WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} OUTPUT_VARIABLE GIT_VER OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
@ -266,12 +299,14 @@ execute_process(COMMAND git describe --abbrev=8 --always --tags WORKING_DIRECTOR
|
|
|
|
add_definitions(-D__GIT_VER__="${GIT_VER}")
|
|
|
|
add_definitions(-D__GIT_VER__="${GIT_VER}")
|
|
|
|
add_definitions(-D__GIT_VER_HASH__="${GIT_VER_HASH}")
|
|
|
|
add_definitions(-D__GIT_VER_HASH__="${GIT_VER_HASH}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# dvmhost project
|
|
|
|
project(dvmhost)
|
|
|
|
project(dvmhost)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
add_executable(dvmhost ${dvmhost_SRC})
|
|
|
|
add_executable(dvmhost ${dvmhost_SRC})
|
|
|
|
target_include_directories(dvmhost PRIVATE .)
|
|
|
|
target_include_directories(dvmhost PRIVATE .)
|
|
|
|
target_link_libraries(dvmhost PRIVATE Threads::Threads util)
|
|
|
|
target_link_libraries(dvmhost PRIVATE Threads::Threads util)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# dvmcmd project
|
|
|
|
project(dvmcmd)
|
|
|
|
project(dvmcmd)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
add_executable(dvmcmd ${dvmcmd_SRC})
|
|
|
|
add_executable(dvmcmd ${dvmcmd_SRC})
|
|
|
|
@ -279,6 +314,7 @@ target_link_libraries(dvmcmd PRIVATE Threads::Threads)
|
|
|
|
target_include_directories(dvmcmd PRIVATE .)
|
|
|
|
target_include_directories(dvmcmd PRIVATE .)
|
|
|
|
|
|
|
|
|
|
|
|
if (ENABLE_TESTS)
|
|
|
|
if (ENABLE_TESTS)
|
|
|
|
|
|
|
|
# dvmtest project
|
|
|
|
project(dvmtest)
|
|
|
|
project(dvmtest)
|
|
|
|
Include(FetchContent)
|
|
|
|
Include(FetchContent)
|
|
|
|
|
|
|
|
|
|
|
|
@ -294,3 +330,15 @@ add_executable(dvmtests ${dvmtests_SRC})
|
|
|
|
target_link_libraries(dvmtests PRIVATE Catch2::Catch2WithMain Threads::Threads util)
|
|
|
|
target_link_libraries(dvmtests PRIVATE Catch2::Catch2WithMain Threads::Threads util)
|
|
|
|
target_include_directories(dvmtests PRIVATE .)
|
|
|
|
target_include_directories(dvmtests PRIVATE .)
|
|
|
|
endif (ENABLE_TESTS)
|
|
|
|
endif (ENABLE_TESTS)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# dvmhost/dvmcmd install
|
|
|
|
|
|
|
|
install(TARGETS dvmhost DESTINATION bin)
|
|
|
|
|
|
|
|
install(TARGETS dvmcmd DESTINATION bin)
|
|
|
|
|
|
|
|
install(FILES config.example.yml iden_table.dat RSSI.dat rid_acl.example.dat tg_acl.example.dat DESTINATION ${CMAKE_INSTALL_PREFIX})
|
|
|
|
|
|
|
|
install(PROGRAMS start-dvm.sh stop-dvm.sh dvm-watchdog.sh stop-watchdog.sh DESTINATION ${CMAKE_INSTALL_PREFIX})
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND mkdir -p /opt/dvm/log || true)")
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND bash \"-c\" \"sed -i 's/filePath: ./filePath: \\\\/opt\\\\/dvm\\\\/log\\\\//' /opt/dvm/config.example.yml\")")
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND bash \"-c\" \"sed -i 's/activityFilePath: ./activityFilePath: \\\\/opt\\\\/dvm\\\\/log\\\\//' /opt/dvm/config.example.yml\")")
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND bash \"-c\" \"sed -i 's/file: iden_table.dat/file: \\\\/opt\\\\/dvm\\\\/iden_table.dat/' /opt/dvm/config.example.yml\")")
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND bash \"-c\" \"sed -i 's/file: rid_acl.dat/file: \\\\/opt\\\\/dvm\\\\/rid_acl.dat/' /opt/dvm/config.example.yml\")")
|
|
|
|
|
|
|
|
install(CODE "execute_process(COMMAND bash \"-c\" \"sed -i 's/file: tg_acl.dat/file: \\\\/opt\\\\/dvm\\\\/tg_acl.dat/' /opt/dvm/config.example.yml\")")
|
|
|
|
|