title: What is the difference between CMake variables and properties?
body: <p>CMake variables and properties seem to accomplish very similar things, and I have been unable to understand the difference between them. </p>
  
  <p>They each have their own sections of documentation, but both can affect the build system, both "pre-exist", and both can be dynamically generated based on other CMake commands. It seems like they should have separate purposes. What are they?</p>