Improve goahead build.

This commit is contained in:
fancy 2023-12-21 04:49:10 -08:00
parent 690f71e131
commit 20be0d73ed
5 changed files with 27 additions and 34 deletions

View File

@ -19,7 +19,6 @@ all:cmake
clean: clean:
@if [ -d "cmake-shell" ]; then \ @if [ -d "cmake-shell" ]; then \
echo "cmake-shell exist"; \ echo "cmake-shell exist"; \
make -C cmake-shell External_lib_clean; \
make -C cmake-shell clean; \ make -C cmake-shell clean; \
fi fi
@echo "IPC clean." @echo "IPC clean."
@ -29,5 +28,6 @@ clean:
external/openssl/build \ external/openssl/build \
external/curl/curl-8.1.2 \ external/curl/curl-8.1.2 \
external/libconfig/libconfig-1.7.3 \ external/libconfig/libconfig-1.7.3 \
external/goahead-5.2.0/GoAhead \
out \ out \
cmake-shell cmake-shell

2
external/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
goahead-5.2.0/GoAhead

View File

@ -1,9 +1,3 @@
add_subdirectory(sqlite3/sqlite-3430000) add_subdirectory(sqlite3/sqlite-3430000)
add_subdirectory(goahead-5.2.0) 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}
)

View File

@ -1,28 +1,4 @@
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
include(${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/goahead.cmake) include(${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/goahead.cmake)
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH}) set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
set(LIBRARY_OUTPUT_PATH ${LIBS_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
)

View File

@ -22,7 +22,7 @@ aux_source_directory(./src SRC_FILES)
set(TARGET_NAME WebServer) set(TARGET_NAME WebServer)
add_library(${TARGET_NAME} STATIC ${SRC_FILES}) 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") if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
add_custom_target( add_custom_target(
@ -53,4 +53,25 @@ add_custom_command(
) )
endif() 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}) define_file_name(${TARGET_NAME})