What is CMake cache?
I'm reading the cmake manual and have occasionally come across the term cmake cache. For instance this paragraph:
-C <initial-cache>
Pre-load a script to populate the cache.When cmake is first run in an empty build tree, it creates a CMakeCache.txt file and populates it with customizable settings for the project. This option may be used to specify a file from which to load cache entries before the first pass through the project’s cmake listfiles. The loaded entries take priority over the project’s default values. The given file should be a CMake script containing SET commands that use the CACHE option, not a cache-format file.
What is this cache?
Are there different types of cache?
Or would a better question be: what is cache in general?
Also, what is the importance of cache?
And are there certain caveats when dealing with cache?
For example, does the cache reset when you turn restart your computer?