Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit b967781

Browse files
committed
temp
1 parent 45b2706 commit b967781

30 files changed

+26258
-80
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ prism.log
1414
api.json
1515
openai-python/*
1616
build
17+
build_deps
1718
platform/cortex.exe
1819
platform/package-lock.json
1920
.vscode

.gitmodules

Lines changed: 0 additions & 3 deletions
This file was deleted.

engine/CMakeLists.txt

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,15 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.22)
22

33
project(cortex-server C CXX)
44

55
include(CheckIncludeFileCXX)
66

7-
check_include_file_cxx(any HAS_ANY)
8-
check_include_file_cxx(string_view HAS_STRING_VIEW)
9-
check_include_file_cxx(coroutine HAS_COROUTINE)
10-
if(HAS_ANY
11-
AND HAS_STRING_VIEW
12-
AND HAS_COROUTINE)
13-
set(CMAKE_CXX_STANDARD 20)
14-
elseif(HAS_ANY AND HAS_STRING_VIEW)
15-
set(CMAKE_CXX_STANDARD 17)
16-
else()
17-
set(CMAKE_CXX_STANDARD 14)
18-
endif()
7+
set(CMAKE_CXX_STANDARD 17)
8+
MESSAGE("CMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD})
199

2010
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2111
set(CMAKE_CXX_EXTENSIONS OFF)
22-
set(OPENSSL_USE_STATIC_LIBS TRUE)
12+
# set(OPENSSL_USE_STATIC_LIBS TRUE)
2313
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2414

2515
# Add CORTEX_CQA option
@@ -102,27 +92,36 @@ add_compile_definitions(CORTEX_VARIANT="${CORTEX_VARIANT}")
10292
add_compile_definitions(CORTEX_CPP_VERSION="${CORTEX_CPP_VERSION}")
10393
add_compile_definitions(CORTEX_CONFIG_FILE_PATH="${CORTEX_CONFIG_FILE_PATH}")
10494

105-
option(CMAKE_BUILD_TEST "Enable testing" OFF)
95+
option(CMAKE_BUILD_TEST "Enable testing" ON)
10696
option(CMAKE_BUILD_INJA_TEST "Enable inja example" OFF)
107-
if(CMAKE_BUILD_TEST)
97+
# if(CMAKE_BUILD_TEST)
10898
add_subdirectory(test)
109-
endif()
99+
# endif()
110100

111101
add_subdirectory(cli)
112102

113103
if(CMAKE_BUILD_INJA_TEST)
114104
add_subdirectory(examples/inja)
115105
endif()
116-
117-
find_package(jsoncpp CONFIG REQUIRED)
118-
find_package(Drogon CONFIG REQUIRED)
119-
find_package(yaml-cpp CONFIG REQUIRED)
120-
find_package(unofficial-minizip CONFIG REQUIRED)
121-
find_package(LibArchive REQUIRED)
122-
find_package(CURL REQUIRED)
123-
find_package(SQLiteCpp REQUIRED)
124-
find_package(eventpp CONFIG REQUIRED)
125-
find_package(lfreist-hwinfo CONFIG REQUIRED)
106+
include(cmake/cli11.cmake)
107+
include(cmake/libarchive.cmake)
108+
include(cmake/curl.cmake)
109+
include(cmake/drogon.cmake)
110+
include(cmake/eventpp.cmake)
111+
include(cmake/gtest.cmake)
112+
include(cmake/indicators.cmake)
113+
include(cmake/inja.cmake)
114+
115+
include(cmake/lfreist-hwinfo.cmake)
116+
include(cmake/minizip.cmake)
117+
include(cmake/sqlitecpp.cmake)
118+
include(cmake/tabulate.cmake)
119+
include(cmake/yaml-cpp.cmake)
120+
121+
find_library(JSONCPP
122+
NAMES jsoncpp
123+
HINTS ${CMAKE_CURRENT_SOURCE_DIR}/build_deps/jsoncpp-lib/lib/
124+
)
126125

127126
## Generating openapi json
128127
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/../docs/static/openapi/cortex.json" JSON_CONTENT)
@@ -184,7 +183,6 @@ file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/cortex_openapi.h"
184183
"}\n"
185184
)
186185
## End of generating openapi json
187-
188186
add_executable(${TARGET_NAME} main.cc
189187
${CMAKE_CURRENT_SOURCE_DIR}/utils/cpuid/cpu_info.cc
190188
${CMAKE_CURRENT_SOURCE_DIR}/utils/file_logger.cc
@@ -199,15 +197,22 @@ add_executable(${TARGET_NAME} main.cc
199197
)
200198

201199
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
202-
203-
target_link_libraries(${TARGET_NAME} PRIVATE unofficial::minizip::minizip)
204-
target_link_libraries(${TARGET_NAME} PRIVATE LibArchive::LibArchive)
205-
target_link_libraries(${TARGET_NAME} PRIVATE CURL::libcurl)
206-
target_link_libraries(${TARGET_NAME} PRIVATE JsonCpp::JsonCpp Drogon::Drogon OpenSSL::SSL OpenSSL::Crypto yaml-cpp::yaml-cpp
207-
${CMAKE_THREAD_LIBS_INIT})
200+
# MESSAGE("ssl="${CMAKE_CURRENT_BINARY_DIR}/openssl-src/include)
201+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/openssl/include)
202+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/jsoncpp-lib/include)
203+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../build/_deps/libarchive-src/libarchive)
204+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../build/_deps/minizip-src)
205+
206+
target_link_libraries(${TARGET_NAME} PRIVATE minizip)
207+
target_link_libraries(${TARGET_NAME} PRIVATE archive)
208+
target_link_libraries(${TARGET_NAME} PRIVATE drogon)
208209
target_link_libraries(${TARGET_NAME} PRIVATE SQLiteCpp)
209-
target_link_libraries(${TARGET_NAME} PRIVATE eventpp::eventpp)
210-
target_link_libraries(${TARGET_NAME} PRIVATE lfreist-hwinfo::hwinfo)
210+
target_link_libraries(${TARGET_NAME} PRIVATE ${JSONCPP})
211+
target_link_libraries(${TARGET_NAME} PRIVATE libcurl)
212+
target_link_libraries(${TARGET_NAME} PRIVATE eventpp)
213+
target_link_libraries(${TARGET_NAME} PRIVATE yaml-cpp)
214+
target_link_libraries(${TARGET_NAME} PRIVATE hwinfo)
215+
target_link_libraries(${TARGET_NAME} PRIVATE inja)
211216

212217
# ##############################################################################
213218

engine/cli/CMakeLists.txt

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,17 @@ add_compile_definitions(CORTEX_VARIANT="${CORTEX_VARIANT}")
5959
add_compile_definitions(CORTEX_CPP_VERSION="${CORTEX_CPP_VERSION}")
6060
add_compile_definitions(CORTEX_CONFIG_FILE_PATH="${CORTEX_CONFIG_FILE_PATH}")
6161

62-
find_package(jsoncpp CONFIG REQUIRED)
63-
find_package(yaml-cpp CONFIG REQUIRED)
64-
find_package(CLI11 CONFIG REQUIRED)
65-
find_package(unofficial-minizip CONFIG REQUIRED)
66-
find_package(LibArchive REQUIRED)
67-
find_package(tabulate CONFIG REQUIRED)
68-
find_package(CURL REQUIRED)
69-
find_package(SQLiteCpp REQUIRED)
70-
find_package(Trantor CONFIG REQUIRED)
71-
find_package(indicators CONFIG REQUIRED)
72-
find_package(lfreist-hwinfo CONFIG REQUIRED)
62+
# find_package(jsoncpp CONFIG REQUIRED)
63+
# find_package(yaml-cpp CONFIG REQUIRED)
64+
# find_package(CLI11 CONFIG REQUIRED)
65+
# find_package(unofficial-minizip CONFIG REQUIRED)
66+
# find_package(LibArchive REQUIRED)
67+
# find_package(tabulate CONFIG REQUIRED)
68+
# find_package(CURL REQUIRED)
69+
# find_package(SQLiteCpp REQUIRED)
70+
# find_package(Trantor CONFIG REQUIRED)
71+
# find_package(indicators CONFIG REQUIRED)
72+
# find_package(lfreist-hwinfo CONFIG REQUIRED)
7373

7474

7575
add_executable(${TARGET_NAME} main.cc
@@ -98,17 +98,19 @@ add_executable(${TARGET_NAME} main.cc
9898
${CMAKE_CURRENT_SOURCE_DIR}/../utils/process/utils.cc
9999
)
100100

101-
target_link_libraries(${TARGET_NAME} PRIVATE CLI11::CLI11)
102-
target_link_libraries(${TARGET_NAME} PRIVATE unofficial::minizip::minizip)
103-
target_link_libraries(${TARGET_NAME} PRIVATE LibArchive::LibArchive)
104-
target_link_libraries(${TARGET_NAME} PRIVATE tabulate::tabulate)
105-
target_link_libraries(${TARGET_NAME} PRIVATE CURL::libcurl)
106-
target_link_libraries(${TARGET_NAME} PRIVATE JsonCpp::JsonCpp OpenSSL::SSL OpenSSL::Crypto yaml-cpp::yaml-cpp
107-
${CMAKE_THREAD_LIBS_INIT})
101+
102+
target_link_libraries(${TARGET_NAME} PRIVATE CLI11)
108103
target_link_libraries(${TARGET_NAME} PRIVATE SQLiteCpp)
109-
target_link_libraries(${TARGET_NAME} PRIVATE Trantor::Trantor)
110-
target_link_libraries(${TARGET_NAME} PRIVATE indicators::indicators)
111-
target_link_libraries(${TARGET_NAME} PRIVATE lfreist-hwinfo::hwinfo)
104+
target_link_libraries(${TARGET_NAME} PRIVATE minizip)
105+
target_link_libraries(${TARGET_NAME} PRIVATE drogon)
106+
target_link_libraries(${TARGET_NAME} PRIVATE archive)
107+
target_link_libraries(${TARGET_NAME} PRIVATE tabulate)
108+
target_link_libraries(${TARGET_NAME} PRIVATE libcurl)
109+
target_link_libraries(${TARGET_NAME} PRIVATE eventpp)
110+
target_link_libraries(${TARGET_NAME} PRIVATE yaml-cpp)
111+
target_link_libraries(${TARGET_NAME} PRIVATE hwinfo)
112+
target_link_libraries(${TARGET_NAME} PRIVATE inja)
113+
target_link_libraries(${TARGET_NAME} PRIVATE indicators)
112114

113115
# ##############################################################################
114116

@@ -133,6 +135,8 @@ aux_source_directory(../extensions EX_SRC)
133135

134136
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/.. )
135137
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
138+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../build_deps/openssl/include)
139+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../build_deps/jsoncpp-lib/include)
136140

137141
target_sources(${TARGET_NAME} PRIVATE ${COMMANDS_SRC} ${CONFIG_SRC} ${COMMON_SRC} ${DB_SRC} ${EX_SRC})
138142

engine/cmake/c-ares.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
include(ExternalProject)
2+
3+
# c-ares setup
4+
set(CARES_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/c-ares-lib)
5+
ExternalProject_Add(c-ares-project
6+
GIT_REPOSITORY https://github.com/c-ares/c-ares.git
7+
GIT_TAG v1.34.4
8+
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/c-ares-src
9+
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/c-ares-build
10+
INSTALL_DIR ${CARES_INSTALL_DIR}
11+
CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${CARES_INSTALL_DIR}"
12+
)
13+
14+
ExternalProject_Get_Property(c-ares-project INSTALL_DIR)
15+
add_library(c-ares STATIC IMPORTED)
16+
set(CARES_LIBRARIES ${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cares${CMAKE_STATIC_LIBRARY_SUFFIX})
17+
set(CARES_INCLUDE_DIRS ${INSTALL_DIR}/include)
18+
set_property(TARGET c-ares PROPERTY IMPORTED_LOCATION ${CARES_LIBRARIES})
19+
set_property(TARGET c-ares PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CARES_INCLUDE_DIRS})
20+
add_dependencies(c-ares c-ares-project)

engine/cmake/cli11.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include(FetchContent)
2+
3+
FetchContent_Declare(cli11
4+
GIT_REPOSITORY https://github.com/CLIUtils/CLI11.git
5+
GIT_TAG v2.5.0
6+
)
7+
8+
FetchContent_MakeAvailable(cli11)

engine/cmake/curl.cmake

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
include(FetchContent)
2+
3+
# FetchContent_Declare(openssl
4+
# GIT_REPOSITORY https://github.com/openssl/openssl.git
5+
# GIT_TAG openssl-3.4.1
6+
# )
7+
8+
# FetchContent_MakeAvailable(openssl)
9+
10+
# set(OPENSSL_SSL_LIBRARY SSL)
11+
# set(OPENSSL_CRYPTO_LIBRARY Crypto)
12+
# set(OPENSSL_INCLUDE_DIR "${openssl_BINARY_DIR}/include" "${openssl_BINARY_DIR}")
13+
14+
# find_package(OpenSSL REQUIRED)
15+
# SET(OPENSSL_FOUND TRUE)
16+
set(OPENSSL_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/openssl)
17+
set(OPENSSL_INCLUDE_DIR ${OPENSSL_INSTALL_DIR}/include)
18+
set(OPENSSL_ROOT_DIR ${OPENSSL_INSTALL_DIR}/lib64)
19+
20+
set(CURL_USE_LIBPSL OFF)
21+
set(BUILD_EXAMPLES OFF)
22+
FetchContent_Declare(curl
23+
GIT_REPOSITORY https://github.com/curl/curl.git
24+
GIT_TAG curl-8_12_1
25+
)
26+
27+
FetchContent_MakeAvailable(curl)

engine/cmake/drogon.cmake

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
include(FetchContent)
2+
3+
# FetchContent_Declare(c-ares
4+
# GIT_REPOSITORY https://github.com/c-ares/c-ares.git
5+
# GIT_TAG v1.34.4
6+
# )
7+
8+
# FetchContent_MakeAvailable(c-ares)
9+
# set(C-ARES_INCLUDE_DIRS "${c-ares_BINARY_DIR}" "${c-ares_SOURCE_DIR}/include")
10+
11+
# set(C-ARES_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/lib)
12+
# message("xxx="${C-ARES_LIBRARIES})
13+
14+
# FetchContent_Declare(jsoncpp
15+
# GIT_REPOSITORY https://github.com/open-source-parsers/jsoncpp.git
16+
# GIT_TAG 1.9.5
17+
# )
18+
19+
# FetchContent_MakeAvailable(jsoncpp)
20+
# MESSAGE("jsoncpp_SOURCE_DIR" ${jsoncpp_SOURCE_DIR})
21+
22+
# set(JSONCPP_INCLUDE_DIRS "${jsoncpp_SOURCE_DIR}/include")
23+
# set(JSONCPP_LIBRARIES "${jsoncpp_BINARY_DIR}")
24+
set(USE_OSSP_UUID TRUE)
25+
26+
27+
# FetchContent_Declare(openssl
28+
# GIT_REPOSITORY https://github.com/openssl/openssl.git
29+
# GIT_TAG openssl-3.4.1
30+
# )
31+
32+
# FetchContent_MakeAvailable(openssl)
33+
34+
# set(OPENSSL_SSL_LIBRARY SSL)
35+
# set(OPENSSL_CRYPTO_LIBRARY Crypto)
36+
set(OPENSSL_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/openssl)
37+
set(OPENSSL_INCLUDE_DIR ${OPENSSL_INSTALL_DIR}/include)
38+
set(OPENSSL_ROOT_DIR ${OPENSSL_INSTALL_DIR}/lib64)
39+
# set(OPENSSL_INCLUDE_DIR "${openssl_BINARY_DIR}/include" "${openssl_BINARY_DIR}")
40+
41+
42+
set(JSONCPP_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/jsoncpp-lib)
43+
set(JSONCPP_LIBRARIES ${JSONCPP_INSTALL_DIR}/lib/libjsoncpp.so)
44+
set(JSONCPP_INCLUDE_DIRS ${JSONCPP_INSTALL_DIR}/include)
45+
message("JSONCPP_INCLUDE_DIRS="${JSONCPP_INCLUDE_DIRS})
46+
47+
set(C-ARES_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/../build_deps/c-ares-lib)
48+
set(C-ARES_LIBRARIES ${C-ARES_INSTALL_DIR}/lib/libcares.so)
49+
set(C-ARES_INCLUDE_DIRS ${C-ARES_INSTALL_DIR}/include)
50+
# message("C-ARES_INCLUDE_DIRS="${C-ARES_INCLUDE_DIRS})
51+
# FetchContent_GetProperties(openssl)
52+
# if(NOT openssl_POPULATED)
53+
# FetchContent_Populate(openssl)
54+
# add_subdirectory(${openssl_SOURCE_DIR} ${openssl_BINARY_DIR})
55+
# endif()
56+
MESSAGE("sang1" ${OPENSSL_ROOT_DIR})
57+
find_package(OpenSSL REQUIRED)
58+
find_package(ZLIB REQUIRED)
59+
MESSAGE("sang1" ${OPENSSL_ROOT_DIR})
60+
FetchContent_Declare(drogon
61+
GIT_REPOSITORY https://github.com/drogonframework/drogon.git
62+
GIT_TAG v1.9.10
63+
)
64+
MESSAGE("sang2")
65+
FetchContent_MakeAvailable(drogon)
66+
MESSAGE("sang3")
67+
68+
# add_library(drogon-1 INTERFACE)
69+
# target_include_directories(drogon-1 INTERFACE ${drogon_SOURCE_DIR}/include ${drogon_BINARY_DIR}/include)
70+
# target_link_libraries(drogon INTERFACE event event_pthreads)

engine/cmake/eventpp.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include(FetchContent)
2+
3+
FetchContent_Declare(eventpp
4+
GIT_REPOSITORY https://github.com/wqking/eventpp.git
5+
GIT_TAG v0.1.3
6+
)
7+
8+
FetchContent_MakeAvailable(eventpp)

engine/cmake/gtest.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include(FetchContent)
2+
3+
FetchContent_Declare(googletest
4+
GIT_REPOSITORY https://github.com/google/googletest.git
5+
GIT_TAG v1.16.0
6+
)
7+
8+
FetchContent_MakeAvailable(googletest)

0 commit comments

Comments
 (0)