title: what does "CACHE STRING" in CMake CMakeLists file mean?
body: <p>I came to this sentences in a CMakeLists file, I googled it but couldn't find relevant resources on the word <code>CACHE STRING</code>.</p>
  
  <pre><code>set(CMAKE_BUILD_TYPE Debug CACHE STRING "set build type to debug") 
  </code></pre>
  
  <p>What does it mean? And imho, isn't this quite obscure to use?</p>