Skip to content

Commit 932f916

Browse files
authored
Update openfst to v1.8.5 and fix compiler warnings. (k2-fsa#3495)
1 parent 3545131 commit 932f916

23 files changed

Lines changed: 150 additions & 223 deletions

CMakeLists.txt

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
77
# https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html
88
cmake_policy(SET CMP0091 NEW)
99

10+
if(POLICY CMP0169)
11+
cmake_policy(SET CMP0169 OLD)
12+
set(CMAKE_POLICY_DEFAULT_CMP0169 OLD)
13+
endif()
14+
15+
if(POLICY CMP0177)
16+
cmake_policy(SET CMP0177 NEW)
17+
endif()
18+
1019
message(STATUS "CMake version: ${CMAKE_VERSION}")
1120

1221
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14" CACHE STRING "Minimum OS X deployment version. Used only for macOS")
@@ -148,6 +157,8 @@ if(NOT CMAKE_BUILD_TYPE)
148157
set(CMAKE_BUILD_TYPE Release)
149158
endif()
150159

160+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "")
161+
151162
if(DEFINED ANDROID_ABI AND NOT SHERPA_ONNX_ENABLE_JNI AND NOT SHERPA_ONNX_ENABLE_C_API)
152163
message(STATUS "Set SHERPA_ONNX_ENABLE_JNI to ON for Android")
153164
set(SHERPA_ONNX_ENABLE_JNI ON CACHE BOOL "" FORCE)
@@ -518,6 +529,10 @@ if(NOT BUILD_SHARED_LIBS AND CMAKE_SYSTEM_NAME STREQUAL Linux)
518529
endif()
519530
endif()
520531

532+
if(SHERPA_ONNX_ENABLE_PYTHON)
533+
include(pybind11)
534+
endif()
535+
521536
include(kaldi-native-fbank)
522537
include(kaldi-decoder)
523538
include(onnxruntime)
@@ -531,10 +546,6 @@ if(SHERPA_ONNX_ENABLE_PORTAUDIO AND SHERPA_ONNX_ENABLE_BINARY)
531546
include(portaudio)
532547
endif()
533548

534-
if(SHERPA_ONNX_ENABLE_PYTHON)
535-
include(pybind11)
536-
endif()
537-
538549
if(SHERPA_ONNX_ENABLE_TESTS)
539550
enable_testing()
540551
include(googletest)
@@ -624,6 +635,6 @@ install(
624635
FILES
625636
${PROJECT_BINARY_DIR}/sherpa-onnx.pc
626637
DESTINATION
627-
./
638+
.
628639
)
629640
message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")

build-ios.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ cmake \
5353
-DCMAKE_BUILD_TYPE=Release \
5454
-DBUILD_SHARED_LIBS=OFF \
5555
-DSHERPA_ONNX_ENABLE_PYTHON=OFF \
56+
-DSHERPA_ONNX_ENABLE_BINARY=OFF \
5657
-DSHERPA_ONNX_ENABLE_TESTS=OFF \
5758
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
5859
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
@@ -62,7 +63,7 @@ cmake \
6263
-DDEPLOYMENT_TARGET=13.0 \
6364
-B build/simulator_x86_64
6465

65-
cmake --build build/simulator_x86_64 -j 4 --verbose
66+
cmake --build build/simulator_x86_64 -j 4
6667

6768
echo "Building for simulator (arm64)"
6869

@@ -81,6 +82,7 @@ cmake \
8182
-DCMAKE_INSTALL_PREFIX=./install \
8283
-DBUILD_SHARED_LIBS=OFF \
8384
-DSHERPA_ONNX_ENABLE_PYTHON=OFF \
85+
-DSHERPA_ONNX_ENABLE_BINARY=OFF \
8486
-DSHERPA_ONNX_ENABLE_TESTS=OFF \
8587
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
8688
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
@@ -90,7 +92,7 @@ cmake \
9092
-DDEPLOYMENT_TARGET=13.0 \
9193
-B build/simulator_arm64
9294

