Skip to content

Commit

Permalink
Make sure event generation is incremental (dotnet#48903)
Browse files Browse the repository at this point in the history
  • Loading branch information
hoyosjs authored Mar 9, 2021
1 parent ea2d78a commit f7072ec
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
7 changes: 5 additions & 2 deletions eng/native/functions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -468,9 +468,12 @@ function(generate_module_index Target ModuleIndexFile)
set(scriptExt ".sh")
endif()

set(index_timestamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${Target}_index.timestamp)

add_custom_command(
OUTPUT ${ModuleIndexFile}
OUTPUT ${index_timestamp}
COMMAND ${CLR_ENG_NATIVE_DIR}/genmoduleindex${scriptExt} $<TARGET_FILE:${Target}> ${ModuleIndexFile}
COMMAND ${CMAKE_COMMAND} -E touch ${index_timestamp}
DEPENDS ${Target}
COMMENT "Generating ${Target} module index file -> ${ModuleIndexFile}"
)
Expand All @@ -482,7 +485,7 @@ function(generate_module_index Target ModuleIndexFile)

add_custom_target(
${Target}_module_index_header
DEPENDS ${ModuleIndexFile}
DEPENDS ${index_timestamp}
)
endfunction(generate_module_index)

Expand Down
7 changes: 5 additions & 2 deletions src/coreclr/vm/eventing/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,17 @@ endif()

set(GENEVENTING_SCRIPT ${CLR_DIR}/scripts/genEventing.py)

add_custom_target(eventing_headers
${PYTHON_EXECUTABLE} ${GENEVENTING_SCRIPT} --man ${EVENT_MANIFEST} --inc ${GENERATED_INCLUDE_DIR} --dummy ${GENERATED_INCLUDE_DIR}/etmdummy.h ${NONEXTERN_ARG} ${NOXPLATHEADER_ARG}
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventing_headers.timestamp
COMMAND ${PYTHON_EXECUTABLE} ${GENEVENTING_SCRIPT} --man ${EVENT_MANIFEST} --inc ${GENERATED_INCLUDE_DIR} --dummy ${GENERATED_INCLUDE_DIR}/etmdummy.h ${NONEXTERN_ARG} ${NOXPLATHEADER_ARG}
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventing_headers.timestamp
DEPENDS ${EVENT_MANIFEST} ${GENEVENTING_SCRIPT}
VERBATIM
)

set_source_files_properties(${EventingHeaders} PROPERTIES GENERATED TRUE)

add_custom_target(eventing_headers DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventing_headers.timestamp)
add_dependencies(eventing_headers eventprovider)

add_subdirectory(eventpipe)
Expand Down
8 changes: 6 additions & 2 deletions src/coreclr/vm/eventing/EtwProvider/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ set (ETW_PROVIDER_OUTPUTS

set_source_files_properties(${ETW_PROVIDER_OUTPUTS} PROPERTIES GENERATED TRUE)

add_custom_target(eventprovider
${PYTHON_EXECUTABLE} ${ETW_PROVIDER_SCRIPT} --man ${EVENT_MANIFEST} --exc ${EVENT_EXCLUSIONS} --intermediate ${GENERATED_INCLUDE_DIR}
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventprovider.timestamp
COMMAND ${PYTHON_EXECUTABLE} ${ETW_PROVIDER_SCRIPT} --man ${EVENT_MANIFEST} --exc ${EVENT_EXCLUSIONS} --intermediate ${GENERATED_INCLUDE_DIR}
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventprovider.timestamp
DEPENDS ${EVENT_MANIFEST} ${EVENT_EXCLUSIONS} ${ETW_PROVIDER_SCRIPT})

add_custom_target(eventprovider DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/eventprovider.timestamp)

0 comments on commit f7072ec

Please sign in to comment.