[CMake] Declare cmake_minimum_required() unconditionally.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@202235 91177308-0d34-0410-b5e6-96231b3b80d8
lldReaderWriter: move LLVM_LINK_COMPONENTS. It seems Subdirectories don't depend on LLVMObject.

Please give LLVMObject explicitly in each subdirectory if any of subdirectories required it.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@202236 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Introduce cmake_policy(CMP0022) for target_link_libraries(INTERFACE|PRIVATE).

For now, use both keywords, INTERFACE and PRIVATE via the variable,
  - ${cmake_2_8_12_INTERFACE}
  - ${cmake_2_8_12_PRIVATE}

They could be cleaned up when we introduce 2.8.12.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@202239 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Use target_link_libraries(INTERFACE|PRIVATE) on CMake-2.8.12 to increase opportunity for parallel build.

target_link_libraries(INTERFACE) doesn't bring inter-target dependencies in add_library,
although final targets have dependencies to whole dependent libraries.
It makes most libraries can be built in parallel.

target_link_libraries(PRIVATE) is used to shaared library.
Each dependent library is linked to the target.so, and its user will not see its grandchildren.
For example,

  - libclang.so has sufficient libclang*.a(s).
  - c-index-test requires just only libclang.so.

FIXME: lld is tweaked minimally. Adding INTERFACE in each library would be better thing.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@202241 91177308-0d34-0410-b5e6-96231b3b80d8