@@ -2,18 +2,6 @@ cmake_minimum_required(VERSION 3.5)
22
33project (cortex C CXX)
44
5- # Build using CMAKE-JS
6- if (DEFINED CMAKE_JS_INC)
7- if (WIN32 )
8- add_definitions (
9- -DV8_COMPRESS_POINTERS
10- -DV8_REVERSE_JSARGS
11- -DV8_COMPRESS_POINTERS_IN_ISOLATE_CAGE
12- )
13- endif ()
14- include_directories (${CMAKE_JS_INC} )
15- endif ()
16-
175include (CheckIncludeFileCXX)
186
197check_include_file_cxx(any HAS_ANY)
@@ -33,8 +21,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
3321set (CMAKE_CXX_EXTENSIONS OFF )
3422set (OPENSSL_USE_STATIC_LIBS TRUE )
3523set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
36- # set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build-deps/_install)
37- # This is the critical line for installing another package
3824
3925if (MSVC )
4026 add_compile_options (
@@ -43,16 +29,6 @@ if(MSVC)
4329 $<$<CONFIG:Release>:/MT> #--|
4430 )
4531endif ()
46-
47- if (LLAMA_CUDA)
48- cmake_minimum_required (VERSION 3.17)
49-
50- find_package (CUDAToolkit)
51- if (CUDAToolkit_FOUND)
52- message (STATUS "cuBLAS found" )
53- add_compile_definitions (GGML_USE_CUDA)
54- endif ()
55- endif ()
5632
5733if (DEBUG)
5834 message (STATUS "CORTEX-CPP DEBUG IS ON" )
@@ -63,29 +39,24 @@ if(NOT DEFINED CORTEX_VARIANT)
6339 set (CORTEX_VARIANT "prod" )
6440endif ()
6541
42+ set (TARGET_NAME ${PROJECT_NAME} )
43+ if (RENAME_EXE)
44+ if (CORTEX_VARIANT STREQUAL "beta" )
45+ set (TARGET_NAME "${PROJECT_NAME} -beta" )
46+ elseif (CORTEX_VARIANT STREQUAL "nightly" )
47+ set (TARGET_NAME "${PROJECT_NAME} -nightly" )
48+ else ()
49+ set (TARGET_NAME ${PROJECT_NAME} )
50+ endif ()
51+ endif ()
52+
6653if (NOT DEFINED CORTEX_CONFIG_FILE_PATH)
6754 set (CORTEX_CONFIG_FILE_PATH "user_home" )
6855endif ()
6956
7057if (NOT DEFINED CORTEX_CPP_VERSION)
7158 set (CORTEX_CPP_VERSION "default_version" )
7259endif ()
73-
74- if (APPLE )
75- if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm.*|ARM64)$" )
76- # MacOS silicon
77- set (LLAMA_METAL_EMBED_LIBRARY ON )
78- set (WHISPER_COREML 1)
79- else ()
80- # MacOS amd64
81- set (LLAMA_METAL OFF )
82- endif ()
83- endif ()
84-
85- if (DEFINED CMAKE_JS_INC)
86- # define NPI_VERSION
87- add_compile_definitions (NAPI_VERSION=8)
88- endif ()
8960
9061add_compile_definitions (CORTEX_VARIANT="${CORTEX_VARIANT} " )
9162add_compile_definitions (CORTEX_CPP_VERSION="${CORTEX_CPP_VERSION} " )
@@ -108,73 +79,29 @@ find_package(LibArchive REQUIRED)
10879find_package (tabulate CONFIG REQUIRED)
10980find_package (CURL REQUIRED)
11081
111- # Build using CMAKE-JS
112- if (DEFINED CMAKE_JS_INC)
113- if (("${CMAKE_CXX_COMPILER_ID} " MATCHES "Clang" ) OR ("${CMAKE_CXX_COMPILER_ID} " MATCHES "GNU" ))
114- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14" )
115- endif ()
116-
117- add_library (${PROJECT_NAME} SHARED addon.cc
82+ add_executable (${TARGET_NAME} main.cc
11883 ${CMAKE_CURRENT_SOURCE_DIR} /utils/cpuid/cpu_info.cc
11984 ${CMAKE_CURRENT_SOURCE_DIR} /utils/file_logger.cc
120- ${CMAKE_JS_SRC}
12185 )
12286
123- if (WIN32 )
124- target_link_libraries (${PROJECT_NAME}
125- PRIVATE
126- msvcprt.lib
127- msvcrt.lib
128- vcruntime.lib
129- ucrt.lib
130- ${CMAKE_JS_LIB}
131- )
132- endif ()
133- else () # Official build
134- add_executable (${PROJECT_NAME} main.cc
135- ${CMAKE_CURRENT_SOURCE_DIR} /utils/cpuid/cpu_info.cc
136- ${CMAKE_CURRENT_SOURCE_DIR} /utils/file_logger.cc
137- )
138- endif ()
139-
140- # ##############################################################################
141- # If you include the drogon source code locally in your project, use this method
142- # to add drogon add_subdirectory(cortex-cpp-deps)
143- # target_link_libraries(${PROJECT_NAME} PRIVATE cortex-cpp-deps)
144- #
145- # and comment out the following lines
146-
147- target_link_libraries (${PROJECT_NAME} PRIVATE httplib::httplib)
148- target_link_libraries (${PROJECT_NAME} PRIVATE nlohmann_json::nlohmann_json)
149- target_link_libraries (${PROJECT_NAME} PRIVATE jinja2cpp)
150- target_link_libraries (${PROJECT_NAME} PRIVATE CLI11::CLI11)
151- target_link_libraries (${PROJECT_NAME} PRIVATE unofficial::minizip::minizip)
152- target_link_libraries (${PROJECT_NAME} PRIVATE LibArchive::LibArchive)
153- target_link_libraries (${PROJECT_NAME} PRIVATE tabulate::tabulate)
154- target_link_libraries (${PROJECT_NAME} PRIVATE CURL::libcurl)
155-
156- # Build using CMAKE-JS
157- if (DEFINED CMAKE_JS_INC)
158- set_target_properties (${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node" )
159-
160- target_link_libraries (${PROJECT_NAME} PRIVATE Drogon::Drogon
161- ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_JS_LIB} )
162-
163- if (MSVC AND CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET)
164- # Generate node.lib
165- execute_process (COMMAND ${CMAKE_AR} /def:${CMAKE_JS_NODELIB_DEF} /out:${CMAKE_JS_NODELIB_TARGET} ${CMAKE_STATIC_LINKER_FLAGS} )
166- endif ()
167- else ()
168- target_link_libraries (${PROJECT_NAME} PRIVATE JsonCpp::JsonCpp Drogon::Drogon OpenSSL::SSL OpenSSL::Crypto yaml-cpp::yaml-cpp
87+ target_link_libraries (${TARGET_NAME} PRIVATE httplib::httplib)
88+ target_link_libraries (${TARGET_NAME} PRIVATE nlohmann_json::nlohmann_json)
89+ target_link_libraries (${TARGET_NAME} PRIVATE jinja2cpp)
90+ target_link_libraries (${TARGET_NAME} PRIVATE CLI11::CLI11)
91+ target_link_libraries (${TARGET_NAME} PRIVATE unofficial::minizip::minizip)
92+ target_link_libraries (${TARGET_NAME} PRIVATE LibArchive::LibArchive)
93+ target_link_libraries (${TARGET_NAME} PRIVATE tabulate::tabulate)
94+ target_link_libraries (${TARGET_NAME} PRIVATE CURL::libcurl)
95+ target_link_libraries (${TARGET_NAME} PRIVATE JsonCpp::JsonCpp Drogon::Drogon OpenSSL::SSL OpenSSL::Crypto yaml-cpp::yaml-cpp
16996 ${CMAKE_THREAD_LIBS_INIT} )
170- endif ()
97+
17198# ##############################################################################
17299
173100if (CMAKE_CXX_STANDARD LESS 17)
174101 # With C++14, use boost to support any and std::string_view
175102 message (STATUS "use c++14" )
176103 find_package (Boost 1.61.0 REQUIRED)
177- target_include_directories (${PROJECT_NAME } PRIVATE ${Boost_INCLUDE_DIRS} )
104+ target_include_directories (${TARGET_NAME } PRIVATE ${Boost_INCLUDE_DIRS} )
178105elseif (CMAKE_CXX_STANDARD LESS 20)
179106 message (STATUS "use c++17" )
180107else ()
@@ -189,6 +116,6 @@ aux_source_directory(cortex-common CORTEX_COMMON)
189116aux_source_directory (config CONFIG_SRC)
190117aux_source_directory (commands COMMANDS_SRC)
191118
192- target_include_directories (${PROJECT_NAME } PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} )
119+ target_include_directories (${TARGET_NAME } PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} )
193120
194- target_sources (${PROJECT_NAME } PRIVATE ${COMMANDS_SRC} ${CONFIG_SRC} ${CTL_SRC} ${COMMON_SRC} ${SERVICES_SRC} )
121+ target_sources (${TARGET_NAME } PRIVATE ${COMMANDS_SRC} ${CONFIG_SRC} ${CTL_SRC} ${COMMON_SRC} ${SERVICES_SRC} )
0 commit comments