Warning, /libraries/ktextaddons/cmake/DownloadVosk.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: None 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 include(Dirs) 0004 0005 function(download_vosk_if_needed) 0006 # Set the URL for the ZIP file based on platform and architecture 0007 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ANDROID) 0008 if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") 0009 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-aarch64-0.3.45.zip") 0010 elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l") 0011 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-armv7l-0.3.45.zip") 0012 elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64") 0013 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-riscv64-0.3.45.zip") 0014 elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 0015 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-x86_64-0.3.45.zip") 0016 elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") 0017 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-linux-x86-0.3.45.zip") 0018 endif() 0019 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 0020 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.42/vosk-osx-0.3.42.zip") 0021 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") 0022 if (${CMAKE_SIZEOF_VOID_P} MATCHES "4") 0023 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.42/vosk-win32-0.3.42.zip") 0024 elseif (${CMAKE_SIZEOF_VOID_P} MATCHES "8") 0025 set(VOSK_URL "https://github.com/alphacep/vosk-api/releases/download/v0.3.45/vosk-win64-0.3.45.zip") 0026 endif() 0027 endif() 0028 0029 message(STATUS "Downloading vosk from ${VOSK_URL}") 0030 0031 # Download and extract the ZIP file 0032 file(DOWNLOAD "${VOSK_URL}" "${VOSK_ZIP}" SHOW_PROGRESS STATUS VOSK_DOWNLOAD_STATUS) 0033 list(GET VOSK_DOWNLOAD_STATUS 0 VOSK_DOWNLOAD_ERROR) 0034 if(VOSK_DOWNLOAD_ERROR) 0035 message(WARNING "Failed to download vosk: ${VOSK_DOWNLOAD_ERROR}") 0036 endif() 0037 0038 file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/tempDir") 0039 execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${VOSK_ZIP}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/tempDir") 0040 0041 # Move the extracted contents to another directory 0042 file(MAKE_DIRECTORY ${VOSK_DIR}) 0043 0044 file(GLOB VOSK_FILES "${CMAKE_BINARY_DIR}/tempDir/*/*") 0045 foreach(VOSK_FILE ${VOSK_FILES}) 0046 file(COPY ${VOSK_FILE} DESTINATION ${VOSK_DIR}) 0047 endforeach() 0048 endfunction()