93-
cmake --build build/simulator_arm64 -j 4 --verbose
95+
cmake --build build/simulator_arm64 -j 4
9496

9597
echo "Building for arm64"
9698

@@ -111,6 +113,7 @@ cmake \
111113
-DCMAKE_BUILD_TYPE=Release \
112114
-DBUILD_SHARED_LIBS=OFF \
113115
-DSHERPA_ONNX_ENABLE_PYTHON=OFF \
116+
-DSHERPA_ONNX_ENABLE_BINARY=OFF \
114117
-DSHERPA_ONNX_ENABLE_TESTS=OFF \
115118
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
116119
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \

build-swift-macos.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ cmake \
2222
-DSHERPA_ONNX_ENABLE_WEBSOCKET=OFF \
2323
../
2424

25-
make VERBOSE=1 -j4
25+
make -j4
2626
make install
2727
rm -fv ./install/include/cargs.h
2828

cmake/kaldi-decoder.cmake

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
function(download_kaldi_decoder)
22
include(FetchContent)
33

4-
set(kaldi_decoder_URL "https://github.com/k2-fsa/kaldi-decoder/archive/refs/tags/v0.2.11.tar.gz")
5-
set(kaldi_decoder_HASH "SHA256=85ca462535592541eb5ba6d21843009cf34738f51b28b71f84882a3694b528bf")
4+
set(kaldi_decoder_URL "https://github.com/k2-fsa/kaldi-decoder/archive/refs/tags/v0.3.0.tar.gz")
5+
set(kaldi_decoder_HASH "SHA256=b9f34cfb4fd3b1344100eead79ef4d37aa15962274b9e3056de345021f76a1b0")
66

77
set(KALDI_DECODER_BUILD_PYTHON OFF CACHE BOOL "" FORCE)
88
set(KALDI_DECODER_ENABLE_TESTS OFF CACHE BOOL "" FORCE)
@@ -11,11 +11,11 @@ function(download_kaldi_decoder)
1111
# If you don't have access to the Internet,
1212
# please pre-download kaldi-decoder
1313
set(possible_file_locations
14-
$ENV{HOME}/Downloads/kaldi-decoder-0.2.11.tar.gz
15-
${CMAKE_SOURCE_DIR}/kaldi-decoder-0.2.11.tar.gz
16-
${CMAKE_BINARY_DIR}/kaldi-decoder-0.2.11.tar.gz
17-
/tmp/kaldi-decoder-0.2.11.tar.gz
18-
/star-fj/fangjun/download/github/kaldi-decoder-0.2.11.tar.gz
14+
$ENV{HOME}/Downloads/kaldi-decoder-0.3.0.tar.gz
15+
${CMAKE_SOURCE_DIR}/kaldi-decoder-0.3.0.tar.gz
16+
${CMAKE_BINARY_DIR}/kaldi-decoder-0.3.0.tar.gz
17+
/tmp/kaldi-decoder-0.3.0.tar.gz
18+
/star-fj/fangjun/download/github/kaldi-decoder-0.3.0.tar.gz
1919
)
2020

2121
foreach(f IN LISTS possible_file_locations)
@@ -48,6 +48,8 @@ function(download_kaldi_decoder)
4848
set(BUILD_SHARED_LIBS OFF)
4949
endif()
5050

51+
list(APPEND CMAKE_MODULE_PATH ${kaldi_decoder_SOURCE_DIR}/cmake)
52+
5153
add_subdirectory(${kaldi_decoder_SOURCE_DIR} ${kaldi_decoder_BINARY_DIR} EXCLUDE_FROM_ALL)
5254

5355
if(_build_shared_libs_bak)
@@ -68,6 +70,8 @@ function(download_kaldi_decoder)
6870
)
6971
endif()
7072

