title: In cmake, what is a "project"?
body: <p>This question is about the <code>project</code> command and, by extension, what the <em>concept</em> of a <code>project</code> means in cmake. I genuinely don't understand what a <code>project</code> is,  and how it differs from a <code>target</code> (which I do understand, I think). </p>
  
  <p>I had a look at the <a href="http://www.cmake.org/cmake/help/v3.0/command/project.html" rel="noreferrer">cmake documentation for the <code>project</code></a> command, and it says that the <code>project</code> command does this:</p>
  
  <blockquote>
    <p>Set a name, version, and enable languages for the entire project.</p>
  </blockquote>
  
  <p>It should go without saying that using the word <em>project</em> to define <em>project</em> is less than helpful.</p>
  
  <p>Nowhere on the page does it seem to explain what a project actually <em>is</em> (it goes through some of the things the command <em>does</em>, but doesn't say whether that list is exclusive or not). The <a href="http://www.cmake.org/examples/" rel="noreferrer">cmake.org examples</a> take us through a basic build setup, and while it uses the <code>project</code> keyword it also doesn't explain what it does or means, at least not as far as I can tell.</p>
  
  <p>What is a <em>project</em>? And what does the <code>project</code> command do?</p>