diff --git a/CMakeLists.txt b/CMakeLists.txt index 176381f..65bfd26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,10 @@ set(TOKENIZERS_CPP_MSVC_RUNTIME_LIBRARY "" CACHE STRING "MSVC runtime library se set(TOKENIZERS_CPP_RUST_FLAGS "") set(TOKENIZERS_CPP_CARGO_TARGET "") +if(TOOLCHAIN_DIR AND NOT TOOLCHAIN_DIR MATCHES "/$") + set(TOOLCHAIN_DIR "${TOOLCHAIN_DIR}/") +endif() + if(MSVC) if(TOKENIZERS_CPP_MSVC_RUNTIME_LIBRARY STREQUAL "MT") list(APPEND TOKENIZERS_CPP_RUST_FLAGS -Ctarget-feature=+crt-static) @@ -33,6 +37,11 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND TOKENIZERS_C_LINK_LIBS ${CMAKE_DL_LIBS}) if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") set(TOKENIZERS_CPP_CARGO_TARGET aarch64-unknown-linux-gnu) + set(CARGO_EXTRA_ENVS + AR_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-ar + CC_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-gcc + CXX_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-g++ + ) endif() elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") set(TOKENIZERS_CPP_CARGO_TARGET wasm32-unknown-emscripten)