Skip to content

Commit b565796

Browse files
committed
fix(build): update WHISPER_OPTIONS and add ggml package config for whisper.cpp
1 parent 3de582b commit b565796

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

Makefile

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ CC = gcc
4141
CXX = g++
4242
CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR) -I$(LLAMA_DIR)/ggml/include -I$(LLAMA_DIR)/include -I$(WHISPER_DIR)/include -I$(MINIAUDIO_DIR)
4343
LLAMA_OPTIONS = $(LLAMA) -DBUILD_SHARED_LIBS=OFF -DLLAMA_CURL=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF -DLLAMA_BUILD_SERVER=OFF -DGGML_RPC=OFF
44-
WHISPER_OPTIONS = $(WHISPER) -DBUILD_SHARED_LIBS=OFF -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF -DWHISPER_RPC=OFF -DWHISPER_USE_SYSTEM_GGML=ON -Dggml_DIR=$(BUILD_LLAMA)/ggml/src
44+
WHISPER_OPTIONS = $(WHISPER) -DBUILD_SHARED_LIBS=OFF -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF -DWHISPER_RPC=OFF -DWHISPER_USE_SYSTEM_GGML=ON
4545
MINIAUDIO_OPTIONS = $(MINIAUDIO) -DBUILD_SHARED_LIBS=OFF -DMINIAUDIO_BUILD_EXAMPLES=OFF -DMINIAUDIO_BUILD_TESTS=OFF
4646
# MinGW produces .a files without lib prefix, use -l:filename.a syntax
4747
ifeq ($(PLATFORM),windows)
@@ -240,7 +240,14 @@ build/llama.cpp.stamp:
240240
touch $@
241241

242242
build/whisper.cpp.stamp: build/llama.cpp.stamp
243-
cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) $(WHISPER_DIR)
243+
# Create ggml package config for whisper.cpp to find
244+
mkdir -p $(BUILD_WHISPER)/ggml-config
245+
echo 'set(ggml_FOUND TRUE)' > $(BUILD_WHISPER)/ggml-config/ggml-config.cmake
246+
echo 'set(ggml_INCLUDE_DIRS "$(shell pwd)/$(BUILD_LLAMA)/ggml/src")' >> $(BUILD_WHISPER)/ggml-config/ggml-config.cmake
247+
echo 'set(ggml_LIBRARIES "$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml.a;$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml-base.a;$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml-cpu.a")' >> $(BUILD_WHISPER)/ggml-config/ggml-config.cmake
248+
echo 'add_library(ggml::ggml INTERFACE IMPORTED)' >> $(BUILD_WHISPER)/ggml-config/ggml-config.cmake
249+
echo 'set_target_properties(ggml::ggml PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "$${ggml_INCLUDE_DIRS}" INTERFACE_LINK_LIBRARIES "$${ggml_LIBRARIES}")' >> $(BUILD_WHISPER)/ggml-config/ggml-config.cmake
250+
cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) -DCMAKE_MODULE_PATH=$(shell pwd)/$(BUILD_WHISPER)/ggml-config $(WHISPER_DIR)
244251
cmake --build $(BUILD_WHISPER) --config Release $(WHISPER_ARGS) $(ARGS)
245252
touch $@
246253

0 commit comments

Comments
 (0)