mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Improve build goahead.
This commit is contained in:
parent
b3b4e80931
commit
e4fb89ba1a
|
@ -35,14 +35,14 @@ set(TEST_COVERAGE "true")
|
|||
# ------------ build curl + openssl ------------ #
|
||||
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
||||
# ------------ build curl + openssl end ------------ #
|
||||
# ------------ build clang-tools ------------ #
|
||||
# set(CLANG_TIDY_SUPPORT "true")
|
||||
# set(CLANG_FORMAT_SUPPORT "true")
|
||||
# set(LLVM_PATH "/home/xiaojiazhu/project/tmp/llvm-project")
|
||||
# ------------ build clang-tools end ------------ #
|
||||
# ------------ build IpcConfig ------------ #
|
||||
set(IPC_CONFIG_FILE_PATH "./ipc_config")
|
||||
# ------------ build IpcConfig end ------------ #
|
||||
# ------------ build log ------------ #
|
||||
set(LOG_SUPPORT "true")
|
||||
# ------------ build log end ------------ #
|
||||
# ------------ build log end ------------ #
|
||||
# ------------ build GoAhead ------------ #
|
||||
set(GOAHEAD_DOCUMENTS_PATH "web")
|
||||
# GOAHEAD_CONFIG_FILE_PATH should be set when cross compile
|
||||
# set(GOAHEAD_CONFIG_FILE_PATH "./")
|
||||
# ------------ build GoAhead end ------------ #
|
|
@ -18,6 +18,17 @@ include_directories(
|
|||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
if (NOT DEFINED GOAHEAD_DOCUMENTS_PATH)
|
||||
set(GOAHEAD_DOCUMENTS_PATH "web")
|
||||
endif()
|
||||
if (NOT DEFINED GOAHEAD_CONFIG_FILE_PATH)
|
||||
set(GOAHEAD_CONFIG_FILE_PATH "${PLATFORM_PATH}/cmake-shell/")
|
||||
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"./\")
|
||||
else()
|
||||
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"${GOAHEAD_CONFIG_FILE_PATH}\")
|
||||
endif()
|
||||
add_definitions(-DGOAHEAD_DOCUMENTS_PATH=\"${GOAHEAD_DOCUMENTS_PATH}\")
|
||||
|
||||
aux_source_directory(./src SRC_FILES)
|
||||
|
||||
set(TARGET_NAME WebServer)
|
||||
|
@ -63,10 +74,14 @@ add_custom_command(
|
|||
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 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
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.crt ${PLATFORM_PATH}/cmake-shell/
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.key ${PLATFORM_PATH}/cmake-shell/
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/route.txt ${GOAHEAD_CONFIG_FILE_PATH}
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/auth.txt ${GOAHEAD_CONFIG_FILE_PATH}
|
||||
WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead
|
||||
)
|
||||
add_custom_target(
|
||||
|
|
39
utils/WebServer/README.md
Normal file
39
utils/WebServer/README.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
# 1. Goahead开发文档
|
||||
|
||||
## 1.1. Goahead版本
|
||||
|
||||
5.2.0
|
||||
|
||||
## 1.2. 编译脚本
|
||||
|
||||
```
|
||||
# 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 // 拷贝静态库到output目录
|
||||
COMMAND mv ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/libmbedtls.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libmbedtls.a // 拷贝静态库到output目录
|
||||
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 // 拷贝静态库到output目录
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.crt ${PLATFORM_PATH}/cmake-shell/ // 拷贝self.crt,self.key两个到运行目录;
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.key ${PLATFORM_PATH}/cmake-shell/ // 拷贝self.crt,self.key两个到运行目录;
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/route.txt ${GOAHEAD_CONFIG_FILE_PATH} // 配置文件两个:route.txt,auth.txt;
|
||||
COMMAND cp ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/auth.txt ${GOAHEAD_CONFIG_FILE_PATH} // 配置文件两个:route.txt,auth.txt;
|
||||
WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead
|
||||
)
|
||||
add_custom_target(
|
||||
libgo.a // 创建goahead目标
|
||||
DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libgo.a
|
||||
)
|
||||
```
|
||||
|
||||
## 1.3. 环境配置
|
||||
|
||||
1. 拷贝self.crt,self.key两个到运行目录;
|
||||
2. 配置文件两个:route.txt,auth.txt;
|
|
@ -47,25 +47,24 @@ void initPlatform(void)
|
|||
signal(SIGKILL, sigHandler);
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
}
|
||||
|
||||
StatusCode WebServerInit(void)
|
||||
{
|
||||
websSetDebug(1);
|
||||
logSetPath("stdout:2");
|
||||
const char *documents = ME_GOAHEAD_DOCUMENTS;
|
||||
const char *route =
|
||||
"/home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/route.txt";
|
||||
// /home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/route.txt
|
||||
const char *auth =
|
||||
"/home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/auth.txt";
|
||||
const char *documents = GOAHEAD_DOCUMENTS_PATH;
|
||||
constexpr int BUF_LENGTH = 128;
|
||||
char routePath[BUF_LENGTH] = {0};
|
||||
char authPath[BUF_LENGTH] = {0};
|
||||
snprintf(routePath, BUF_LENGTH, "%s/route.txt", GOAHEAD_CONFIG_FILE_PATH);
|
||||
snprintf(authPath, BUF_LENGTH, "%s/auth.txt", GOAHEAD_CONFIG_FILE_PATH);
|
||||
initPlatform();
|
||||
if (websOpen(documents, route) < 0) {
|
||||
if (websOpen(documents, routePath) < 0) {
|
||||
LogError("Cannot initialize server. Exiting.\n");
|
||||
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
||||
}
|
||||
logHeader();
|
||||
if (websLoad(auth) < 0) {
|
||||
LogError("Cannot load %s", auth);
|
||||
if (websLoad(authPath) < 0) {
|
||||
LogError("Cannot load %s", authPath);
|
||||
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
||||
}
|
||||
if (websListen("192.168.1.189:8080") < 0) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user