Add missing files.
Don't use std::distance.

Apparently suncc does not have a working implementation.
Avoid warning about redefinition of type.
Merge topic 'ALIAS-targets' into next

8622c61 Avoid warning about redefinition of type.
c2e7416 Don't use std::distance.
e801255 Add missing files.
Add the ALIAS_LIBRARY target type.

* The ALIAS name must match a validity regex.
* Executables and libraries may be aliased.
* An ALIAS acts immutable. It can not be used as the lhs
  of target_link_libraries or other commands.
* An ALIAS does not appear in the generated buildsystem. It
  is kept separate from cmMakefile::Targets for that reason.
* A target may have multiple aliases.
* An ALIAS target may not itself have an alias.
* An IMPORTED target may not have an alias.
* An ALIAS may not be exported or imported.
Make sure the add_ commands can only handle appropriate target types.
Document that an ALIAS may not be installed or exported.
cmTarget: Add the ALIASED_TARGET target property

If the target being read is an alias name, this returns the name
of the aliased target.
Test that add_custom_command with an ALIAS works.
Make sure add_custom_target works with an ALIAS.
Test that add_test works with an ALIAS.
Test that $<TARGET_FILE> works.
Test that an OBJECT_LIBRARY ALIAS works.
Test the behavior of $<TARGET_PROPERTY:Alias,NAME>

The result is the name of the aliased target.
Merge topic 'ALIAS-targets' into next

97159e9 Test the behavior of $<TARGET_PROPERTY:Alias,NAME>
9cc97c4 Test that an OBJECT_LIBRARY ALIAS works.
9ee4ace Test that $<TARGET_FILE> works.
2f1e13e Test that add_test works with an ALIAS.
883288c Make sure add_custom_target works with an ALIAS.
41050e2 Test that add_custom_command with an ALIAS works.
1436e9e cmTarget: Add the ALIASED_TARGET target property
5f10205 Document that an ALIAS may not be installed or exported.
1eebeb3 Make sure the add_ commands can only handle appropriate target types.
7197f53 Add the ALIAS_LIBRARY target type.