Skip to content

Exclude autogenerated files from rerun-if-changed directives#41

Merged
lovasoa merged 1 commit intorust-or:masterfrom
yongqli:master
Nov 12, 2025
Merged

Exclude autogenerated files from rerun-if-changed directives#41
lovasoa merged 1 commit intorust-or:masterfrom
yongqli:master

Conversation

@yongqli
Copy link
Contributor

@yongqli yongqli commented Nov 11, 2025

Currently dependents of highs-sys will trigger a rebuild every time:

# cargo check -vv
...
       Dirty highs v1.12.0 (/Users/username/Projects/highs): the dependency highs_sys was rebuilt (1762881065.176008101s, 6s after last build at 1762881059.094095875s)
...

# cargo check -vv
...
       Dirty highs v1.12.0 (/Users/username/Projects/highs): the dependency highs_sys was rebuilt (1762881065.176008101s, 6s after last build at 1762881059.094095875s)
...

This is because some header files are autogenerated, and when bindgen parses them, bindgen::CargoCallbacks issues rerun-if-changed directives that results in files in the output dir being named as an input.

E.g.

# cargo build -vv
...
[highs-sys 1.11.0] cargo:rerun-if-changed=/Users/username/Projects/highs-sys/target/debug/build/highs-sys-1c83f0054887d3e0/out/include/highs/interfaces/highs_c_api.h
[highs-sys 1.11.0] cargo:rerun-if-changed=/Users/username/Projects/highs-sys/target/debug/build/highs-sys-1c83f0054887d3e0/out/include/highs/lp_data/HighsCallbackStruct.h
[highs-sys 1.11.0] cargo:rerun-if-changed=/Users/username/Projects/highs-sys/target/debug/build/highs-sys-1c83f0054887d3e0/out/include/highs/util/HighsInt.h
[highs-sys 1.11.0] cargo:rerun-if-changed=/Users/username/Projects/highs-sys/target/debug/build/highs-sys-1c83f0054887d3e0/out/include/highs/HConfig.h
...

This patch filters out files in the dst dir from being named in rerun-if-changed since we know that they are derived outputs and not original inputs.

@lovasoa lovasoa merged commit 6a25b98 into rust-or:master Nov 12, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants