From 4af0636b52908ece5becc5e8521cdf692bac6479 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Sun, 21 Jan 2024 22:13:46 -0500 Subject: [PATCH] Add note about Rust not building automatically (#3255) --- doc/devel/contrib/rust-and-c++.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/devel/contrib/rust-and-c++.md b/doc/devel/contrib/rust-and-c++.md index 6ad2a9567..e0244424d 100644 --- a/doc/devel/contrib/rust-and-c++.md +++ b/doc/devel/contrib/rust-and-c++.md @@ -27,3 +27,16 @@ Taskwarrior's interface to TaskChampion has a few layers: All of these symbols are placed in the C++ namespace, `tc::ffi`. * C++ wrappers for the types from `taskchampion-lib` are defined in [`src/tc`](../../src/tc), ensuring memory safety (with `unique_ptr`) and adding methods corresponding to the Rust API's methods. The wrapper types are in the C++ namespace, `tc`. + +## WARNING About Dependency Tracking + +CMake cannot detect changes to Rust files in under the `taskchampion/` directory. +Running `make` after these files are changed will not incorporate the changes into the resulting executables. +To force re-compilation of the Rust dependencies: + +``` +rm -rf src/tc/rust/x86_64-unknown-linux-gnu/debug/libtc_rust.a +make +``` + +You may need to adjust the `x86_64-unknown-linux-gnu` part of that command depending on what system you are using for development.