@@ -109,6 +109,7 @@ option(MSGPACK_USE_BOOST "Use Boost libraried" OFF)
109109add_subdirectory (msgpack)
110110
111111option (MLC_ENABLE_SENTENCEPIECE_TOKENIZER "Enable SentencePiece tokenizer" ON )
112+ message (DEBUG "MLC_ENABLE_SENTENCEPIECE_TOKENIZER= ${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} " )
112113
113114if (MSVC )
114115 set (TOKENIZERS_RUST_LIB "${TOKENIZERS_CPP_CARGO_BINARY_DIR} /tokenizers_c.lib" )
@@ -153,16 +154,23 @@ add_custom_command(
153154
154155set (
155156 TOKENIZER_CPP_SRCS
156- src/sentencepiece_tokenizer.cc
157157 src/huggingface_tokenizer.cc
158158 src/rwkv_world_tokenizer.cc
159159)
160+ if (${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} )
161+ list (APPEND TOKENIZER_CPP_SRCS src/sentencepiece_tokenizer.cc)
162+ endif ()
163+
160164add_library (tokenizers_cpp STATIC ${TOKENIZER_CPP_SRCS} )
161- target_include_directories (tokenizers_cpp PRIVATE sentencepiece/src)
165+
166+ if (${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} )
167+ target_include_directories (tokenizers_cpp PRIVATE sentencepiece/src)
168+ endif ()
162169target_include_directories (tokenizers_cpp PRIVATE msgpack/include )
163170target_include_directories (tokenizers_cpp PUBLIC ${TOKENIZERS_CPP_INCLUDE} )
164- if (MLC_ENABLE_SENTENCEPIECE_TOKENIZER STREQUAL "ON" )
165- target_compile_definitions (tokenizers_cpp PUBLIC MLC_ENABLE_SENTENCEPIECE_TOKENIZER)
171+
172+ if (${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} )
173+ target_compile_definitions (tokenizers_cpp PUBLIC MLC_ENABLE_SENTENCEPIECE_TOKENIZER)
166174endif ()
167175target_link_libraries (tokenizers_cpp PRIVATE msgpack-cxx)
168176
@@ -178,10 +186,14 @@ if (CMAKE_SYSTEM_NAME STREQUAL "iOS")
178186 XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE} )
179187 endmacro (set_xcode_property)
180188endif ()
181- add_subdirectory (sentencepiece sentencepiece EXCLUDE_FROM_ALL )
189+ if (${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} )
190+ add_subdirectory (sentencepiece sentencepiece EXCLUDE_FROM_ALL )
191+ endif ()
182192
183193add_library (tokenizers_c INTERFACE ${TOKENIZERS_RUST_LIB} )
184194target_link_libraries (tokenizers_c INTERFACE ${TOKENIZERS_RUST_LIB} ${TOKENIZERS_C_LINK_LIBS} )
185-
186- target_link_libraries (tokenizers_cpp PRIVATE tokenizers_c sentencepiece-static ${TOKENIZERS_CPP_LINK_LIBS} )
195+ if (${MLC_ENABLE_SENTENCEPIECE_TOKENIZER} )
196+ set (SPLIB "sentencepiece-static" )
197+ endif ()
198+ target_link_libraries (tokenizers_cpp PRIVATE tokenizers_c ${SPLIB} ${TOKENIZERS_CPP_LINK_LIBS} )
187199target_include_directories (tokenizers_cpp PUBLIC ${TOKENIZERS_CPP_INCLUDE} )
0 commit comments