1- cmake_minimum_required (VERSION 3.5 )
1+ cmake_minimum_required (VERSION 3.22 )
22
33project (cortex-server C CXX )
44
55include (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
2010set (CMAKE_CXX_STANDARD_REQUIRED ON )
2111set (CMAKE_CXX_EXTENSIONS OFF )
22- set (OPENSSL_USE_STATIC_LIBS TRUE )
12+ # set(OPENSSL_USE_STATIC_LIBS TRUE)
2313set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
2414
2515# Add CORTEX_CQA option
@@ -102,27 +92,36 @@ add_compile_definitions(CORTEX_VARIANT="${CORTEX_VARIANT}")
10292add_compile_definitions (CORTEX_CPP_VERSION= "${CORTEX_CPP_VERSION} " )
10393add_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 )
10696option (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
111101add_subdirectory (cli )
112102
113103if (CMAKE_BUILD_INJA_TEST)
114104 add_subdirectory (examples/inja )
115105endif ()
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
128127file (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-
188186add_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
201199target_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 )
208209target_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
0 commit comments