Moving a C/C++ project to Rust

I guess you are looking for this:

rerun-if-changed is a path to a file or directory which indicates that the build script should be re-run if it changes (detected by a more-recent last-modified timestamp on the file). Normally build scripts are re-run if any file inside the crate root changes, but this can be used to scope changes to just a small set of files. If this path points to a directory the entire directory will be traversed for changes.

So if you do something like this in your build.rs:

println!("cargo:rerun-if-changed=/path/to/native/code/source.c");

it should make Cargo re-build project if designated file is changed.

I haven't tried it myself, but I guess it should work according to docs.