diff --git a/CMakeLists.txt b/CMakeLists.txt index 126870f..5911606 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,10 +32,13 @@ endif () if (USED_LWIP) MESSAGE("Select Option USED_LWIP") - ADD_SUBDIRECTORY(srcs/lwip) endif () if (USED_OPENDHCPD) MESSAGE("Select Option USED_OPENDHCPD") ADD_SUBDIRECTORY(srcs/open_dhcp) endif () + +if (USED_LWIP OR VCPE_AGENT) + ADD_SUBDIRECTORY(srcs/lwip) +endif () diff --git a/srcs/CMakeLists.txt b/srcs/CMakeLists.txt index 5921e57..8b80869 100644 --- a/srcs/CMakeLists.txt +++ b/srcs/CMakeLists.txt @@ -11,12 +11,15 @@ include(ExternalProject) # 判断依赖库是否存在 FIND_PACKAGE(PkgConfig) -PKG_SEARCH_MODULE(LIBCURL REQUIRED libcurl) -PKG_SEARCH_MODULE(LIBSSL REQUIRED libssl) -PKG_SEARCH_MODULE(LIBCRYPTO REQUIRED libcrypto) +if (USED_LWIP OR VCPE_AGENT) + PKG_SEARCH_MODULE(LIBCURL REQUIRED libcurl) + PKG_SEARCH_MODULE(LIBSSL REQUIRED libssl) + PKG_SEARCH_MODULE(LIBCRYPTO REQUIRED libcrypto) + LIST(APPEND COMMON_LIBS "${LIBCURL_LDFLAGS} ${LIBSSL_LDFLAGS} ${LIBCRYPTO_LDFLAGS}") + LIST(APPEND COMMON_LIBS "-ldl -lpthread -lzlog -lm -luv -lzmq -luuid -lconfig") +endif () -SET(COMMON_LIBS ${LIBCURL_LDFLAGS} ${LIBSSL_LDFLAGS} ${LIBCRYPTO_LDFLAGS}) -SET(COMMON_LIBS ${COMMON_LIBS} "-ldl -lpthread -lzlog -lm -luv -lzmq -luuid -lconfig") +LIST(APPEND COMMON_LIBS "-lpthread") INCLUDE_DIRECTORIES(include ./ ./include ./libs/include ./lwip/src/include ./lwip/src/arch_linux/include ${COMMON_INCLUDE}) diff --git a/srcs/libs/CMakeLists.txt b/srcs/libs/CMakeLists.txt index aef0347..8f3eb0c 100644 --- a/srcs/libs/CMakeLists.txt +++ b/srcs/libs/CMakeLists.txt @@ -7,19 +7,22 @@ include(ExternalProject) INCLUDE_DIRECTORIES(include ./ ./include ../lwip/src/include ../lwip/src/arch_linux/include ../include ${COMMON_INCLUDE}) FILE(GLOB C_HEADS include/*.h include/uthash/*.h include/s2j/*.h) -AUX_SOURCE_DIRECTORY(args C_SRC) -AUX_SOURCE_DIRECTORY(init C_SRC) -AUX_SOURCE_DIRECTORY(misc C_SRC) -AUX_SOURCE_DIRECTORY(database C_SRC) -AUX_SOURCE_DIRECTORY(banner C_SRC) -AUX_SOURCE_DIRECTORY(configure C_SRC) -AUX_SOURCE_DIRECTORY(network C_SRC) -AUX_SOURCE_DIRECTORY(task C_SRC) -AUX_SOURCE_DIRECTORY(mq C_SRC) -AUX_SOURCE_DIRECTORY(cmdline C_SRC) -AUX_SOURCE_DIRECTORY(crypto C_SRC) AUX_SOURCE_DIRECTORY(json C_SRC) -AUX_SOURCE_DIRECTORY(hardware C_SRC) + +if (USED_LWIP OR VCPE_AGENT) + AUX_SOURCE_DIRECTORY(args C_SRC) + AUX_SOURCE_DIRECTORY(init C_SRC) + AUX_SOURCE_DIRECTORY(misc C_SRC) + AUX_SOURCE_DIRECTORY(database C_SRC) + AUX_SOURCE_DIRECTORY(banner C_SRC) + AUX_SOURCE_DIRECTORY(configure C_SRC) + AUX_SOURCE_DIRECTORY(network C_SRC) + AUX_SOURCE_DIRECTORY(task C_SRC) + AUX_SOURCE_DIRECTORY(mq C_SRC) + AUX_SOURCE_DIRECTORY(cmdline C_SRC) + AUX_SOURCE_DIRECTORY(crypto C_SRC) + AUX_SOURCE_DIRECTORY(hardware C_SRC) +endif () SET(CMAKE_C_STANDARD 99) diff --git a/srcs/open_dhcp/CMakeLists.txt b/srcs/open_dhcp/CMakeLists.txt index cf58a61..6b34cbc 100644 --- a/srcs/open_dhcp/CMakeLists.txt +++ b/srcs/open_dhcp/CMakeLists.txt @@ -6,7 +6,7 @@ INCLUDE_DIRECTORIES(../libs/include ./) FILE(GLOB DHCPD_HEADS ./*.h) -add_definitions(-Wno-format-overflow) +ADD_DEFINITIONS(-Wno-format-overflow) #ADD_EXECUTABLE(${PROJECT_TARGET} opendhcpd.cpp ${DHCPD_HEADS}) ADD_LIBRARY(${DHCPD_PROJECT_TARGET} opendhcpd.cpp ${DHCPD_HEADS}) diff --git a/srcs/open_dhcp/opendhcpd.cpp b/srcs/open_dhcp/opendhcpd.cpp index d985e6c..c4e3e46 100644 --- a/srcs/open_dhcp/opendhcpd.cpp +++ b/srcs/open_dhcp/opendhcpd.cpp @@ -1765,8 +1765,10 @@ MYDWORD chkaddr(data9 *req) { #include +#pragma clang diagnostic push +#pragma ide diagnostic ignored "cert-err34-c" int getHwAddr(char *buff, char *mac) { - if (buff == NULL || mac == NULL) { + if (buff == nullptr || mac == nullptr) { return -1; } @@ -1778,14 +1780,15 @@ int getHwAddr(char *buff, char *mac) { } for (i = 0; i < 6; i++) { - buff[i] = p[i]; + buff[i] = (char)p[i]; } return 0; } +#pragma clang diagnostic pop int arpSet(const char *ifname, char *ipStr, char *mac) { - if (ifname == NULL || ipStr == NULL || mac == NULL) { + if (ifname == nullptr || ipStr == nullptr || mac == nullptr) { printf("para is null.\n"); return -1; } diff --git a/srcs/vcpe_main.c b/srcs/vcpe_main.c index 9c56331..f412c92 100644 --- a/srcs/vcpe_main.c +++ b/srcs/vcpe_main.c @@ -1,14 +1,15 @@ // // Created by xajhu on 2021/6/29 0029. // +#if LWIP_ON #include #include - #include "cmdline.h" #include "task_manager.h" #include "init.h" #include "user_info.h" #include "lwip/tcpip.h" +#endif #include "open_dhcp/dhcpd.h" #if LWIP_ON