From 20be0d73edcee24e161b2e3761de75363be9e97a Mon Sep 17 00:00:00 2001 From: fancy <258828110.@qq.com> Date: Thu, 21 Dec 2023 04:49:10 -0800 Subject: [PATCH] Improve goahead build. --- Makefile | 2 +- external/.gitignore | 2 ++ external/CMakeLists.txt | 8 +------- external/goahead-5.2.0/CMakeLists.txt | 26 +------------------------- utils/WebServer/CMakeLists.txt | 23 ++++++++++++++++++++++- 5 files changed, 27 insertions(+), 34 deletions(-) create mode 100644 external/.gitignore diff --git a/Makefile b/Makefile index 42bc929..de733e6 100755 --- a/Makefile +++ b/Makefile @@ -19,7 +19,6 @@ all:cmake clean: @if [ -d "cmake-shell" ]; then \ echo "cmake-shell exist"; \ - make -C cmake-shell External_lib_clean; \ make -C cmake-shell clean; \ fi @echo "IPC clean." @@ -29,5 +28,6 @@ clean: external/openssl/build \ external/curl/curl-8.1.2 \ external/libconfig/libconfig-1.7.3 \ + external/goahead-5.2.0/GoAhead \ out \ cmake-shell \ No newline at end of file diff --git a/external/.gitignore b/external/.gitignore new file mode 100644 index 0000000..8b47a85 --- /dev/null +++ b/external/.gitignore @@ -0,0 +1,2 @@ + +goahead-5.2.0/GoAhead \ No newline at end of file diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 74bfa4e..b88184f 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -1,9 +1,3 @@ add_subdirectory(sqlite3/sqlite-3430000) -add_subdirectory(goahead-5.2.0) - -add_custom_target( - External_lib_clean - COMMAND rm -rf goahead-5.2.0/GoAhead - WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH} -) \ No newline at end of file +add_subdirectory(goahead-5.2.0) \ No newline at end of file diff --git a/external/goahead-5.2.0/CMakeLists.txt b/external/goahead-5.2.0/CMakeLists.txt index 37f2ddd..b746ca4 100644 --- a/external/goahead-5.2.0/CMakeLists.txt +++ b/external/goahead-5.2.0/CMakeLists.txt @@ -1,28 +1,4 @@ include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) include(${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/goahead.cmake) set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH}) -set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH}) - -# if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX}) -# SET(SET_ARCH "x86") -# else() -# SET(SET_ARCH "arm") -# endif() -# build goahead before make libgo.a -add_custom_command( - OUTPUT ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/Makefile - COMMAND echo "tar zxvf goahead-5.2.0.tar.gz" - COMMAND tar zxvf goahead-5.2.0.tar.gz - WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/ -) -add_custom_command( - OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a - DEPENDS ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/Makefile - COMMAND make CC=${CMAKE_C_COMPILER} ARCH=${SET_ARCH} PROFILE=${LIB_TYPE} - COMMAND mv ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/libgo.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a - WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead -) -add_custom_target( - libgo.a - DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a -) \ No newline at end of file +set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH}) \ No newline at end of file diff --git a/utils/WebServer/CMakeLists.txt b/utils/WebServer/CMakeLists.txt index 2cb686f..b379bb1 100644 --- a/utils/WebServer/CMakeLists.txt +++ b/utils/WebServer/CMakeLists.txt @@ -22,7 +22,7 @@ aux_source_directory(./src SRC_FILES) set(TARGET_NAME WebServer) add_library(${TARGET_NAME} STATIC ${SRC_FILES}) -target_link_libraries(${TARGET_NAME} StatusCode Log) +target_link_libraries(${TARGET_NAME} StatusCode Log -Wl,--start-group libgo.a libmbedtls.a libgoahead-mbedtls.a -Wl,--end-group) if ("${CLANG_TIDY_SUPPORT}" MATCHES "true") add_custom_target( @@ -53,4 +53,25 @@ add_custom_command( ) endif() +# build goahead before make libgo.a +add_custom_command( + OUTPUT ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/Makefile + COMMAND echo "tar zxvf goahead-5.2.0.tar.gz" + COMMAND tar zxvf goahead-5.2.0.tar.gz + WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/ +) +add_custom_command( + OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a + DEPENDS ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/Makefile + COMMAND make CC=${CMAKE_C_COMPILER} ARCH=${SET_ARCH} PROFILE=${LIB_TYPE} + COMMAND mv ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/libgo.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a + COMMAND mv ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/libmbedtls.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libmbedtls.a + COMMAND mv ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/libgoahead-mbedtls.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgoahead-mbedtls.a + WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead +) +add_custom_target( + libgo.a + DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a +) + define_file_name(${TARGET_NAME}) \ No newline at end of file