diff --git a/CMakeLists.txt b/CMakeLists.txt index 6421c173afc6dbe7fc5cf4dae7755148befae3b0..f7d0f9261d890e3c3b9672386116149c5865dd64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_C_STANDARD 11) SET( CPACK_PACKAGE_NAME "${PROJECT_NAME}") SET( CPACK_PACKAGE_VERSION_MAJOR 4) SET( CPACK_PACKAGE_VERSION_MINOR 3) -SET( CPACK_PACKAGE_VERSION_PATCH 25) +SET( CPACK_PACKAGE_VERSION_PATCH 27) # # init CellFrame SDK @@ -16,18 +16,22 @@ SET( CPACK_PACKAGE_VERSION_PATCH 25) # add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}-${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\"") set(SUBMODULES_NO_BUILD ON) - -if (NOT(WIN32)) - set(CELLFRAME_MODULES "core chains mining network srv cs-blocks cs-dag-poa cs-dag-pos cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic srv-vpn") -else() - 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") -endif() +include (cellframe-sdk/cmake/OS_Detection.cmake) if(BUILD_WITH_GDB_DRIVER_MDBX) add_subdirectory(3rdparty/libmdbx) endif() -include (cellframe-sdk/cmake/OS_Detection.cmake) +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() + add_subdirectory(cellframe-sdk) @@ -127,7 +131,10 @@ endif() if(UNIX AND NOT WIN32) set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS "-D_GNU_SOURCE") - set(NODE_LIBRARIES cellframe-sdk ) + + # the `pkg_check_modules` function is created with this call + + set(NODE_LIBRARIES cellframe-sdk ${JSONC_LIBRARIES} ) set(NODE_CLI_LIBRARIES m dap_chain_net dap_cuttdb dap_app_cli) @@ -161,6 +168,8 @@ endif() target_include_directories(${PROJECT_NAME} INTERFACE .) + + if(NOT ANDROID) target_include_directories(${NODE_CLI_TARGET} INTERFACE .) target_include_directories(${NODE_TOOL_TARGET} INTERFACE .) diff --git a/cmake/OS_Detection.cmake b/cmake/OS_Detection.cmake deleted file mode 100644 index fe97e43b0201aa877fbebf8a1527089e54b6523f..0000000000000000000000000000000000000000 --- a/cmake/OS_Detection.cmake +++ /dev/null @@ -1,124 +0,0 @@ -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(OS_TYPE_DESKTOP ON) - set(LINUX ON) - set(UNIX ON) - EXECUTE_PROCESS( COMMAND cat /etc/os-release COMMAND grep VERSION_CODENAME COMMAND sed s/VERSION_CODENAME=// COMMAND tr -d '\n' OUTPUT_VARIABLE L_DEBIAN_OS_NAME) - EXECUTE_PROCESS( COMMAND cat /etc/os-release COMMAND grep VERSION_ID COMMAND sed s/VERSION_ID=// COMMAND tr -d '\n' COMMAND sed s/\\x22// COMMAND sed s/\\x22// OUTPUT_VARIABLE L_DEBIAN_OS_VERSION) - SET(DEBIAN_OS_NAME "${L_DEBIAN_OS_NAME}") - SET(DEBIAN_OS_VERSION ${L_DEBIAN_OS_VERSION}) - message("[ ] Debian OS ${DEBIAN_OS_VERSION} (${DEBIAN_OS_NAME})") -# check if we're building natively on Android (TERMUX) - EXECUTE_PROCESS( COMMAND uname -o COMMAND tr -d '\n' OUTPUT_VARIABLE OPERATING_SYSTEM) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Android") - set(ANDROID ON) - set(UNIX ON) - set(LINUX OFF) - set(OS_TYPE_MOBILE ON) - message("[*] ANDROID build") - add_definitions(-DANDROID -DDAP_OS_ANDROID) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Win") - set(OS_TYPE_DESKTOP ON) -endif() - -if((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (DAP_DEBUG)) - message("[!] Debug build") - SET(DAP_DEBUG ON) -else() - message("[!] Release build") - SET(DAP_RELEASE ON) -endif() - -if(CMAKE_SIZEOF_VOID_P EQUAL "8") - set(DEFAULT_BUILD_64 ON) -else() - set(DEFAULT_BUILD_64 OFF) -endif() -option(BUILD_64 "Build for 64-bit? 'OFF' builds for 32-bit." ${DEFAULT_BUILD_64}) - -if(BUILD_64) - set(ARCH_WIDTH "64") -else() - set(ARCH_WIDTH "32") -endif() -message(STATUS "[*] Building for a ${ARCH_WIDTH}-bit system") - -if(UNIX) - add_definitions ("-DDAP_OS_UNIX") - if (APPLE) - add_definitions ("-DDAP_OS_DARWIN -DDARWIN -DDAP_OS_BSD") - set(DARWIN ON) - endif() - - if (${CMAKE_SYSTEM_NAME} MATCHES "BSD" ) - add_definitions ("-DDAP_OS_BSD") - set(BSD ON) - endif() - - if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" ) - add_definitions ("-DDAP_OS_LINUX") - endif() - - if (LINUX) - if(DAP_DEBUG) - set(_CCOPT "-DDAP_DEBUG -Wall -Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing") - set(_LOPT "-pg") - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") - else() - set(_CCOPT "-Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -O3 -fPIC -fno-strict-aliasing -fno-ident -ffast-math -ftree-vectorize -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -Wl,--strip-all -std=gnu11") - endif() - endif() - if (BSD) - if(DAP_DEBUG) - set(_CCOPT "-DDAP_DEBUG -Wall -Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing") - set(_LOPT "-pg") - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") - else() - set(_CCOPT "-Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -O3 -fPIC -fno-strict-aliasing -fno-ident -ffast-math -ftree-vectorize -fno-asynchronous-unwind-tables -ffunction-sections -std=gnu11") - endif() - endif() - - if (ANDROID) - set(_CCOPT "${_CCOPT} -fforce-enable-int128 -std=gnu11") - add_definitions ("-DDAP_OS_ANDROID") - add_definitions ("-DDAP_OS_LINUX") - endif() - - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}") - set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${_LOPT}") - -endif() - -if(WIN32) - message(STATUS "[*] Building for Windows") - add_definitions("-DHAVE_PREAD") - add_definitions("-DHAVE_MMAP") - add_definitions("-DHAVE_STRNDUP") - - add_definitions ("-DUNDEBUG") - add_definitions ("-DNDEBUG") - add_definitions ("-DWIN32") - add_definitions ("-D_WINDOWS") - add_definitions ("-D__WINDOWS__") - add_definitions ("-D_CRT_SECURE_NO_WARNINGS") - add_definitions ("-DCURL_STATICLIB") - add_definitions("-DHAVE_PREAD") - add_definitions("-DHAVE_MMAP") - add_definitions("-DHAVE_STRNDUP") - add_definitions("-DNGHTTP2_STATICLIB") - add_compile_definitions(WINVER=0x0600 _WIN32_WINNT=0x0600) - add_definitions ("-DDAP_OS_WINDOWS") - - if(DAP_DEBUG) - set(_CCOPT "-mconsole -static -Wall -std=gnu11 -Wextra -Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -g3 -ggdb -fno-strict-aliasing -fno-eliminate-unused-debug-symbols -pg") - set(_LOPT "-mconsole -static -pg") - else() - set(_CCOPT "-static -std=gnu11 -Wall -Wextra -Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -O3 -fno-ident -ffast-math -fno-strict-aliasing -ftree-vectorize -mfpmath=sse -mmmx -msse2 -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -Wl,--strip-all") - endif() - - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT} ") - set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${_LOPT}") - - include_directories(3rdparty/uthash/src/) - include_directories(3rdparty/wepoll/) - #include_directories(libdap-chain-net-srv-vpn/) -endif() diff --git a/sources/main.c b/sources/main.c index a878372420046495ac647a941e2f629c40aef898..cfee3293f2cb02b4299b5fb101d3396f164d7b6d 100755 --- a/sources/main.c +++ b/sources/main.c @@ -364,7 +364,7 @@ int main( int argc, const char **argv ) } -#ifndef _WIN32 +#ifdef DAP_OS_LINUX // 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) { diff --git a/sources/main_node_tool.c b/sources/main_node_tool.c index 3d21d959c0297fbf27e73c5e03067f1ecc0d517e..b2945aa8a39a7ee0c9c6cf0164aa8b5b302a18e8 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