Merge pull request #4349 from rahku/master
authorRahul Kumar <rahku@microsoft.com>
Tue, 19 Apr 2016 05:18:43 +0000 (22:18 -0700)
committerRahul Kumar <rahku@microsoft.com>
Tue, 19 Apr 2016 05:18:43 +0000 (22:18 -0700)
enable build of cross target components.
This enables the build of following cross target components:
 1. crossgen
 2. mscordacore.dll
 3. sos.dll
 4. mscordbi.dll
 This is currently only enabled for arm64 and generates x64 binaries. For cross builds it uses the same hierarchy of cmake files from source root folder. At the end of build, build calls cmake again to generate solution for cross build specifying both host & target arch. This PR adds host & target arch configuration in cmake. I decided to reuse CLR_CMAKE_PLATFORM_ARCH_* to be as the host arch and CLR_CMAKE_TARGET_ARCH_* to be as target arch. For non-cross builds they are one and same and differ in cross builds. I have also refactored root CMakeLists.txt into smaller files. Binaries for cross builds are placed at bin\product<OS.Arch.Type><hostArch> (eg for arm64 they will be at bin\product\OS.arm64.debug\x64)


Trivial merge