Re: Specifying the location of the Cargo.lock file

⚓ rust    📅 2025-04-25    👤 surdeus    👁️ 7      

surdeus

Warning

This post was published 69 days ago. The information described in this article may have changed.

Can you avoid placing Cargo.lock inside the source tree for packages that don't ship with one?

In response to the thread in Specifying the location of the Cargo.lock file I can offer a solution. Define your SOURCE_DIR and BUILD_DIR as appropriate and run the following:

mkdir -p "$BUILD_DIR" && cd "$BUILD_DIR"
ln -s "$SOURCE_DIR" $(basename "$SOURCE_DIR")
printf "[workspace]\nmembers = [ \"%s\" ]\n" $(basename $SOURCE_DIR) > "Cargo.toml"
cargo build

The above makes the build directory into a workspace; to account for the fact that the source and build directories may not be hierarchically inside one another, we use a symlink to fool cargo into completing the build anyway.

2 posts - 2 participants

Read full topic

🏷️ rust_feed