diff --git a/CMakeLists.txt b/CMakeLists.txt index 19f05e8d2ab12cd78d8aedc6198c16702b1c1b0e..c744ad7e3e3243269bac8996e45acf3212fbbcd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,23 +13,36 @@ SET( CPACK_PACKAGE_VERSION_PATCH 27) # init CellFrame SDK add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\"") set(SUBMODULES_NO_BUILD ON) +include (cellframe-sdk/cmake/OS_Detection.cmake) + +if(BUILD_WITH_GDB_DRIVER_MDBX) +add_subdirectory(3rdparty/libmdbx) +endif() + +if(LINUX) set(SUPPORT_PYTHON_PLUGINS ON) +endif() -if (NOT WIN32) - set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-blocks-poa cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake modules-dynamic srv-vpn") -else() - set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-blocks-poa cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-xchange srv-stake modules-dynamic") + +if (WIN32) + set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-dag-poa cs-block-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic") +elseif(BSD) + set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-dag-poa cs-block-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic") +elseif(ANDROID) + set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-dag-poa cs-block-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange") +elseif(LINUX) + set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-dag-poa cs-block-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic srv-vpn") endif() -include (cellframe-sdk/cmake/OS_Detection.cmake) add_subdirectory(cellframe-sdk) + if(UNIX) - if(LINUX) - message("[*] Linux package setup") SET(CMAKE_INSTALL_PREFIX "/opt/${PROJECT_NAME}") SET(CPACK_INSTALL_PREFIX "/opt/${PROJECT_NAME}") SET(DESTDIR "/opt/${PROJECT_NAME}") + if(LINUX) + message("[*] Linux package setup") SET( CPACK_GENERATOR "DEB") @@ -47,15 +60,15 @@ if(UNIX) SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) SET( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm;${CMAKE_CURRENT_SOURCE_DIR}/debian/templates;${CMAKE_CURRENT_SOURCE_DIR}/debian/config;") - - else() - message("[!] Unix but not linux") - endif() + elseif(BSD) + message("[*] BSD family system ${CMAKE_SYSTEM} ") + else() + message("[!] Unknown UNIX") + endif() else() message("[ ] Not UNIX") endif() - set(NODE_TARGET "${PROJECT_NAME}" ) set(NODE_CLI_TARGET "${PROJECT_NAME}-cli" ) set(NODE_TOOL_TARGET "${PROJECT_NAME}-tool") @@ -112,6 +125,11 @@ if(WIN32) endif() +if(BSD) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L /usr/local/lib ") + set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -L /usr/local/lib") +endif() + #add_executable(${PROJECT_NAME}-cli "sources/main_node_cli.c" "sources/main_node_cli_shell.c" "sources/main_node_cli_net.c" ) #add_executable(${PROJECT_NAME}-tool "sources/main_node_tool.c" ) @@ -157,6 +175,12 @@ if(NOT ANDROID) endif() INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*") +if(LINUX) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist.linux/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*") +elseif(BSD) + INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist.bsd/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*" PATTERN "*") +endif() + INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) if(UNIX AND NOT ANDROID) diff --git a/dist/share/apt/demlabskey.gpg b/dist.linux/share/apt/demlabskey.gpg similarity index 100% rename from dist/share/apt/demlabskey.gpg rename to dist.linux/share/apt/demlabskey.gpg diff --git a/dist/share/cellframe-node.service b/dist.linux/share/cellframe-node.service similarity index 100% rename from dist/share/cellframe-node.service rename to dist.linux/share/cellframe-node.service diff --git a/dist/share/doc/changelog b/dist.linux/share/doc/changelog similarity index 100% rename from dist/share/doc/changelog rename to dist.linux/share/doc/changelog diff --git a/dist/share/logrotate/cellframe-node b/dist.linux/share/logrotate/cellframe-node similarity index 100% rename from dist/share/logrotate/cellframe-node rename to dist.linux/share/logrotate/cellframe-node diff --git a/dist/share/profile.d/cellframe-node.sh b/dist.linux/share/profile.d/cellframe-node.sh similarity index 100% rename from dist/share/profile.d/cellframe-node.sh rename to dist.linux/share/profile.d/cellframe-node.sh diff --git a/sources/main.c b/sources/main.c index d814e5fc37036744a0fe327d1540c96c603cf603..d6b8cb3112bf6974fda41a22c18a9d45a56a7757 100755 --- a/sources/main.c +++ b/sources/main.c @@ -367,7 +367,7 @@ int main( int argc, const char **argv ) } -#ifndef _WIN32 +#if defined(DAP_OS_LINUX) && ! defined (DAP_OS_ANDROID) // vpn server if(dap_config_get_item_bool_default(g_config, "srv_vpn", "enabled", false)) { if(dap_chain_net_srv_vpn_init(g_config) != 0) { @@ -380,7 +380,6 @@ int main( int argc, const char **argv ) log_it(L_ERROR, "Can't init dap chain network service vpn client"); return -72; } -#endif if(dap_config_get_item_bool_default(g_config, "srv_vpn", "geoip_enabled", false)) { if(chain_net_geoip_init(g_config) != 0) { @@ -388,6 +387,7 @@ int main( int argc, const char **argv ) return -73; } } +#endif if ( dap_chain_node_cli_init(g_config) ) { log_it( L_CRITICAL, "Can't init server for console" ); diff --git a/sources/main_node_tool.c b/sources/main_node_tool.c index a74f6306ffba2e5d941e9bc459c7ce2de2878a64..7d0738de194bd9d3c0d8da6f68bcadb6900a5af9 100644 --- a/sources/main_node_tool.c +++ b/sources/main_node_tool.c @@ -67,7 +67,7 @@ #include "dap_chain_net_srv_app_db.h" #include "dap_chain_net_srv_datum.h" -#ifndef _WIN32 +#ifdef DAP_OS_LINUX #include "dap_chain_net_srv_vpn.h" #endif