Как я могу сказать Cargo перестроить, когда файл, включенный в макрос include_bytes, был изменен?
Я использую include_bytes!
макрос для компиляции шейдера GLSL в программу ржавчины. Кажется, что Cargo не знает об этом, однако: когда я изменяю только файл шейдера и тестирую его с cargo run
обновленный файл не компилируется. Касаясь вручную .rs
файл, который включает шейдер, работает.
Нужно ли что-то добавить в мой Cargo.toml
явно изложить эту зависимость?
Информация о версии:
$ rustc --version && cargo --version
rustc 1.0.0-nightly (ecf8c64e1 2015-03-21) (built 2015-03-22)
cargo 0.0.1-pre-nightly (e689383 2015-03-16) (built 2015-03-16)
2 ответа
Решение
Это было исправлено в rustc: https://github.com/rust-lang/rust/pull/24423
В настоящее время Cargo не может добавить файл в список "просматриваемых" файлов для внесения изменений. Он не будет знать о файлах, включенных в include_bytes!
потому что это будет связано со специальным размещением этого макроса специально.