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)
commit87ce0d9914c5f4dc8c2c0e3b8ce4dba7e2b2f1ab
tree2de78686eb771e11d7276c69791405550bbd0311
parent0a31fe90800bd45e3c3668483dbe27358864170e
parent7f46dbe0c6b0785a4e40978da684b1dc81d0b8ce
Merge pull request #4349 from rahku/master

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)