diff --git a/apps/system/CMakeLists.txt b/apps/system/CMakeLists.txt index ce93bea..5ffea2d 100644 --- a/apps/system/CMakeLists.txt +++ b/apps/system/CMakeLists.txt @@ -22,7 +22,6 @@ include(${CMAKE_CURRENT_LIST_DIR}/rust.cmake) RustAddLibrary( kata_debug_console SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/components/DebugConsole - TARGET "riscv32imc-unknown-none-elf" LIB_FILENAME libkata_debug_console.a ) @@ -34,7 +33,6 @@ DeclareCAmkESComponent(DebugConsole RustAddLibrary( kata_process_manager SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/components/ProcessManager - TARGET "riscv32imc-unknown-none-elf" LIB_FILENAME libkata_process_manager.a ) @@ -46,7 +44,6 @@ DeclareCAmkESComponent(ProcessManager RustAddLibrary( kata_ml_coordinator SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/components/MlCoordinator - TARGET "riscv32imc-unknown-none-elf" LIB_FILENAME libkata_ml_coordinator.a ) @@ -58,7 +55,6 @@ DeclareCAmkESComponent(MlCoordinator RustAddLibrary( kata_security_coordinator SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/components/SecurityCoordinator - TARGET "riscv32imc-unknown-none-elf" LIB_FILENAME libkata_security_coordinator.a ) @@ -70,7 +66,6 @@ DeclareCAmkESComponent(SecurityCoordinator RustAddLibrary( kata_storage_manager SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/components/StorageManager - TARGET "riscv32imc-unknown-none-elf" LIB_FILENAME libkata_storage_manager.a ) diff --git a/apps/system/rust.cmake b/apps/system/rust.cmake index e22b083..bd5dff7 100644 --- a/apps/system/rust.cmake +++ b/apps/system/rust.cmake @@ -11,10 +11,10 @@ include_guard(GLOBAL) # NB: we cannot use CARGO_OPTIONS, cargo will strip it out set(RUSTFLAGS "-Z tls-model=local-exec" CACHE INTERNAL "rustc env flags") -list(APPEND CARGO_OPTIONS - --target riscv32imac-unknown-none-elf +set(CARGO_OPTIONS -Z unstable-options - -Z avoid-dev-deps) + -Z avoid-dev-deps + CACHE INTERNAL "cargo cmd line arguments") if("${RELEASE}") list(APPEND CARGO_OPTIONS "--release") @@ -42,6 +42,9 @@ function(RustAddLibrary lib_name) if("${RUST_BUILD_DIR}" STREQUAL "") set(RUST_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) endif() + if("${RUST_TARGET}" STREQUAL "") + set(RUST_TARGET "riscv32imac-unknown-none-elf") + endif() add_custom_target( ${lib_name}_custom @@ -53,6 +56,7 @@ function(RustAddLibrary lib_name) COMMAND ${CMAKE_COMMAND} -E env RUSTFLAGS=${RUSTFLAGS} cargo +nightly-2021-08-05 build + --target ${RUST_TARGET} ${CARGO_OPTIONS} --target-dir ${RUST_BUILD_DIR} --out-dir ${RUST_BUILD_DIR}