73+
set_target_properties(kaldifst_core PROPERTIES OUTPUT_NAME "sherpa-onnx-kaldifst-core")
74+
7175
target_include_directories(kaldi-decoder-core
7276
INTERFACE
7377
${kaldi-decoder_SOURCE_DIR}/

cmake/kaldi-native-fbank.cmake

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,14 @@ function(download_kaldi_native_fbank)
4949
set(BUILD_SHARED_LIBS OFF)
5050
endif()
5151

52+
set(_cmake_warn_deprecated_bak "${CMAKE_WARN_DEPRECATED}")
53+
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
5254
add_subdirectory(${kaldi_native_fbank_SOURCE_DIR} ${kaldi_native_fbank_BINARY_DIR} EXCLUDE_FROM_ALL)
55+
set(CMAKE_WARN_DEPRECATED "${_cmake_warn_deprecated_bak}" CACHE BOOL "" FORCE)
56+
57+
if(TARGET kissfft AND (CMAKE_C_COMPILER_ID MATCHES "Clang"))
58+
target_compile_options(kissfft PRIVATE -Wno-cast-align)
59+
endif()
5360

5461
if(_build_shared_libs_bak)
5562
set_target_properties(kaldi-native-fbank-core

cmake/kaldifst.cmake

Lines changed: 0 additions & 72 deletions
This file was deleted.

cmake/openfst.cmake

Lines changed: 13 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,23 @@
33
function(download_openfst)
44
include(FetchContent)
55

6-
set(openfst_URL "https://github.com/csukuangfj/openfst/archive/refs/tags/sherpa-onnx-2024-06-19.tar.gz")
7-
set(openfst_URL2 "https://hf-mirror.com/csukuangfj/sherpa-onnx-cmake-deps/resolve/main/openfst-sherpa-onnx-2024-06-19.tar.gz")
8-
set(openfst_HASH "SHA256=5c98e82cc509c5618502dde4860b8ea04d843850ed57e6d6b590b644b268853d")
6+
set(openfst_URL "https://github.com/csukuangfj/openfst/archive/refs/tags/v1.8.5-2026-04-11.tar.gz")
7+
set(openfst_HASH "SHA256=57fbc4b950ae81b1a0e1e298af15652da968a6723a592b7874e9b4027a80a5b4")
98

109
# If you don't have access to the Internet,
1110
# please pre-download it
1211
set(possible_file_locations
13-
$ENV{HOME}/Downloads/openfst-sherpa-onnx-2024-06-19.tar.gz
14-
${CMAKE_SOURCE_DIR}/openfst-sherpa-onnx-2024-06-19.tar.gz
15-
${CMAKE_BINARY_DIR}/openfst-sherpa-onnx-2024-06-19.tar.gz
16-
/tmp/openfst-sherpa-onnx-2024-06-19.tar.gz
17-
/star-fj/fangjun/download/github/openfst-sherpa-onnx-2024-06-19.tar.gz
12+
$ENV{HOME}/Downloads/openfst-1.8.5-2026-04-11.tar.gz
13+
${CMAKE_SOURCE_DIR}/openfst-1.8.5-2026-04-11.tar.gz
14+
${CMAKE_BINARY_DIR}/openfst-1.8.5-2026-04-11.tar.gz
15+
/tmp/openfst-1.8.5-2026-04-11.tar.gz
16+
/star-fj/fangjun/download/github/openfst-1.8.5-2026-04-11.tar.gz
1817
)
1918

2019
foreach(f IN LISTS possible_file_locations)
2120
if(EXISTS ${f})
2221
set(openfst_URL "${f}")
2322
file(TO_CMAKE_PATH "${openfst_URL}" openfst_URL)
24-
set(openfst_URL2)
2523
break()
2624
endif()
2725
endforeach()
@@ -41,25 +39,10 @@ function(download_openfst)
4139
set(HAVE_PYTHON OFF CACHE BOOL "" FORCE)
4240
set(HAVE_SPECIAL OFF CACHE BOOL "" FORCE)
4341

44-
if(NOT WIN32)
45-
FetchContent_Declare(openfst
46-
URL
47-
${openfst_URL}
48-
${openfst_URL2}
49-
URL_HASH ${openfst_HASH}
50-
PATCH_COMMAND
51-
sed -i.bak s/enable_testing\(\)//g "src/CMakeLists.txt" &&
52-
sed -i.bak s/add_subdirectory\(test\)//g "src/CMakeLists.txt" &&
53-
sed -i.bak /message/d "src/script/CMakeLists.txt"
54-
# sed -i.bak s/add_subdirectory\(script\)//g "src/CMakeLists.txt" &&
55-
# sed -i.bak s/add_subdirectory\(extensions\)//g "src/CMakeLists.txt"
56-
)
57-
else()
58-
FetchContent_Declare(openfst
59-
URL ${openfst_URL}
60-
URL_HASH ${openfst_HASH}
61-
)
62-
endif()
42+
FetchContent_Declare(openfst
43+
URL ${openfst_URL}
44+
URL_HASH ${openfst_HASH}
45+
)
6346

6447
FetchContent_GetProperties(openfst)
6548
if(NOT openfst_POPULATED)
@@ -68,10 +51,8 @@ function(download_openfst)
6851
endif()
6952
message(STATUS "openfst is downloaded to ${openfst_SOURCE_DIR}")
7053

71-
if(_build_shared_libs_bak)
72-
set(_build_shared_libs_bak ${BUILD_SHARED_LIBS})
73-
set(BUILD_SHARED_LIBS OFF)
74-
endif()
54+
set(_build_shared_libs_bak ${BUILD_SHARED_LIBS})
55+
set(BUILD_SHARED_LIBS OFF)
7556

7657
add_subdirectory(${openfst_SOURCE_DIR} ${openfst_BINARY_DIR} EXCLUDE_FROM_ALL)
7758

@@ -89,21 +70,6 @@ function(download_openfst)
8970

9071
set_target_properties(fst PROPERTIES OUTPUT_NAME "sherpa-onnx-fst")
9172
set_target_properties(fstfar PROPERTIES OUTPUT_NAME "sherpa-onnx-fstfar")
92-
93-
if(LINUX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 11)
94-
target_compile_options(fst PUBLIC -Wno-missing-template-keyword)
95-
endif()
96-
97-
target_include_directories(fst
98-
PUBLIC
99-
${openfst_SOURCE_DIR}/src/include
100-
)
101-
102-
target_include_directories(fstfar
103-
PUBLIC
104-
${openfst_SOURCE_DIR}/src/include
105-
)
106-
# installed in ./kaldi-decoder.cmake
10773
endfunction()
10874

10975
download_openfst()

cmake/pybind11.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ function(download_pybind11)
3232
URL_HASH ${pybind11_HASH}
3333
)
3434

35+
set(PYBIND11_FINDPYTHON NEW CACHE STRING "" FORCE)
36+
3537
FetchContent_GetProperties(pybind11)
3638
if(NOT pybind11_POPULATED)
3739
message(STATUS "Downloading pybind11 from ${pybind11_URL}")

cmake/simple-sentencepiece.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ function(download_simple_sentencepiece)
5050

5151
add_subdirectory(${simple-sentencepiece_SOURCE_DIR} ${simple-sentencepiece_BINARY_DIR} EXCLUDE_FROM_ALL)
5252

53+
if(TARGET ssentencepiece_core AND (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
54+
target_compile_options(ssentencepiece_core PRIVATE -Wno-deprecated-declarations)
55+
endif()
56+
5357
if(_build_shared_libs_bak)
5458
set_target_properties(ssentencepiece_core
5559
PROPERTIES

sherpa-onnx/csrc/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,14 @@ if(SHERPA_ONNX_ENABLE_SPEAKER_DIARIZATION)
327327
)
328328
endif()
329329

330+
if(APPLE)
331+
set_source_files_properties(
332+
fast-clustering.cc
333+
PROPERTIES
334+
COMPILE_OPTIONS "-Wno-unknown-pragmas"
335+
)
336+
endif()
337+
330338
if(SHERPA_ONNX_ENABLE_CHECK)
331339
list(APPEND sources log.cc)
332340
endif()

0 commit comments

Comments
 (0)