title: What is the point of ALIAS in cmake?
body: <p>In a lot of tutorials and cmake examples I see, it is suggested that you provide aliases with <code>::</code>s in the name:</p>
  
  <pre><code>add_library(foo a.cxx b.cxx c.xx)
  add_library(N::foo ALIAS foo)
  </code></pre>
  
  <p>What is the point of doing such a thing? Is there a case where using <code>N::foo</code> subsequently solves a problem that using <code>foo</code> directly might have? Why is this considered good practice? </p>