diff options
author | Rahul Kumar <rahku@microsoft.com> | 2015-11-23 17:11:42 -0800 |
---|---|---|
committer | jashook <jashoo@microsoft.com> | 2015-12-15 10:15:40 -0800 |
commit | ab8261b9853b50b3714ba80717e9164dfb765c74 (patch) | |
tree | 099768489a0b812101d7cc2ac4253c11b9909ec4 /src/dlls/mscoree | |
parent | b171cfd0c7179c39e8959d42aa3505ccfea1e834 (diff) | |
download | coreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.tar.gz coreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.tar.bz2 coreclr-ab8261b9853b50b3714ba80717e9164dfb765c74.zip |
Build arm64 using private toolset
Successfully builds all binaries except sos.dll & x64 binaries
Diffstat (limited to 'src/dlls/mscoree')
-rw-r--r-- | src/dlls/mscoree/coreclr/CMakeLists.txt | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt index 297a41143c..98af5911b8 100644 --- a/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -124,22 +124,44 @@ endif(CLR_CMAKE_PLATFORM_LINUX) target_link_libraries(coreclr ${CORECLR_LIBRARIES}) if(WIN32) - add_dependencies(coreclr dactablegen) - # Add dac table & debug resource to coreclr get_include_directories(INC_DIR) get_compile_definitions(PREPROCESS_DEFINITIONS) list(APPEND INC_DIR -I${CLR_DIR}/src/vm -I${CLR_DIR}/src/vm/${ARCH_SOURCES_DIR} -I${CLR_DIR}/src/debug/ee -I${CLR_DIR}/src/gc) - list(APPEND PREPROCESS_DEFINITIONS -DDACCESS_COMPILE -DDBG_TARGET_64BIT=1 -DDBG_TARGET_WIN64=1 -DDBG_TARGET_AMD64=1) - add_custom_command(TARGET coreclr - POST_BUILD - COMMAND ${CMAKE_CXX_COMPILER} /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/src/debug/daccess/daccess.cpp - COMMAND $<TARGET_FILE:dactablegen_exe> /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin - COMMAND $<TARGET_FILE:InjectResource> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr> - COMMAND $<TARGET_FILE:GenClrDebugResource> /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin - COMMAND $<TARGET_FILE:InjectResource> /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO - COMMENT Add dactable & debug resources to coreclr - ) + list(APPEND PREPROCESS_DEFINITIONS -DDACCESS_COMPILE -DDBG_TARGET_64BIT=1 -DDBG_TARGET_WIN64=1) + + + if(CLR_CMAKE_PLATFORM_ARCH_ARM64) + # TODO package these tools into a new buildtool nuget package to get cross compilation support. + + #list(APPEND PREPROCESS_DEFINITIONS -DDBG_TARGET_ARM64=1) + #add_custom_command(TARGET coreclr + # POST_BUILD + # COMMAND cl.exe /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/src/debug/daccess/daccess.cpp + # COMMAND dactablegen.exe /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin + # COMMAND InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr> + # COMMAND GenClrDebugResource.exe /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin + # COMMAND InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO + # COMMENT Add dactable & debug resources to coreclr + #) + + else() + list(APPEND PREPROCESS_DEFINITIONS -DDBG_TARGET_AMD64=1) + + add_dependencies(coreclr dactablegen) + + add_custom_command(TARGET coreclr + POST_BUILD + COMMAND ${CMAKE_CXX_COMPILER} /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/src/debug/daccess/daccess.cpp + COMMAND $<TARGET_FILE:dactablegen_exe> /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin + COMMAND $<TARGET_FILE:InjectResource> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr> + COMMAND $<TARGET_FILE:GenClrDebugResource> /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin + COMMAND $<TARGET_FILE:InjectResource> /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO + COMMENT Add dactable & debug resources to coreclr + ) + + endif(CLR_CMAKE_PLATFORM_ARCH_ARM64) + else() add_custom_command( TARGET coreclr |