Improve build goahead.
This commit is contained in:
parent
b3b4e80931
commit
e4fb89ba1a
|
@ -35,14 +35,14 @@ set(TEST_COVERAGE "true")
|
||||||
# ------------ build curl + openssl ------------ #
|
# ------------ build curl + openssl ------------ #
|
||||||
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
||||||
# ------------ build curl + openssl end ------------ #
|
# ------------ 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 ------------ #
|
# ------------ build IpcConfig ------------ #
|
||||||
set(IPC_CONFIG_FILE_PATH "./ipc_config")
|
set(IPC_CONFIG_FILE_PATH "./ipc_config")
|
||||||
# ------------ build IpcConfig end ------------ #
|
# ------------ build IpcConfig end ------------ #
|
||||||
# ------------ build log ------------ #
|
# ------------ build log ------------ #
|
||||||
set(LOG_SUPPORT "true")
|
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_AUTOMOC ON)
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR 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)
|
aux_source_directory(./src SRC_FILES)
|
||||||
|
|
||||||
set(TARGET_NAME WebServer)
|
set(TARGET_NAME WebServer)
|
||||||
|
@ -67,6 +78,10 @@ add_custom_command(
|
||||||
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/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/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 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
|
WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead
|
||||||
)
|
)
|
||||||
add_custom_target(
|
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(SIGKILL, sigHandler);
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusCode WebServerInit(void)
|
StatusCode WebServerInit(void)
|
||||||
{
|
{
|
||||||
websSetDebug(1);
|
websSetDebug(1);
|
||||||
logSetPath("stdout:2");
|
logSetPath("stdout:2");
|
||||||
const char *documents = ME_GOAHEAD_DOCUMENTS;
|
const char *documents = GOAHEAD_DOCUMENTS_PATH;
|
||||||
const char *route =
|
constexpr int BUF_LENGTH = 128;
|
||||||
"/home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/route.txt";
|
char routePath[BUF_LENGTH] = {0};
|
||||||
// /home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/route.txt
|
char authPath[BUF_LENGTH] = {0};
|
||||||
const char *auth =
|
snprintf(routePath, BUF_LENGTH, "%s/route.txt", GOAHEAD_CONFIG_FILE_PATH);
|
||||||
"/home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/external/goahead-5.2.0/GoAhead/test/auth.txt";
|
snprintf(authPath, BUF_LENGTH, "%s/auth.txt", GOAHEAD_CONFIG_FILE_PATH);
|
||||||
initPlatform();
|
initPlatform();
|
||||||
if (websOpen(documents, route) < 0) {
|
if (websOpen(documents, routePath) < 0) {
|
||||||
LogError("Cannot initialize server. Exiting.\n");
|
LogError("Cannot initialize server. Exiting.\n");
|
||||||
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
||||||
}
|
}
|
||||||
logHeader();
|
logHeader();
|
||||||
if (websLoad(auth) < 0) {
|
if (websLoad(authPath) < 0) {
|
||||||
LogError("Cannot load %s", auth);
|
LogError("Cannot load %s", authPath);
|
||||||
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
return CreateStatusCode(STATUS_CODE_NOT_OK);
|
||||||
}
|
}
|
||||||
if (websListen("192.168.1.189:8080") < 0) {
|
if (websListen("192.168.1.189:8080") < 0) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user