From 8e46c20e9d0aef467063b921dc99fe6a525d2aaf Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Thu, 9 Mar 2017 23:28:24 +0100 Subject: [PATCH] Fix incremental build of resources injected to coreclr.dll (dotnet/coreclr#10045) * Fix incremental build of resources injected to coreclr.dll This change fixes the build of resources injected to coreclr.dll so that it happens only when its dependencies change and not at every build. Commit migrated from https://github.com/dotnet/coreclr/commit/cbe0f7d54f6e56611a64291202976d74e700f0d5 --- src/coreclr/src/dlls/CMakeLists.txt | 8 +++++--- src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt | 8 ++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/coreclr/src/dlls/CMakeLists.txt b/src/coreclr/src/dlls/CMakeLists.txt index 932e65e..6d036af 100644 --- a/src/coreclr/src/dlls/CMakeLists.txt +++ b/src/coreclr/src/dlls/CMakeLists.txt @@ -4,6 +4,8 @@ endif(WIN32) add_subdirectory(dbgshim) add_subdirectory(mscordbi) add_subdirectory(mscordac) -add_subdirectory(mscoree) -add_subdirectory(mscorpe) -add_subdirectory(mscorrc) +if (NOT CLR_CROSS_COMPONENTS_BUILD) + add_subdirectory(mscoree) + add_subdirectory(mscorpe) + add_subdirectory(mscorrc) +endif() diff --git a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt index 95af2a7..ed15500 100644 --- a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -159,15 +159,19 @@ if(WIN32) endif() add_custom_command( - TARGET coreclr - POST_BUILD + DEPENDS coreclr mscordaccore mscordbi ${CLR_DIR}/src/debug/daccess/daccess.cpp + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp 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 ${BuildToolsDir}/dactablegen.exe /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$/coreclr.pdb /dll:$ /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$ COMMAND ${BuildToolsDir}/GenClrDebugResource.exe /dac:$ /dbi:$ /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$ /name:CLRDEBUGINFO + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp COMMENT Add dactable & debug resources to coreclr ) + + add_custom_target(inject_debug_resources ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp) + endif(WIN32) # add the install targets -- 2.7.4