File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -113,6 +113,9 @@ option(LLAMA_METAL "llama: use Metal"
113
113
option (LLAMA_METAL_NDEBUG "llama: disable Metal debugging" OFF )
114
114
option (LLAMA_METAL_SHADER_DEBUG "llama: compile Metal with -fno-fast-math" OFF )
115
115
option (LLAMA_METAL_EMBED_LIBRARY "llama: embed Metal library" OFF )
116
+ set (LLAMA_METAL_MACOSX_VERSION_MIN "" CACHE STRING
117
+ "llama: metal minimum macOS version" )
118
+ set (LLAMA_METAL_STD "" CACHE STRING "llama: metal standard version (-std flag)" )
116
119
option (LLAMA_KOMPUTE "llama: use Kompute" OFF )
117
120
option (LLAMA_MPI "llama: use MPI" OFF )
118
121
option (LLAMA_QKK_64 "llama: use super-block size of 64 for k-quants" OFF )
@@ -250,6 +253,16 @@ if (LLAMA_METAL)
250
253
set (XC_FLAGS -O3 )
251
254
endif ()
252
255
256
+ # Append macOS metal versioning flags
257
+ if (LLAMA_METAL_MACOSX_VERSION_MIN )
258
+ message (STATUS "Adding -mmacosx-version-min=${LLAMA_METAL_MACOSX_VERSION_MIN} flag to metal compilation" )
259
+ list (APPEND XC_FLAGS -mmacosx-version-min=${LLAMA_METAL_MACOSX_VERSION_MIN} )
260
+ endif ()
261
+ if (LLAMA_METAL_STD )
262
+ message (STATUS "Adding -std=${LLAMA_METAL_STD} flag to metal compilation" )
263
+ list (APPEND XC_FLAGS -std=${LLAMA_METAL_STD} )
264
+ endif ()
265
+
253
266
add_custom_command (
254
267
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /default.metallib
255
268
COMMAND xcrun -sdk macosx metal ${XC_FLAGS} -c ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-metal.metal -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-metal.air
You can’t perform that action at this time.
0 commit comments