@@ -23,33 +23,7 @@ set(BINARIES
2323set (LIBRARIES
2424 src/lib/libkaldi-dragonfly${CMAKE_SHARED_LIBRARY_SUFFIX}
2525 )
26-
27- # For MacOS, we handle all the "indirect" shared libraries manually.
28- if ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Darwin" )
29- list (APPEND LIBRARIES
30- tools/openfst/lib/libfst${CMAKE_SHARED_LIBRARY_SUFFIX}
31- tools/openfst/lib/libfstscript${CMAKE_SHARED_LIBRARY_SUFFIX}
32- src/lib/libkaldi-base${CMAKE_SHARED_LIBRARY_SUFFIX}
33- src/lib/libkaldi-chain${CMAKE_SHARED_LIBRARY_SUFFIX}
34- src/lib/libkaldi-cudamatrix${CMAKE_SHARED_LIBRARY_SUFFIX}
35- src/lib/libkaldi-decoder${CMAKE_SHARED_LIBRARY_SUFFIX}
36- src/lib/libkaldi-feat${CMAKE_SHARED_LIBRARY_SUFFIX}
37- src/lib/libkaldi-fstext${CMAKE_SHARED_LIBRARY_SUFFIX}
38- src/lib/libkaldi-gmm${CMAKE_SHARED_LIBRARY_SUFFIX}
39- src/lib/libkaldi-hmm${CMAKE_SHARED_LIBRARY_SUFFIX}
40- src/lib/libkaldi-ivector${CMAKE_SHARED_LIBRARY_SUFFIX}
41- src/lib/libkaldi-lat${CMAKE_SHARED_LIBRARY_SUFFIX}
42- src/lib/libkaldi-lm${CMAKE_SHARED_LIBRARY_SUFFIX}
43- src/lib/libkaldi-matrix${CMAKE_SHARED_LIBRARY_SUFFIX}
44- src/lib/libkaldi-nnet2${CMAKE_SHARED_LIBRARY_SUFFIX}
45- src/lib/libkaldi-nnet3${CMAKE_SHARED_LIBRARY_SUFFIX}
46- src/lib/libkaldi-online2${CMAKE_SHARED_LIBRARY_SUFFIX}
47- src/lib/libkaldi-rnnlm${CMAKE_SHARED_LIBRARY_SUFFIX}
48- src/lib/libkaldi-transform ${CMAKE_SHARED_LIBRARY_SUFFIX}
49- src/lib/libkaldi-tree${CMAKE_SHARED_LIBRARY_SUFFIX}
50- src/lib/libkaldi-util${CMAKE_SHARED_LIBRARY_SUFFIX}
51- )
52- endif ()
26+ # FIXME: Should we add other libraries, so they get stripped too?
5327
5428if ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Windows" )
5529 message (FATAL_ERROR "CMake build not supported on Windows" )
@@ -124,44 +98,4 @@ if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
12498 )
12599endif ()
126100
127- # Fix dynamic libraries loading paths on macOS. The libraries and
128- # executables are built with RPATH settings embedded in them, pointing
129- # to the locations in temporary directories used to build the
130- # binaries. After package installation is done, these directories are
131- # deleted and the dynamic libraries cannot be loaded. The following
132- # commands generate a shell script that fixes the paths to the dynamic
133- # libraries in the built executables and the libraries themselves, so
134- # that they can be loaded when placed in the same directory.
135- # Also the commands add a custom target to invoke the generated script
136- # after the external project (kaldi) has been built. An alternative
137- # would be to change the kaldi engine build system to accept a path to
138- # where the binaries would be placed and point RPATH to that location.
139- if ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Darwin" )
140- string (REPLACE ";" " " BINARIES_STR "${BINARIES} " )
141- string (REPLACE ";" " " LIBRARIES_STR "${LIBRARIES} " )
142- file (GENERATE OUTPUT name_fixer
143- CONTENT
144- "for a in ${BINARIES_STR} ; do
145- a_bare=$\{ a##*/\}
146- install_name_tool -change ${PROJECT_BINARY_DIR} /kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfst.10.dylib \" @loader_path/libfst.dylib\" ${DST} $a_bare
147- install_name_tool -change ${PROJECT_BINARY_DIR} /kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfstscript.10.dylib \" @loader_path/libfstscript.dylib\" ${DST} $a_bare
148- for b in ${LIBRARIES_STR} ; do
149- b_bare=$\{ b##*/\}
150- install_name_tool -change \" @rpath/$b_bare\" \" @loader_path/$b_bare\" ${DST} $a_bare
151- done
152- done
153- for a in ${LIBRARIES_STR} ; do
154- a_bare=$\{ a##*/\}
155- install_name_tool -id \" @loader_path/$a_bare\" ${DST} $a_bare
156- install_name_tool -change ${PROJECT_BINARY_DIR} /kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfst.10.dylib \" @loader_path/libfst.dylib\" ${DST} $a_bare
157- install_name_tool -change ${PROJECT_BINARY_DIR} /kaldi-prefix/src/kaldi/tools/openfst-1.6.7/lib/libfstscript.10.dylib \" @loader_path/libfstscript.dylib\" ${DST} $a_bare
158- for b in ${LIBRARIES_STR} ; do
159- b_bare=$\{ b##*/\}
160- install_name_tool -change \" @rpath/$b_bare\" \" @loader_path/$b_bare\" ${DST} $a_bare
161- done
162- done" )
163- add_custom_target (fixer ALL COMMAND /bin/sh name_fixer )
164- add_dependencies (fixer kaldi )
165- endif ()
166-
167101install (CODE "MESSAGE(\" Installed kaldi engine binaries.\" )" )
0 commit comments