rust.cmake: fixups

- add a default TARGET argument for RustAddLibrary and remove TARGET
  params from the calls--we were already overriding any specified
  TARGET and all the specified TARGETS had bitrot'd
- make CARGO_OPTIONS a CACHE variable so it's scope-independent and
  set the variable to avoid duplicate options (which cargo rejects)

Change-Id: I37eaa421d99834deeb87242aa9acea7e49bed8e3
GitOrigin-RevId: c667372e2961cd052b358abce9602cc888e46daf
This commit is contained in:
Sam Leffler 2021-12-14 20:16:25 +00:00
parent 840c348e94
commit 36f2577a40
2 changed files with 7 additions and 8 deletions

View File

@ -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
)

View File

@ -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}