|
|
@@ -23,11 +23,6 @@ if (GGML_METAL_NDEBUG)
|
|
|
add_compile_definitions(GGML_METAL_NDEBUG)
|
|
|
endif()
|
|
|
|
|
|
-# copy metal files to bin directory
|
|
|
-configure_file(../ggml-common.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-common.h COPYONLY)
|
|
|
-configure_file(ggml-metal.metal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal.metal COPYONLY)
|
|
|
-configure_file(ggml-metal-impl.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal-impl.h COPYONLY)
|
|
|
-
|
|
|
set(METALLIB_COMMON "${CMAKE_CURRENT_SOURCE_DIR}/../ggml-common.h")
|
|
|
if (GGML_METAL_EMBED_LIBRARY)
|
|
|
enable_language(ASM)
|
|
|
@@ -37,12 +32,12 @@ if (GGML_METAL_EMBED_LIBRARY)
|
|
|
set(METALLIB_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/ggml-metal.metal")
|
|
|
set(METALLIB_IMPL "${CMAKE_CURRENT_SOURCE_DIR}/ggml-metal-impl.h")
|
|
|
|
|
|
- file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/autogenerated")
|
|
|
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/autogenerated")
|
|
|
|
|
|
# merge ggml-common.h and ggml-metal.metal into a single file
|
|
|
- set(METALLIB_EMBED_ASM "${CMAKE_BINARY_DIR}/autogenerated/ggml-metal-embed.s")
|
|
|
- set(METALLIB_SOURCE_EMBED "${CMAKE_BINARY_DIR}/autogenerated/ggml-metal-embed.metal")
|
|
|
- set(METALLIB_SOURCE_EMBED_TMP "${CMAKE_BINARY_DIR}/autogenerated/ggml-metal-embed.metal.tmp")
|
|
|
+ set(METALLIB_EMBED_ASM "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.s")
|
|
|
+ set(METALLIB_SOURCE_EMBED "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal")
|
|
|
+ set(METALLIB_SOURCE_EMBED_TMP "${CMAKE_CURRENT_BINARY_DIR}/autogenerated/ggml-metal-embed.metal.tmp")
|
|
|
|
|
|
add_custom_command(
|
|
|
OUTPUT "${METALLIB_EMBED_ASM}"
|
|
|
@@ -62,6 +57,11 @@ if (GGML_METAL_EMBED_LIBRARY)
|
|
|
|
|
|
target_sources(ggml-metal PRIVATE "${METALLIB_EMBED_ASM}")
|
|
|
else()
|
|
|
+ # copy metal files to bin directory
|
|
|
+ configure_file(../ggml-common.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-common.h COPYONLY)
|
|
|
+ configure_file(ggml-metal.metal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal.metal COPYONLY)
|
|
|
+ configure_file(ggml-metal-impl.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal-impl.h COPYONLY)
|
|
|
+
|
|
|
if (GGML_METAL_SHADER_DEBUG)
|
|
|
# custom command to do the following:
|
|
|
# xcrun -sdk macosx metal -fno-fast-math -c ggml-metal.metal -o ggml-metal.air
|