# dependencies find_package(Threads REQUIRED) # third-party if (WHISPER_SDL2) # SDL2 find_package(SDL2 REQUIRED) string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES) message(STATUS "SDL2_INCLUDE_DIRS = ${SDL2_INCLUDE_DIRS}") message(STATUS "SDL2_LIBRARIES = ${SDL2_LIBRARIES}") endif() if (WHISPER_CLBLAST) find_package(CLBlast REQUIRED) endif() # common set(TARGET common) add_library(${TARGET} STATIC common.h common.cpp common-ggml.h common-ggml.cpp grammar-parser.cpp ) include(DefaultTargetOptions) target_link_libraries(${TARGET} PRIVATE whisper) set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON) if (WHISPER_SDL2) # common-sdl set(TARGET common-sdl) add_library(${TARGET} STATIC common-sdl.h common-sdl.cpp ) include(DefaultTargetOptions) target_include_directories(${TARGET} PUBLIC ${SDL2_INCLUDE_DIRS}) target_link_libraries(${TARGET} PRIVATE ${SDL2_LIBRARIES}) set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON) endif() # add json lib add_library(json_cpp INTERFACE json.hpp) # examples include_directories(${CMAKE_CURRENT_SOURCE_DIR}) if (EMSCRIPTEN) add_subdirectory(whisper.wasm) add_subdirectory(stream.wasm) add_subdirectory(command.wasm) add_subdirectory(talk.wasm) add_subdirectory(bench.wasm) elseif(CMAKE_JS_VERSION) add_subdirectory(addon.node) else() add_subdirectory(main) add_subdirectory(stream) add_subdirectory(server) add_subdirectory(command) add_subdirectory(bench) add_subdirectory(quantize) add_subdirectory(talk) add_subdirectory(talk-llama) add_subdirectory(lsp) if (LLAMA_SYCL) add_subdirectory(sycl) endif() endif() add_subdirectory(wchess)