Skip to content

Commit

Permalink
Merge branch 'OpenWRT'
Browse files Browse the repository at this point in the history
  • Loading branch information
VolkerChristian committed Jul 1, 2023
2 parents 646d1c0 + 8764cfa commit 13245f0
Show file tree
Hide file tree
Showing 10 changed files with 98 additions and 85 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "supplement/vocfeeds"]
path = supplement/vocfeeds
url = ../vocfeeds.git
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -538,12 +538,12 @@ SNode.C is known to compile and run successfull on
- x86-64 architecture
- Tested on HP ZBook 15 G8
- Arm architecture (32 and 64 bit)
- Tested on Raspberry Pi
- Tested on Raspberry Pi 3 and 4
- OpenWrt 23.05.0-rc1
23.05.0 is the first OpenWrt version bundling a GCC compiler version (12.3) sufficient to compile SNode.C.
- Tested targets
- ath79
- ipq806x
- Tested architectures
- mips_24kc (tested with target ath79)
- arm_cortex-a7_neon-vfpv4 (tested with target ipq806x)


Finally SNode.C compiles under current debian stable (bookworm). Thus, if your distribution contains all necessary requirements and dependencies in versions equal or later than debian stable SNode.C should compile successful.
Expand Down
10 changes: 5 additions & 5 deletions src/database/mariadb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.18)

find_package(PkgConfig REQUIRED)

