# \[ExternalData\] updating content does not trigger staging of linked content

**URL:** https://discourse.cmake.org/t/externaldata-updating-content-does-not-trigger-staging-of-linked-content/7196
**Category:** Usage
**Created:** [January 4, 2023, 3:45pm UTC](https://discourse.cmake.org/t/externaldata-updating-content-does-not-trigger-staging-of-linked-content/7196 "2023-01-04T15:45:21Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![menno](https://discourse.cmake.org/user_avatar/discourse.cmake.org/menno/32/2928_2.png) [@menno](https://discourse.cmake.org/u/menno)
#### Post date: [January 4, 2023, 3:45pm UTC](https://discourse.cmake.org/t/externaldata-updating-content-does-not-trigger-staging-of-linked-content/7196/1 "2023-01-04T15:45:21Z")

</div>

I’m trying to use the ExternalData module. So far it works very well; with a declaration of `ExternalData_LINK_CONTENT` the data marked with `DATA{...}` in the CMakeLists.txt files gets staged for uploading by moving it to `.ExternalData_%(algo)_%(hash)` file. Perfect, just as advertised.

Now I’m exploring what happens when data gets updated in-place. So I have an “old” `datafile.bin.sha512` file whose content is available from the data store, and put a new version of `datafile.bin` next to it.

I was expecting that this new file would be detected when I issue `make`, and converted to linked content automatically, but I need to run `make rebuild_cache` for that to happen. Is there any way to make the build system pick up on the new content without having to run `make rebuild_cache`?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [January 4, 2023, 6:54pm UTC](https://discourse.cmake.org/t/externaldata-updating-content-does-not-trigger-staging-of-linked-content/7196/2 "2023-01-04T18:54:13Z")

</div>

No, because then there’d be dependencies to non-existent files which is usually a sign of a broken build graph. Rerunning CMake to rehash new data files is part of `ExternalData`’s intended workflow.

---

<div class="post-metadata">

### Author: ![menno](https://discourse.cmake.org/user_avatar/discourse.cmake.org/menno/32/2928_2.png) [@menno](https://discourse.cmake.org/u/menno)
#### Post date: [January 5, 2023, 7:12am UTC](https://discourse.cmake.org/t/externaldata-updating-content-does-not-trigger-staging-of-linked-content/7196/3 "2023-01-05T07:12:48Z")

</div>

Ok @ben.boeckel thank you for clearing that up.
