Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
sherpaonnx
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Fangjun Kuang
2024-05-24 11:18:14 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-05-24 11:18:14 +0800
Commit
b09fb7f5cd21c34c9f42b2e47fc8a5e5e46ec45b
b09fb7f5
1 parent
cf83412d
Support Windows arm64 (#911)
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
157 行增加
和
2 行删除
.github/workflows/windows-arm64.yaml
cmake/onnxruntime-win-arm64.cmake
cmake/onnxruntime.cmake
.github/workflows/windows-arm64.yaml
0 → 100644
查看文件 @
b09fb7f
name
:
windows-arm64
on
:
push
:
branches
:
-
master
tags
:
-
'
*'
paths
:
-
'
.github/workflows/windows-arm64.yaml'
-
'
CMakeLists.txt'
-
'
cmake/**'
-
'
sherpa-onnx/csrc/*'
pull_request
:
branches
:
-
master
paths
:
-
'
.github/workflows/windows-arm64.yaml'
-
'
CMakeLists.txt'
-
'
cmake/**'
-
'
sherpa-onnx/csrc/*'
workflow_dispatch
:
concurrency
:
group
:
windows-arm64-${{ github.ref }}
cancel-in-progress
:
true
jobs
:
windows_arm64
:
name
:
shared-${{ matrix.shared_lib }} tts-${{ matrix.with_tts }}
runs-on
:
${{ matrix.os }}
strategy
:
fail-fast
:
false
matrix
:
os
:
[
windows-latest
]
shared_lib
:
[
ON
]
with_tts
:
[
ON
,
OFF
]
steps
:
-
uses
:
actions/checkout@v4
with
:
fetch-depth
:
0
-
name
:
Configure CMake
shell
:
bash
run
:
|
mkdir build
cd build
cmake -A ARM64 -DSHERPA_ONNX_ENABLE_TTS=${{ matrix.with_tts }} -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=${{ matrix.shared_lib }} -DCMAKE_INSTALL_PREFIX=./install -DBUILD_ESPEAK_NG_EXE=OFF ..
-
name
:
Build sherpa-onnx for windows
shell
:
bash
run
:
|
cd build
cmake --build . --config Release -- -m:2
cmake --build . --config Release --target install -- -m:2
ls -lh ./bin/Release/sherpa-onnx.exe
...
...
cmake/onnxruntime-win-arm64.cmake
0 → 100644
查看文件 @
b09fb7f
# Copyright (c) 2022-2024 Xiaomi Corporation
message
(
STATUS
"CMAKE_SYSTEM_NAME:
${
CMAKE_SYSTEM_NAME
}
"
)
message
(
STATUS
"CMAKE_SYSTEM_PROCESSOR:
${
CMAKE_SYSTEM_PROCESSOR
}
"
)
message
(
STATUS
"CMAKE_VS_PLATFORM_NAME:
${
CMAKE_VS_PLATFORM_NAME
}
"
)
if
(
NOT CMAKE_SYSTEM_NAME STREQUAL Windows
)
message
(
FATAL_ERROR
"This file is for Windows only. Given:
${
CMAKE_SYSTEM_NAME
}
"
)
endif
()
if
(
NOT
(
CMAKE_VS_PLATFORM_NAME STREQUAL ARM64 OR CMAKE_VS_PLATFORM_NAME STREQUAL arm64
))
message
(
FATAL_ERROR
"This file is for Windows arm64 only. Given:
${
CMAKE_VS_PLATFORM_NAME
}
"
)
endif
()
if
(
NOT BUILD_SHARED_LIBS
)
message
(
FATAL_ERROR
"This file is for building shared libraries. BUILD_SHARED_LIBS:
${
BUILD_SHARED_LIBS
}
"
)
endif
()
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.17.1/onnxruntime-win-arm64-1.17.1.zip"
)
set
(
onnxruntime_URL2
"https://hub.nuaa.cf/microsoft/onnxruntime/releases/download/v1.17.1/onnxruntime-win-arm64-1.17.1.zip"
)
set
(
onnxruntime_HASH
"SHA256=47782cebcab0fd7a1f0a3f0676b088c1bc0f4fbf21666f6fe57570dc362fa5a8"
)
# If you don't have access to the Internet,
# please download onnxruntime to one of the following locations.
# You can add more if you want.
set
(
possible_file_locations
$ENV{HOME}/Downloads/onnxruntime-win-arm64-1.17.1.zip
${
CMAKE_SOURCE_DIR
}
/onnxruntime-win-arm64-1.17.1.zip
${
CMAKE_BINARY_DIR
}
/onnxruntime-win-arm64-1.17.1.zip
/tmp/onnxruntime-win-arm64-1.17.1.zip
)
foreach
(
f IN LISTS possible_file_locations
)
if
(
EXISTS
${
f
}
)
set
(
onnxruntime_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
onnxruntime_URL
}
"
onnxruntime_URL
)
message
(
STATUS
"Found local downloaded onnxruntime:
${
onnxruntime_URL
}
"
)
set
(
onnxruntime_URL2
)
break
()
endif
()
endforeach
()
FetchContent_Declare
(
onnxruntime
URL
${
onnxruntime_URL
}
${
onnxruntime_URL2
}
URL_HASH
${
onnxruntime_HASH
}
)
FetchContent_GetProperties
(
onnxruntime
)
if
(
NOT onnxruntime_POPULATED
)
message
(
STATUS
"Downloading onnxruntime from
${
onnxruntime_URL
}
"
)
FetchContent_Populate
(
onnxruntime
)
endif
()
message
(
STATUS
"onnxruntime is downloaded to
${
onnxruntime_SOURCE_DIR
}
"
)
find_library
(
location_onnxruntime onnxruntime
PATHS
"
${
onnxruntime_SOURCE_DIR
}
/lib"
NO_CMAKE_SYSTEM_PATH
)
message
(
STATUS
"location_onnxruntime:
${
location_onnxruntime
}
"
)
add_library
(
onnxruntime SHARED IMPORTED
)
set_target_properties
(
onnxruntime PROPERTIES
IMPORTED_LOCATION
${
location_onnxruntime
}
INTERFACE_INCLUDE_DIRECTORIES
"
${
onnxruntime_SOURCE_DIR
}
/include"
)
set_property
(
TARGET onnxruntime
PROPERTY
IMPORTED_IMPLIB
"
${
onnxruntime_SOURCE_DIR
}
/lib/onnxruntime.lib"
)
file
(
COPY
${
onnxruntime_SOURCE_DIR
}
/lib/onnxruntime.dll
DESTINATION
${
CMAKE_BINARY_DIR
}
/bin/
${
CMAKE_BUILD_TYPE
}
)
file
(
GLOB onnxruntime_lib_files
"
${
onnxruntime_SOURCE_DIR
}
/lib/*.dll"
)
message
(
STATUS
"onnxruntime lib files:
${
onnxruntime_lib_files
}
"
)
if
(
SHERPA_ONNX_ENABLE_PYTHON
)
install
(
FILES
${
onnxruntime_lib_files
}
DESTINATION ..
)
else
()
install
(
FILES
${
onnxruntime_lib_files
}
DESTINATION lib
)
endif
()
install
(
FILES
${
onnxruntime_lib_files
}
DESTINATION bin
)
...
...
cmake/onnxruntime.cmake
查看文件 @
b09fb7f
...
...
@@ -87,9 +87,14 @@ function(download_onnxruntime)
if
(
SHERPA_ONNX_ENABLE_GPU
)
message
(
FATAL_ERROR
"GPU support for Win32 is not supported!"
)
endif
()
elseif
(
CMAKE_VS_PLATFORM_NAME STREQUAL ARM64 OR CMAKE_VS_PLATFORM_NAME STREQUAL arm64
)
# for 64-bit windows (arm64)
if
(
NOT BUILD_SHARED_LIBS
)
message
(
FATAL_ERROR
"Please pass -DBUILD_SHARED_LIBS=ON to cmake"
)
endif
()
include
(
onnxruntime-win-arm64
)
else
()
# for 64-bit windows
# for 64-bit windows (x64)
if
(
BUILD_SHARED_LIBS
)
message
(
STATUS
"Use dynamic onnxruntime libraries"
)
if
(
SHERPA_ONNX_ENABLE_GPU
)
...
...
请
注册
或
登录
后发表评论