Allow use of external Socket.io library.

pull/390/head
Mooneer Salem 2023-05-21 17:00:27 -04:00
parent 5d3d1e7e84
commit 8c3c229c7a
3 changed files with 56 additions and 38 deletions

View File

@ -392,6 +392,22 @@ else(HAMLIB_LIBRARY AND HAMLIB_INCLUDE_DIR)
endif(HAMLIB_LIBRARY AND HAMLIB_INCLUDE_DIR)
# sioclient library
message(STATUS "Looking for sioclient...")
find_path(SIOCLIENT_INCLUDE_DIR sio_client.h)
find_library(SIOCLIENT_LIBRARY sioclient)
message(STATUS " Socket.io library: ${SIOCLIENT_LIBRARY}")
message(STATUS " Socket.io headers: ${SIOCLIENT_INCLUDE_DIR}")
if(SIOCLIENT_LIBRARY AND SIOCLIENT_INCLUDE_DIR)
message(STATUS "Socket.io library found.")
include_directories(${SIOCLIENT_INCLUDE_DIR})
list(APPEND FREEDV_LINK_LIBS ${SIOCLIENT_LIBRARY})
else(SIOCLIENT_LIBRARY AND SIOCLIENT_INCLUDE_DIR)
message(STATUS "Using static sioclient build")
include(cmake/BuildSocketIo.cmake)
endif(SIOCLIENT_LIBRARY AND SIOCLIENT_INCLUDE_DIR)
#
# Samplerate Library
#

View File

@ -0,0 +1,39 @@
set(SIO_CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF)
if(CMAKE_CROSSCOMPILING)
set(SIO_CMAKE_ARGS ${SIO_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
endif()
include(ExternalProject)
if(APPLE)
ExternalProject_Add(build_sioclient
SOURCE_DIR sioclient_src
BINARY_DIR sioclient_build
GIT_REPOSITORY https://github.com/socketio/socket.io-client-cpp.git
GIT_TAG master
CMAKE_ARGS ${SIO_CMAKE_ARGS}
CMAKE_CACHE_ARGS -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
INSTALL_COMMAND ""
)
else(APPLE)
ExternalProject_Add(build_sioclient
SOURCE_DIR sioclient_src
BINARY_DIR sioclient_build
GIT_REPOSITORY https://github.com/socketio/socket.io-client-cpp.git
GIT_TAG master
CMAKE_ARGS ${SIO_CMAKE_ARGS}
INSTALL_COMMAND ""
)
endif(APPLE)
ExternalProject_Get_Property(build_sioclient BINARY_DIR)
ExternalProject_Get_Property(build_sioclient SOURCE_DIR)
add_library(sioclient STATIC IMPORTED)
include_directories(${SOURCE_DIR}/src)
list(APPEND FREEDV_LINK_LIBS sioclient)
add_dependencies(sioclient build_sioclient)
set_target_properties(sioclient PROPERTIES
IMPORTED_LOCATION "${BINARY_DIR}/libsioclient${CMAKE_STATIC_LIBRARY_SUFFIX}"
IMPORTED_IMPLIB "${BINARY_DIR}/libsioclient${CMAKE_IMPORT_LIBRARY_SUFFIX}"
)

View File

@ -1,38 +1,3 @@
set(SIO_CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF)
if(CMAKE_CROSSCOMPILING)
set(SIO_CMAKE_ARGS ${SIO_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
endif()
include(ExternalProject)
if(APPLE)
ExternalProject_Add(build_sioclient
SOURCE_DIR sioclient_src
BINARY_DIR sioclient_build
GIT_REPOSITORY https://github.com/socketio/socket.io-client-cpp.git
GIT_TAG master
CMAKE_ARGS ${SIO_CMAKE_ARGS}
CMAKE_CACHE_ARGS -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
INSTALL_COMMAND ""
)
else(APPLE)
ExternalProject_Add(build_sioclient
SOURCE_DIR sioclient_src
BINARY_DIR sioclient_build
GIT_REPOSITORY https://github.com/socketio/socket.io-client-cpp.git
GIT_TAG master
CMAKE_ARGS ${SIO_CMAKE_ARGS}
INSTALL_COMMAND ""
)
endif(APPLE)
ExternalProject_Get_Property(build_sioclient BINARY_DIR)
ExternalProject_Get_Property(build_sioclient SOURCE_DIR)
add_library(sioclient STATIC IMPORTED)
set_target_properties(sioclient PROPERTIES
IMPORTED_LOCATION "${BINARY_DIR}/libsioclient${CMAKE_STATIC_LIBRARY_SUFFIX}"
IMPORTED_IMPLIB "${BINARY_DIR}/libsioclient${CMAKE_IMPORT_LIBRARY_SUFFIX}"
)
add_library(fdv_reporting STATIC
pskreporter.cpp
@ -41,6 +6,4 @@ add_library(fdv_reporting STATIC
FreeDVReporter.h
)
add_dependencies(fdv_reporting build_sioclient)
target_link_libraries(fdv_reporting PUBLIC sioclient)
target_include_directories(fdv_reporting PUBLIC ${SOURCE_DIR}/src)
add_dependencies(fdv_reporting sioclient)