summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2017-03-09 23:28:24 +0100
committerGitHub <noreply@github.com>2017-03-09 23:28:24 +0100
commitcbe0f7d54f6e56611a64291202976d74e700f0d5 (patch)
tree4333763ce1e0cf88b2a961b6f939ac6bc9d5aa58 /src
parentedb21e4087b8496924806f7bd7261b8876327120 (diff)
downloadcoreclr-cbe0f7d54f6e56611a64291202976d74e700f0d5.tar.gz
coreclr-cbe0f7d54f6e56611a64291202976d74e700f0d5.tar.bz2
coreclr-cbe0f7d54f6e56611a64291202976d74e700f0d5.zip
Fix incremental build of resources injected to coreclr.dll (#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.
Diffstat (limited to 'src')
-rw-r--r--src/dlls/CMakeLists.txt8
-rw-r--r--src/dlls/mscoree/coreclr/CMakeLists.txt8
2 files changed, 11 insertions, 5 deletions
diff --git a/src/dlls/CMakeLists.txt b/src/dlls/CMakeLists.txt
index 932e65e350..6d036aff66 100644
--- a/src/dlls/CMakeLists.txt
+++ b/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/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt
index 95af2a7db3..ed15500f0e 100644
--- a/src/dlls/mscoree/coreclr/CMakeLists.txt
+++ b/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}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin
COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr>
COMMAND ${BuildToolsDir}/GenClrDebugResource.exe /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin
COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /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