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 29
29
set (LLAMA_STANDALONE OFF )
30
30
endif ()
31
31
32
+ option (LLAMA_USE_SYSTEM_GGML "Use system libggml" OFF )
33
+
32
34
if (EMSCRIPTEN )
33
35
set (BUILD_SHARED_LIBS_DEFAULT OFF )
34
36
@@ -145,7 +147,13 @@ endif()
145
147
# 3rd-party
146
148
#
147
149
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 )
149
157
add_subdirectory (ggml )
150
158
# ... otherwise assume ggml is added by a parent CMakeLists.txt
151
159
endif ()
Original file line number Diff line number Diff line change
1
+ include ("ggml/cmake/common.cmake" )
2
+
1
3
function (llama_add_compile_flags )
2
4
if (LLAMA_FATAL_WARNINGS )
3
5
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 1
1
include (CheckCXXCompilerFlag )
2
+ include ("../cmake/common.cmake" )
2
3
3
4
add_compile_definitions (GGML_SCHED_MAX_COPIES=${GGML_SCHED_MAX_COPIES} )
4
5
@@ -24,33 +25,6 @@ if (NOT MSVC)
24
25
endif ()
25
26
endif ()
26
27
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
-
54
28
if (GGML_FATAL_WARNINGS )
55
29
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
56
30
list (APPEND C_FLAGS -Werror )
You can’t perform that action at this time.
0 commit comments