pkg_check_modules(MARIADB mariadb)
pkg_check_modules(LIBMARIADB libmariadb)

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(# Oh, mysql/mariadb has some strange identifier
Expand All @@ -16,7 +16,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# using Visual Studio C++
endif()

if(MARIADB_FOUND)
if(LIBMARIADB_FOUND)
set(MARIADB_CPP
MariaDBClient.cpp
MariaDBClientASyncAPI.cpp
Expand Down Expand Up @@ -65,10 +65,10 @@ if(MARIADB_FOUND)
add_library(db-mariadb SHARED ${MARIADB_CPP} ${MARIADB_H})
add_library(snodec::db-mariadb ALIAS db-mariadb)

target_link_libraries(db-mariadb PUBLIC snodec::core ${MARIADB_LIBRARIES})
target_link_libraries(db-mariadb PUBLIC snodec::core ${LIBMARIADB_LIBRARIES})
target_include_directories(
db-mariadb
PUBLIC ${MARIADB_INCLUDE_DIRS}
PUBLIC ${LIBMARIADB_INCLUDE_DIRS}
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:include/snode.c>"
)
Expand Down Expand Up @@ -100,4 +100,4 @@ if(MARIADB_FOUND)
PATTERN "cmake" EXCLUDE
)

endif(MARIADB_FOUND)
endif(LIBMARIADB_FOUND)
11 changes: 5 additions & 6 deletions src/express/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,11 @@ get_target_property(HTTP_INSTALL_LIBDIR snodec::http HTTP_INSTALL_LIBDIR)

set_target_properties(
http-server-express
PROPERTIES
SOVERSION 1
OUTPUT_NAME snodec-http-server-express
INSTALL_RPATH
"${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR}"
LIBRARY_OUTPUT_DIRECTORY ${HTTP_SERVER_COMPILE_LIBDIR}
PROPERTIES SOVERSION 1
OUTPUT_NAME snodec-http-server-express
INSTALL_RPATH
"${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR}"
LIBRARY_OUTPUT_DIRECTORY ${HTTP_SERVER_COMPILE_LIBDIR}
)

install(
Expand Down
7 changes: 4 additions & 3 deletions src/web/http/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ cmake_minimum_required(VERSION 3.18)
set(HTTP_COMPILE_LIBDIR ${CMAKE_BINARY_DIR}/snode.c/http)
set(HTTP_UPGRADE_COMPILE_LIBDIR ${HTTP_COMPILE_LIBDIR}/upgrade)

set(HTTP_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}/snode.c/http)
set(HTTP_INSTALL_LIBDIR
# ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/snode.c/http
${CMAKE_INSTALL_LIBDIR}/snode.c/http
)
set(HTTP_UPGRADE_INSTALL_LIBDIR ${HTTP_INSTALL_LIBDIR}/upgrade)

set(HTTP_RPATH "${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR}")

find_package(PkgConfig REQUIRED)

pkg_check_modules(LIBMAGIC libmagic)
Expand Down
56 changes: 23 additions & 33 deletions src/web/http/client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ set(HTTPCLIENT_CPP
)

set(HTTPCLIENT_H
Client.h
Request.h
Response.h
ResponseParser.h
Expand All @@ -29,18 +30,6 @@ set(HTTPCLIENT_H
add_library(http-client SHARED ${HTTPCLIENT_CPP} ${HTTPCLIENT_H})
add_library(snodec::http-client ALIAS http-client)

if(LIBMAGIC_FOUND)
target_compile_definitions(http-client PUBLIC HAS_LIBMAGIC)
else(LIBMAGIC_FOUND)
message(
WARNING
" libmagic-dev not found:\n"
" libmagic is used for the automatic detection of Mime-type files.\n"
" SNode.C has some built-in knowledge of mime types which, compared to libmime,\n"
" is not as reliable. So you should install libmagic-dev for better mime type detection."
)
endif(LIBMAGIC_FOUND)

target_include_directories(
http-client
PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
Expand All @@ -66,32 +55,33 @@ get_target_property(
)
set(HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR "${HTTP_UPGRADE_INSTALL_LIBDIR}/client")

set(HTTP_CLIENT_RPATH
"${HTTP_RPATH};${CMAKE_INSTALL_PREFIX}/${HTTP_CLIENT_INSTALL_LIBDIR}"
)
set(HTTP_CLIENT_RPATH "${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_CLIENT_INSTALL_LIBDIR}")

set_target_properties(
http-client
PROPERTIES
SOVERSION 1
OUTPUT_NAME snodec-http-client
BUILD_RPATH "${HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR}"
INSTALL_RPATH
"${HTTP_RPATH};${CMAKE_INSTALL_PREFIX}/${HTTP_UPGRADE_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR}"
LIBRARY_OUTPUT_DIRECTORY ${HTTP_CLIENT_COMPILE_LIBDIR}
HTTP_CLIENT_COMPILE_LIBDIR "${HTTP_CLIENT_COMPILE_LIBDIR}"
HTTP_CLIENT_INSTALL_LIBDIR "${HTTP_CLIENT_INSTALL_LIBDIR}"
HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR
"${HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR}"
HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR
"${HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR}"
HTTP_CLIENT_RPATH "${HTTP_CLIENT_RPATH}"
HTTP_CLIENT_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
"HTTP_CLIENT_INCLUDE_DIRS;HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR"
COMPILE_FLAGS "${DISABLED_WARNINGS}"
PROPERTIES SOVERSION 1
OUTPUT_NAME snodec-http-client
LIBRARY_OUTPUT_DIRECTORY "${HTTP_CLIENT_COMPILE_LIBDIR}"
COMPILE_FLAGS "${DISABLED_WARNINGS}"
BUILD_RPATH "${HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR}"
INSTALL_RPATH
"${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR}"
HTTP_CLIENT_COMPILE_LIBDIR "${HTTP_CLIENT_COMPILE_LIBDIR}"
HTTP_CLIENT_INSTALL_LIBDIR "${HTTP_CLIENT_INSTALL_LIBDIR}"
HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR
"${HTTP_CLIENT_UPGRADE_COMPILE_LIBDIR}"
HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR
"${HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR}"
HTTP_CLIENT_RPATH "${HTTP_CLIENT_RPATH}"
HTTP_CLIENT_INCLUDE_DIRS
"${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
"HTTP_CLIENT_INCLUDE_DIRS;HTTP_CLIENT_UPGRADE_INSTALL_LIBDIR"
)

# target_compile_definitions(my_target PRIVATE FOO=1 BAR=1)
# set_source_files_properties(foo.cpp PROPERTIES COMPILE_DEFINITIONS -DFOO=1)

install(
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION include/snode.c/web/http/client
Expand Down
83 changes: 51 additions & 32 deletions src/web/http/server/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,6 @@ set(HTTPSERVER_H
add_library(http-server SHARED ${HTTPSERVER_CPP} ${HTTPSERVER_h})
add_library(snodec::http-server ALIAS http-server)

if(LIBMAGIC_FOUND)
target_compile_definitions(http-server PUBLIC HAS_LIBMAGIC)
else(LIBMAGIC_FOUND)
message(
WARNING
" libmagic-dev not found:\n"
" libmagic is used for the automatic detection of Mime-type files.\n"
" SNode.C has some built-in knowledge of mime types which, compared to libmime,\n"
" is not as reliable. So you should install libmagic-dev for better mime type detection."
)
endif(LIBMAGIC_FOUND)

target_include_directories(
http-server
PUBLIC "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>"
Expand All @@ -68,30 +56,61 @@ get_target_property(
)
set(HTTP_SERVER_UPGRADE_INSTALL_LIBDIR "${HTTP_UPGRADE_INSTALL_LIBDIR}/server")

set(HTTP_SERVER_RPATH
"${HTTP_RPATH};${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_INSTALL_LIBDIR}"
set(HTTP_SERVER_RPATH "${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_INSTALL_LIBDIR}")

message("HTTP_COMPILE_LIBDIR: " "${HTTP_COMPILE_LIBDIR}")
message("HTTP_SERVER_COMPILE_LIBDIR: " "${HTTP_SERVER_COMPILE_LIBDIR}")
message("HTTP_SERVER_INSTALL_LIBDIR: " "${HTTP_SERVER_INSTALL_LIBDIR}")
message("HTTP_UPGRADE_COMPILE_LIBDIR: " "${HTTP_UPGRADE_COMPILE_LIBDIR}")
message("HTTP_UPGRADE_INSTALL_LIBDIR: " "${HTTP_UPGRADE_INSTALL_LIBDIR}")
message("HTTP_SERVER_UPGRADE_COMPILE_LIBDIR: "
"${HTTP_SERVER_UPGRADE_COMPILE_LIBDIR}"
)
message("HTTP_SERVER_UPGRADE_INSTALL_LIBDIR: "
"${HTTP_SERVER_UPGRADE_INSTALL_LIBDIR}"
)

message("HTTP_SERVER_RPATH: " "${HTTP_SERVER_RPATH}")

# HTTP_COMPILE_LIBDIR:
# /home/voc/projects/snodec/build/build-snode.c-Desktop_CLANG-Debug-CheckInclude/snode.c/http

# HTTP_SERVER_COMPILE_LIBDIR:
# /home/voc/projects/snodec/build/build-snode.c-Desktop_CLANG-Debug-CheckInclude/snode.c/http/server

# HTTP_UPGRADE_COMPILE_LIBDIR:
# /home/voc/projects/snodec/build/build-snode.c-Desktop_CLANG-Debug-CheckInclude/snode.c/http/upgrade
# HTTP_SERVER_UPGRADE_COMPILE_LIBDIR:
# /home/voc/projects/snodec/build/build-snode.c-Desktop_CLANG-Debug-CheckInclude/snode.c/http/upgrade/server

# HTTP_SERVER_INSTALL_LIBDIR: lib/snode.c/http/server
# HTTP_UPGRADE_INSTALL_LIBDIR: lib/snode.c/http/upgrade
# HTTP_SERVER_UPGRADE_INSTALL_LIBDIR: lib/snode.c/http/upgrade/server

# HTTP_SERVER_RPATH:
# /usr/local/lib/snode.c/http/usr/local/lib/snode.c/http/upgrade/server

set_target_properties(
http-server
PROPERTIES
SOVERSION 1
OUTPUT_NAME snodec-http-server
BUILD_RPATH "${HTTP_SERVER_UPGRADE_COMPILE_LIBDIR}"
INSTALL_RPATH
"${HTTP_RPATH};${CMAKE_INSTALL_PREFIX}/${HTTP_UPGRADE_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_UPGRADE_INSTALL_LIBDIR}"
LIBRARY_OUTPUT_DIRECTORY ${HTTP_SERVER_COMPILE_LIBDIR}
HTTP_SERVER_COMPILE_LIBDIR "${HTTP_SERVER_COMPILE_LIBDIR}"
HTTP_SERVER_INSTALL_LIBDIR "${HTTP_SERVER_INSTALL_LIBDIR}"
HTTP_SERVER_UPGRADE_COMPILE_LIBDIR
"${HTTP_SERVER_UPGRADE_COMPILE_LIBDIR}"
HTTP_SERVER_UPGRADE_INSTALL_LIBDIR
"${HTTP_SERVER_UPGRADE_INSTALL_LIBDIR}"
HTTP_SERVER_RPATH "${HTTP_SERVER_RPATH}"
HTTP_SERVER_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
"HTTP_SERVER_INCLUDE_DIRS;HTTP_SERVER_UPGRADE_INSTALL_LIBDIR"
COMPILE_FLAGS "${DISABLED_WARNINGS}"
PROPERTIES SOVERSION 1
OUTPUT_NAME snodec-http-server
LIBRARY_OUTPUT_DIRECTORY "${HTTP_SERVER_COMPILE_LIBDIR}"
COMPILE_FLAGS "${DISABLED_WARNINGS}"
BUILD_RPATH
"${HTTP_COMPILE_LIBDIR};${HTTP_SERVER_UPGRADE_COMPILE_LIBDIR}"
INSTALL_RPATH
"${CMAKE_INSTALL_PREFIX}/${HTTP_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/${HTTP_SERVER_UPGRADE_INSTALL_LIBDIR}"
HTTP_SERVER_COMPILE_LIBDIR "${HTTP_SERVER_COMPILE_LIBDIR}"
HTTP_SERVER_INSTALL_LIBDIR "${HTTP_SERVER_INSTALL_LIBDIR}"
HTTP_SERVER_UPGRADE_COMPILE_LIBDIR
"${HTTP_SERVER_UPGRADE_COMPILE_LIBDIR}"
HTTP_SERVER_UPGRADE_INSTALL_LIBDIR
"${HTTP_SERVER_UPGRADE_INSTALL_LIBDIR}"
HTTP_SERVER_RPATH "${HTTP_SERVER_RPATH}"
HTTP_SERVER_INCLUDE_DIRS
"${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
"HTTP_SERVER_INCLUDE_DIRS;HTTP_SERVER_UPGRADE_INSTALL_LIBDIR"
)

install(
Expand Down
2 changes: 1 addition & 1 deletion src/web/websocket/client/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ set_target_properties(
WEBSOCKET_SUBPROTOCOL_CLIENT_COMPILE_LIBDIR
"${WEBSOCKET_SUBPROTOCOL_CLIENT_COMPILE_LIBDIR}"
WEBSOCKET_SUBPROTOCOL_CLIENT_INSTALL_LIBDIR
"${CMAKE_INSTALL_PREFIX}/${WEBSOCKET_SUBPROTOCOL_CLIENT_INSTALL_LIBDIR}"
"${WEBSOCKET_SUBPROTOCOL_CLIENT_INSTALL_LIBDIR}"
WEBSOCKET_SUBPROTOCOL_CLIENT_INCLUDE_DIRS
"${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
Expand Down
2 changes: 1 addition & 1 deletion src/web/websocket/server/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ set_target_properties(
WEBSOCKET_SUBPROTOCOL_SERVER_COMPILE_LIBDIR
"${WEBSOCKET_SUBPROTOCOL_SERVER_COMPILE_LIBDIR}"
WEBSOCKET_SUBPROTOCOL_SERVER_INSTALL_LIBDIR
"${CMAKE_INSTALL_PREFIX}/${WEBSOCKET_SUBPROTOCOL_SERVER_INSTALL_LIBDIR}"
"${WEBSOCKET_SUBPROTOCOL_SERVER_INSTALL_LIBDIR}"
WEBSOCKET_SUBPROTOCOL_SERVER_INCLUDE_DIRS
"${CMAKE_INSTALL_PREFIX}/include/snode.c"
EXPORT_PROPERTIES
Expand Down
1 change: 1 addition & 0 deletions supplement/vocfeeds
Submodule vocfeeds added at 1eb269

0 comments on commit 13245f0

Please sign in to comment.