From 985dd490595d259750ed5fd7ceb7fa6cae9c52da Mon Sep 17 00:00:00 2001 From: momo5502 Date: Wed, 26 Mar 2025 17:48:04 +0100 Subject: [PATCH] Fix cargo builds --- src/icicle/CMakeLists.txt | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/icicle/CMakeLists.txt b/src/icicle/CMakeLists.txt index 79f07c8f..747a9a7d 100644 --- a/src/icicle/CMakeLists.txt +++ b/src/icicle/CMakeLists.txt @@ -4,24 +4,33 @@ set(ICICLE_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/cargo-build) set(ICICLE_ARTIFACT_DIR ${ICICLE_BUILD_DIR}/$,debug,release>) set(ICICLE_RUST_PROJECT_NAME "icicle") -set(ICICLE_RUST_LIB ${ICICLE_ARTIFACT_DIR}/lib${ICICLE_RUST_PROJECT_NAME}.a) +set(ICICLE_RUST_LIBNAME "lib${ICICLE_RUST_PROJECT_NAME}.a") if(MSVC) - set(ICICLE_RUST_LIB ${ICICLE_ARTIFACT_DIR}/${ICICLE_RUST_PROJECT_NAME}.lib) + set(ICICLE_RUST_LIBNAME "${ICICLE_RUST_PROJECT_NAME}.lib") endif() -set(CARGO_OPTIONS "") +set(CARGO_TRIPLE) +set(CARGO_OPTIONS) if(CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(CARGO_OPTIONS "--target=aarch64-apple-ios") + set(CARGO_TRIPLE "aarch64-apple-ios") elseif(CMAKE_SYSTEM_NAME STREQUAL "Android") if(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a") - set(CARGO_OPTIONS "--target=aarch64-linux-android") + set(CARGO_TRIPLE "aarch64-linux-android") else() - set(CARGO_OPTIONS "--target=${CMAKE_ANDROID_ARCH_ABI}-linux-android") + set(CARGO_TRIPLE "${CMAKE_ANDROID_ARCH_ABI}-linux-android") endif() endif() +if(CARGO_TRIPLE) + set(CARGO_OPTIONS ${CARGO_OPTIONS} "--target=${CARGO_TRIPLE}") + set(ICICLE_ARTIFACT_DIR ${ICICLE_BUILD_DIR}/${CARGO_TRIPLE}/$,debug,release>) +endif() + + +set(ICICLE_RUST_LIB ${ICICLE_ARTIFACT_DIR}/${ICICLE_RUST_LIBNAME}) + ExternalProject_Add( icicle-rust-project PREFIX ${CMAKE_CURRENT_BINARY_DIR}