diff --git a/src/modelbox/server/CMakeLists.txt b/src/modelbox/server/CMakeLists.txt index 61b3b724b..b33e78c2c 100644 --- a/src/modelbox/server/CMakeLists.txt +++ b/src/modelbox/server/CMakeLists.txt @@ -30,7 +30,7 @@ file(GLOB_RECURSE SERVER_BIN_FILES ${CMAKE_CURRENT_LIST_DIR}/bin/*) list(APPEND MODELBOX_SERVER_INCLUDES ${MODELBOX_INCLUDE}) list(APPEND MODELBOX_SERVER_INCLUDES ${MODELBOX_COMMON_INCLUDE}) -list(APPEND MODELBOX_SERVER_INCLUDES ${LIB_HTTPLIB_INCLUDE_DIR}) +list(APPEND MODELBOX_SERVER_INCLUDES ${CPP_HTTPLIB_INCLUDE}) list(APPEND SERVER_INCLUDES ${LIBMODELBOX_INCLUDE}) list(APPEND SERVER_INCLUDES ${LIBMODELBOX_BASE_INCLUDE}) list(APPEND SERVER_INCLUDES ${MODELBOX_INCLUDE}) @@ -43,7 +43,6 @@ include_directories(${SERVER_INCLUDES}) include_directories(${TOML_INCLUDE_DIR}) include_directories(${DUKTAPE_INCLUDE_DIR}) include_directories(${HUAWEI_SECURE_C_INCLUDE_DIR}) -include_directories(${HTTPLIB_INCLUDE_DIR}) set(HEADER ${MODELBOX_INCLUDE}/modelbox @@ -60,6 +59,7 @@ target_link_libraries(modelbox-server rt) target_link_libraries(modelbox-server ${DUKTAPE_LIBRARIES}) target_link_libraries(modelbox-server manager-client) target_link_libraries(modelbox-server ${OPENSSL_LIBRARIES}) +target_link_libraries(modelbox-server ${CPP_HTTPLIB_STATIC_LIBRARIES}) if(NOT CMAKE_INSTALL_RUNSTATEDIR) set(CMAKE_INSTALL_RUNSTATEDIR "var/run" CACHE INTERNAL "") @@ -156,5 +156,6 @@ set(MODELBOX_SERVER_LINK_LIBRARIES ${BBOX_LIBRARIES} ${LINK_LIBRARIES} manager-client + ${CPP_HTTPLIB_STATIC_LIBRARIES} ${MODELBOX_COMMON_LIBRARY} CACHE INTERNAL "") diff --git a/test/unit/libmodelbox/engine/virtual_node_test.cc b/test/unit/libmodelbox/engine/virtual_node_test.cc index 1967919d6..c76424658 100644 --- a/test/unit/libmodelbox/engine/virtual_node_test.cc +++ b/test/unit/libmodelbox/engine/virtual_node_test.cc @@ -621,7 +621,7 @@ TEST_F(VirtualNodeTest, VirtualNode_Select) { while (true) { std::list> external_list; auto select_status = selector->SelectExternalData( - external_list, std::chrono::milliseconds(1000)); + external_list, std::chrono::milliseconds(3000)); if (select_status == STATUS_TIMEDOUT) { break; } diff --git a/thirdparty/CMake/cpp_httplib_cmakelist.in b/thirdparty/CMake/cpp_httplib_cmakelist.in new file mode 100644 index 000000000..f3421889b --- /dev/null +++ b/thirdparty/CMake/cpp_httplib_cmakelist.in @@ -0,0 +1,30 @@ +# +# Copyright 2021 The Modelbox Project Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +cmake_minimum_required(VERSION 3.10) + +project(cpp-httplib) + +file(GLOB CPP_HTTPLIB_SOURCE *.c *.cpp *.cc) +add_library(cpp-httplib SHARED EXCLUDE_FROM_ALL ${CPP_HTTPLIB_SOURCE}) +add_library(cpp-httplib-static STATIC EXCLUDE_FROM_ALL ${CPP_HTTPLIB_SOURCE}) +set_property(TARGET cpp-httplib-static PROPERTY POSITION_INDEPENDENT_CODE ON) +set_target_properties(cpp-httplib PROPERTIES COMPILE_FLAGS "-DCPPHTTPLIB_OPENSSL_SUPPORT") +set_target_properties(cpp-httplib-static PROPERTIES COMPILE_FLAGS "-DCPPHTTPLIB_OPENSSL_SUPPORT") + +set(CPP_HTTPLIB_INCLUDE ${CMAKE_CURRENT_LIST_DIR} CACHE INTERNAL "") +set(CPP_HTTPLIB_LIBRARIES cpp-httplib CACHE INTERNAL "") +set(CPP_HTTPLIB_STATIC_LIBRARIES cpp-httplib-static CACHE INTERNAL "") diff --git a/thirdparty/CMake/local-package.in b/thirdparty/CMake/local-package.in index 9e1531940..f06a86da0 100644 --- a/thirdparty/CMake/local-package.in +++ b/thirdparty/CMake/local-package.in @@ -90,12 +90,12 @@ ExternalProject_Add( TEST_COMMAND "" ) -# lib-httplib +# cpp-httplib ExternalProject_Add( - lib-httplib + cpp-httplib URL @LOCAL_PACKAGE_PATH@/cpp-httplib-0.9.9.tar.gz - SOURCE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/lib-httplib - CONFIGURE_COMMAND "" + SOURCE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib + CONFIGURE_COMMAND ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib/split.py -o ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib/build BUILD_COMMAND "" INSTALL_COMMAND "" TEST_COMMAND "" diff --git a/thirdparty/CMake/pre-download.in b/thirdparty/CMake/pre-download.in index 57e646282..7a2e6d337 100644 --- a/thirdparty/CMake/pre-download.in +++ b/thirdparty/CMake/pre-download.in @@ -90,12 +90,12 @@ ExternalProject_Add( TEST_COMMAND "" ) -# lib-httplib +# cpp-httplib ExternalProject_Add( - lib-httplib + cpp-httplib URL https://github.com/yhirose/cpp-httplib/archive/refs/tags/v0.9.9.zip - SOURCE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/lib-httplib - CONFIGURE_COMMAND "" + SOURCE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib + CONFIGURE_COMMAND ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib/split.py -o ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib/build BUILD_COMMAND "" INSTALL_COMMAND "" TEST_COMMAND "" diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 83f0dbfba..a6a953922 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -98,7 +98,9 @@ set(TOML_INCLUDE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/toml11 CACHE INTERNAL "") set(NLOHMANN_INCLUDE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/nlohmann/include CACHE INTERNAL "") -set(LIB_HTTPLIB_INCLUDE_DIR ${THIRDPARTY_DOWNLOAD_DIR}/lib-httplib CACHE INTERNAL "") +set(CPP_HTTPLIB_DIR ${THIRDPARTY_DOWNLOAD_DIR}/cpp-httplib/build) +configure_file(CMake/cpp_httplib_cmakelist.in ${CPP_HTTPLIB_DIR}/CMakeLists.txt @ONLY) +add_subdirectory(${CPP_HTTPLIB_DIR} ${THIRDPARTY_DOWNLOAD_WORKING_DIR}/cpp_httplib EXCLUDE_FROM_ALL) # APIGW_CPP的签名库 set(APIGW_CPP_DIR ${THIRDPARTY_DOWNLOAD_BINARY_DIR}/APIGW-cpp-sdk-1.0.2)