@@ -6,67 +6,73 @@ include(CheckIncludeFileCXX)
66check_include_file_cxx(any HAS_ANY)
77check_include_file_cxx(string_view HAS_STRING_VIEW)
88check_include_file_cxx(coroutine HAS_COROUTINE)
9- if (HAS_ANY AND HAS_STRING_VIEW AND HAS_COROUTINE)
10- set (CMAKE_CXX_STANDARD 20)
11- elseif (HAS_ANY AND HAS_STRING_VIEW)
12- set (CMAKE_CXX_STANDARD 17)
13- else ()
14- set (CMAKE_CXX_STANDARD 14)
15- endif ()
9+ if (HAS_ANY
10+ AND HAS_STRING_VIEW
11+ AND HAS_COROUTINE)
12+ set (CMAKE_CXX_STANDARD 20)
13+ elseif (HAS_ANY AND HAS_STRING_VIEW)
14+ set (CMAKE_CXX_STANDARD 17)
15+ else ()
16+ set (CMAKE_CXX_STANDARD 14)
17+ endif ()
1618
1719set (CMAKE_CXX_STANDARD_REQUIRED ON )
1820set (CMAKE_CXX_EXTENSIONS OFF )
1921set (OPENSSL_USE_STATIC_LIBS TRUE )
2022set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
21- set (CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR} /build_deps/_install) # This is the critical line for installing another package
23+ set (CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR} /build_deps/_install
24+ )# This is the critical line for installing another package
25+
26+ if (LLAMA_CUBLAS)
27+ cmake_minimum_required (VERSION 3.17)
28+
29+ find_package (CUDAToolkit)
30+ if (CUDAToolkit_FOUND)
31+ message (STATUS "cuBLAS found" )
32+ add_compile_definitions (GGML_USE_CUBLAS)
33+ endif ()
34+ endif ()
2235
2336add_subdirectory (llama.cpp)
2437add_executable (${PROJECT_NAME} main.cc)
2538
2639# ##############################################################################
2740# If you include the drogon source code locally in your project, use this method
28- # to add drogon
29- #add_subdirectory(nitro_deps)
30- #target_link_libraries(${PROJECT_NAME} PRIVATE nitro_deps)
41+ # to add drogon add_subdirectory(nitro_deps)
42+ # target_link_libraries(${PROJECT_NAME} PRIVATE nitro_deps)
3143#
3244# and comment out the following lines
3345find_package (Drogon CONFIG REQUIRED)
34- target_link_libraries (${PROJECT_NAME} PRIVATE Drogon::Drogon common llama ${CMAKE_THREAD_LIBS_INIT} )
46+ target_link_libraries (${PROJECT_NAME} PRIVATE Drogon::Drogon common llama
47+ ${CMAKE_THREAD_LIBS_INIT} )
3548
3649# ##############################################################################
3750
38- if (CMAKE_CXX_STANDARD LESS 17)
39- # With C++14, use boost to support any and std::string_view
40- message (STATUS "use c++14" )
41- find_package (Boost 1.61.0 REQUIRED)
42- target_include_directories (${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS} )
43- elseif (CMAKE_CXX_STANDARD LESS 20)
44- message (STATUS "use c++17" )
45- else ()
46- message (STATUS "use c++20" )
47- endif ()
51+ if (CMAKE_CXX_STANDARD LESS 17)
52+ # With C++14, use boost to support any and std::string_view
53+ message (STATUS "use c++14" )
54+ find_package (Boost 1.61.0 REQUIRED)
55+ target_include_directories (${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS} )
56+ elseif (CMAKE_CXX_STANDARD LESS 20)
57+ message (STATUS "use c++17" )
58+ else ()
59+ message (STATUS "use c++20" )
60+ endif ()
4861
4962aux_source_directory (controllers CTL_SRC)
50- #aux_source_directory(filters FILTER_SRC)
51- #aux_source_directory(plugins PLUGIN_SRC)
52- #aux_source_directory(models MODEL_SRC)
63+ # aux_source_directory(filters FILTER_SRC) aux_source_directory(plugins
64+ # PLUGIN_SRC) aux_source_directory(models MODEL_SRC)
5365
5466drogon_create_views(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} /views
5567 ${CMAKE_CURRENT_BINARY_DIR} )
5668# use the following line to create views with namespaces.
5769# drogon_create_views(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/views
58- # ${CMAKE_CURRENT_BINARY_DIR} TRUE)
70+ # ${CMAKE_CURRENT_BINARY_DIR} TRUE)
5971
60- target_include_directories (${PROJECT_NAME}
61- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} )
62- #${CMAKE_CURRENT_SOURCE_DIR}/models)
63- target_sources (${PROJECT_NAME}
64- PRIVATE
65- ${SRC_DIR}
66- ${CTL_SRC} )
67- # ${FILTER_SRC}
68- # ${PLUGIN_SRC}
69- # ${MODEL_SRC})
72+ target_include_directories (${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} )
73+ # ${CMAKE_CURRENT_SOURCE_DIR}/models)
74+ target_sources (${PROJECT_NAME} PRIVATE ${SRC_DIR} ${CTL_SRC} )
75+ # ${FILTER_SRC} ${PLUGIN_SRC} ${MODEL_SRC})
7076# ##############################################################################
71- # uncomment the following line for dynamically loading views
72- # set_property(TARGET ${PROJECT_NAME} PROPERTY ENABLE_EXPORTS ON)
77+ # uncomment the following line for dynamically loading views set_property(TARGET
78+ # ${PROJECT_NAME} PROPERTY ENABLE_EXPORTS ON)
0 commit comments