# When to reconfigure vs configure from scratch? Why?

**URL:** https://discourse.cmake.org/t/when-to-reconfigure-vs-configure-from-scratch-why/3670
**Category:** Usage
**Created:** [July 1, 2021, 8:34pm UTC](https://discourse.cmake.org/t/when-to-reconfigure-vs-configure-from-scratch-why/3670 "2021-07-01T20:34:19Z")
**Posts on this page:** 1
**Showing post:** 2

<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: [July 1, 2021, 10:50pm UTC](https://discourse.cmake.org/t/when-to-reconfigure-vs-configure-from-scratch-why/3670/2 "2021-07-01T22:50:31Z")

</div>

> [@thejohnfreeman](#):
>
> how can I tell ahead of time whether reconfiguration will incorporate that change?

In general, you can’t. _Most_ projects are OK with flipping options and running off of cached results, but others are not. I’ll also note that `Find` modules usually want everything they make cleared before finding a different installation of the same package though.

> [@thejohnfreeman](#):
>
> The [documentation](https://cmake.org/cmake/help/latest/variable/CMAKE_TOOLCHAIN_FILE.html) for `CMAKE_TOOLCHAIN_FILE` does not say it is ignored after the first configuration. Why is it?

It probably should. CMake doesn’t support changing the compiler after the initial configure (where a compiler is successfully found) because it builds all kinds of knowledge up based on that discovered compiler that undoing it all is very unreliable, so it’s just best to start from scratch in that case.

---

_[View the full topic](https://discourse.cmake.org/t/when-to-reconfigure-vs-configure-from-scratch-why/3670)._
