@@ -36,39 +36,84 @@ target_include_directories(${TARGET} PRIVATE ${NODE_ADDON_API_DIR})
3636
3737# Determine build directory (check both build and build-openvino)
3838set (WHISPER_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR } /../../build" )
39- if (NOT EXISTS "${WHISPER_BUILD_DIR} /src/libwhisper.a" )
40- set (WHISPER_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR } /../../build-openvino" )
39+
40+ # Check for different library file patterns based on platform
41+ if (WIN32 )
42+ # Windows uses .lib files and different directory structure
43+ if (NOT EXISTS "${WHISPER_BUILD_DIR} /src/Release/whisper.lib" AND NOT EXISTS "${WHISPER_BUILD_DIR} /src/Debug/whisper.lib" )
44+ set (WHISPER_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR } /../../build-openvino" )
45+ endif ()
46+ else ()
47+ # Unix uses .a files
48+ if (NOT EXISTS "${WHISPER_BUILD_DIR} /src/libwhisper.a" )
49+ set (WHISPER_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR } /../../build-openvino" )
50+ endif ()
4151endif ()
4252
4353message (STATUS "Using build directory: ${WHISPER_BUILD_DIR} " )
4454
4555# Debug: List available library files
46- file (GLOB_RECURSE ALL_LIBS "${WHISPER_BUILD_DIR} /*.a" )
56+ if (WIN32 )
57+ file (GLOB_RECURSE ALL_LIBS "${WHISPER_BUILD_DIR} /*.lib" )
58+ else ()
59+ file (GLOB_RECURSE ALL_LIBS "${WHISPER_BUILD_DIR} /*.a" )
60+ endif ()
4761message (STATUS "Found library files:" )
4862foreach (lib ${ALL_LIBS} )
4963 message (STATUS " ${lib} " )
5064endforeach ()
5165
5266# Link against the built libraries from main build
53- link_directories ("${WHISPER_BUILD_DIR} /src" )
54- link_directories ("${WHISPER_BUILD_DIR} /ggml/src" )
55- link_directories ("${WHISPER_BUILD_DIR} /examples" )
56-
57- # Core libraries in correct linking order
58- set (WHISPER_LIBS
59- "${WHISPER_BUILD_DIR} /examples/libcommon.a"
60- "${WHISPER_BUILD_DIR} /src/libwhisper.a"
61- "${WHISPER_BUILD_DIR} /ggml/src/libggml.a"
62- )
63-
64- # Add ggml CPU backend libraries
65- if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/libggml-cpu.a" )
66- list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/libggml-cpu.a" )
67+ if (WIN32 )
68+ # Windows library directories
69+ link_directories ("${WHISPER_BUILD_DIR} /src/Release" )
70+ link_directories ("${WHISPER_BUILD_DIR} /src/Debug" )
71+ link_directories ("${WHISPER_BUILD_DIR} /ggml/src/Release" )
72+ link_directories ("${WHISPER_BUILD_DIR} /ggml/src/Debug" )
73+ link_directories ("${WHISPER_BUILD_DIR} /examples/Release" )
74+ link_directories ("${WHISPER_BUILD_DIR} /examples/Debug" )
75+ else ()
76+ # Unix library directories
77+ link_directories ("${WHISPER_BUILD_DIR} /src" )
78+ link_directories ("${WHISPER_BUILD_DIR} /ggml/src" )
79+ link_directories ("${WHISPER_BUILD_DIR} /examples" )
6780endif ()
6881
69- # Add ggml base library
70- if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/libggml-base.a" )
71- list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/libggml-base.a" )
82+ # Core libraries in correct linking order
83+ if (WIN32 )
84+ # Windows uses .lib files and may have Release/Debug subdirectories
85+ set (WHISPER_LIBS
86+ "${WHISPER_BUILD_DIR} /examples/Release/common.lib"
87+ "${WHISPER_BUILD_DIR} /src/Release/whisper.lib"
88+ "${WHISPER_BUILD_DIR} /ggml/src/Release/ggml.lib"
89+ )
90+
91+ # Add ggml CPU backend libraries (Windows)
92+ if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/Release/ggml-cpu.lib" )
93+ list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/Release/ggml-cpu.lib" )
94+ endif ()
95+
96+ # Add ggml base library (Windows)
97+ if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/Release/ggml-base.lib" )
98+ list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/Release/ggml-base.lib" )
99+ endif ()
100+ else ()
101+ # Unix uses .a files
102+ set (WHISPER_LIBS
103+ "${WHISPER_BUILD_DIR} /examples/libcommon.a"
104+ "${WHISPER_BUILD_DIR} /src/libwhisper.a"
105+ "${WHISPER_BUILD_DIR} /ggml/src/libggml.a"
106+ )
107+
108+ # Add ggml CPU backend libraries (Unix)
109+ if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/libggml-cpu.a" )
110+ list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/libggml-cpu.a" )
111+ endif ()
112+
113+ # Add ggml base library (Unix)
114+ if (EXISTS "${WHISPER_BUILD_DIR} /ggml/src/libggml-base.a" )
115+ list (APPEND WHISPER_LIBS "${WHISPER_BUILD_DIR} /ggml/src/libggml-base.a" )
116+ endif ()
72117endif ()
73118
74119# Check if this is an OpenVINO build
0 commit comments