title: CMake: Get the complete representation of a path minus relative elements
body: <p>I want to take a variable that has been set to a combination of path elements (potentially both absolute and relative) and get the absolute path from it. Something like what <code>boost::filesystem::system_complete()</code> does in C++. For example, I have something like: </p>
  
  <pre><code>set(EXTERNAL_LIB_DIR "${CMAKE_SOURCE_DIR}/../external" CACHE PATH "Location of externals")
  </code></pre>
  
  <p>which works but in the UI it's a bit ugly, as it might end up looking like <code>C:/dev/repo/tool/../external</code>. I'm wondering if there's a CMake built-in command to turn that into <code>C:/dev/repo/external</code> before I go and script a macro to do it. <code>find_path</code> kind of does this, but it requires that the path already exist and something worth searching for be there. I want it to work whether the path exists or not (I might use it for an overridden <code>CMAKE_INSTALL_PREFIX</code> default, for example).</p>