Repository navigation
Deduplicate fbuild settings/locations logic and fix cmake cache keying (WP4) - #20
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
Original prompt from thomas.boyer.chammard
|
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
…emo per build dir (WP4) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
7a84b74 to
d7247b3
Compare
071f835 to
0f693d8
Compare
Change Description
builder.py:get_cmake_args()'s needed-settings list derived fromBuild.CACHE_SETTING_MAP(was a byte-identical duplicate minusPROJECT_SOURCE_DIR); private join/split helper pair for theFPRIME_LIBRARY_LOCATIONS;-separated form (join atget_cmake_args, splits at_load_settings_from_cacheandcmake.get_include_locations); one_read_locations_filehelper replacing the near-identical_load_build_cache_locations/_load_source_locationsbodies.cmake.py_read_cache: memo now keyed by resolvedbuild_dirand invalidated per-dir in bothcmake_refresh_cachebranches — previously the memo was returned regardless of which build dir produced it (real bug when one process touches normal + UT caches).Rationale
Single source of truth for three verified duplications; fixes the latent cross-build-dir cache bug (WP4 of 9, stacked on #19). Emitted cmake args and exception messages unchanged.
Testing/Review Recommendations
New two-dir cache test in
test_cmake.pyproves per-dir caching. Suite: 161 passed; black clean. Thefpp/common.pylocs-file split intentionally stays (moves withfppin WP8).Future Work
WP5–WP9 of the series.
Pushed by Devin AI
Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/bba39c1277854bf8a1fd63a094f20e24
Requested by: @thomas-bc-autobot