File tree Expand file tree Collapse file tree 4 files changed +38
-28
lines changed Expand file tree Collapse file tree 4 files changed +38
-28
lines changed Original file line number Diff line number Diff line change 2929 set (LLAMA_STANDALONE OFF )
3030endif ()
3131
32+ option (LLAMA_USE_SYSTEM_GGML "Use system libggml" OFF )
33+
3234if (EMSCRIPTEN)
3335 set (BUILD_SHARED_LIBS_DEFAULT OFF )
3436
@@ -145,7 +147,13 @@ endif()
145147# 3rd-party
146148#
147149
148- if (NOT TARGET ggml)
150+ if (LLAMA_USE_SYSTEM_GGML)
151+ message (STATUS "Using system-provided libggml, skipping ggml build" )
152+ find_package (ggml REQUIRED)
153+ add_library (ggml ALIAS ggml::ggml)
154+ endif ()
155+
156+ if (NOT TARGET ggml AND NOT LLAMA_USE_SYSTEM_GGML)
149157 add_subdirectory (ggml)
150158 # ... otherwise assume ggml is added by a parent CMakeLists.txt
151159endif ()
Original file line number Diff line number Diff line change 1+ include ("ggml/cmake/common.cmake" )
2+
13function (llama_add_compile_flags)
24 if (LLAMA_FATAL_WARNINGS)
35 if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
Original file line number Diff line number Diff line change 1+ function (ggml_get_flags CCID CCVER)
2+ set (C_FLAGS "" )
3+ set (CXX_FLAGS "" )
4+
5+ if (CCID MATCHES "Clang" )
6+ set (C_FLAGS -Wunreachable-code-break -Wunreachable-code-return)
7+ set (CXX_FLAGS -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi)
8+
9+ if (
10+ (CCID STREQUAL "Clang" AND CCVER VERSION_GREATER_EQUAL 3.8.0) OR
11+ (CCID STREQUAL "AppleClang" AND CCVER VERSION_GREATER_EQUAL 7.3.0)
12+ )
13+ list (APPEND C_FLAGS -Wdouble-promotion)
14+ endif ()
15+ elseif (CCID STREQUAL "GNU" )
16+ set (C_FLAGS -Wdouble-promotion)
17+ set (CXX_FLAGS -Wno-array-bounds)
18+
19+ if (CCVER VERSION_GREATER_EQUAL 8.1.0)
20+ list (APPEND CXX_FLAGS -Wextra-semi)
21+ endif ()
22+ endif ()
23+
24+ set (GF_C_FLAGS ${C_FLAGS} PARENT_SCOPE)
25+ set (GF_CXX_FLAGS ${CXX_FLAGS} PARENT_SCOPE)
26+ endfunction ()
Original file line number Diff line number Diff line change 11include (CheckCXXCompilerFlag)
2+ include ("../cmake/common.cmake" )
23
34add_compile_definitions (GGML_SCHED_MAX_COPIES=${GGML_SCHED_MAX_COPIES} )
45
@@ -24,33 +25,6 @@ if (NOT MSVC)
2425 endif ()
2526endif ()
2627
27- function (ggml_get_flags CCID CCVER)
28- set (C_FLAGS "" )
29- set (CXX_FLAGS "" )
30-
31- if (CCID MATCHES "Clang" )
32- set (C_FLAGS -Wunreachable-code-break -Wunreachable-code-return)
33- set (CXX_FLAGS -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi)
34-
35- if (
36- (CCID STREQUAL "Clang" AND CCVER VERSION_GREATER_EQUAL 3.8.0) OR
37- (CCID STREQUAL "AppleClang" AND CCVER VERSION_GREATER_EQUAL 7.3.0)
38- )
39- list (APPEND C_FLAGS -Wdouble-promotion)
40- endif ()
41- elseif (CCID STREQUAL "GNU" )
42- set (C_FLAGS -Wdouble-promotion)
43- set (CXX_FLAGS -Wno-array-bounds)
44-
45- if (CCVER VERSION_GREATER_EQUAL 8.1.0)
46- list (APPEND CXX_FLAGS -Wextra-semi)
47- endif ()
48- endif ()
49-
50- set (GF_C_FLAGS ${C_FLAGS} PARENT_SCOPE)
51- set (GF_CXX_FLAGS ${CXX_FLAGS} PARENT_SCOPE)
52- endfunction ()
53-
5428if (GGML_FATAL_WARNINGS)
5529 if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
5630 list (APPEND C_FLAGS -Werror)
You can’t perform that action at this time.
0 commit comments