diff options
author | Victor "Nate" Graf <nategraf1@gmail.com> | 2017-12-20 18:07:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-20 18:07:52 -0800 |
commit | 7524d72d4f0f634fe5407280b83c25181dc8c556 (patch) | |
tree | 119c7edbbd7b3a0aec47d55334d52d1471e3a3da /src/CMakeLists.txt | |
parent | 9891c8ba8f84ff646455b4493447295c591665f4 (diff) | |
download | coreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.tar.gz coreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.tar.bz2 coreclr-7524d72d4f0f634fe5407280b83c25181dc8c556.zip |
Enable EventPipe across Unix and Windows (#14772)
* [squashed] most work complete to enable EventPipe on Windows
* Eventpipe now builds on Windows
* Ensure evevntpipe is intialized on Windows
* Resolve the location of python from build.cmd
* Ensure eventing files are generated when needed
* moving linkage declaration to cmake
* create new event from constructor
* enable FEATURE_EVENT_TRACE and FEATURE_PERF_TRACE everywhere
* [WIP] checkpoint in fixing contarct errors
* add another possible python location
* Fix double delete bug in EventPipeConfiguration destructor
* Fix typo in function name
* Revert changes to .gitgnore
* bump to netstandard1.6 in preperation for new version of TraceEvent
* Revert changes to groovy files
* revert changes to perf-prep scripts
* add common.h and use nothrow
* Fix issue which was causing double delete of configprovider
* Add new test utilizing TraceEvent
* Remove accidentally added local directory reference
* Add comment to explain the addition of misc/tracepointprovider.cpp
* Add back sys.exit(0) and refactor
* Change conditional to be more direct
* Better handle NULL config
* Initialize m_deleteDefered
* Eliminate obsolete field
* Fix spelling error
* Fix nits
* Make smaple progiler timing functions easier to read
* Move projects back to netstandard1.4
* Incomplete improvements to EventPipeTrace test
* Add event integrity checks to test
* Clean up some left over code
* Add EventSource based test
* Remove unused PAL tests on Windows
* Fix Linux build breaks
* Minor changes to CMake files
* Remove //HACK for hack that was previously removed
* Fix formatting and negate a #ifdef
* Add conditional to ensure PERFTRACING is not enabled without EVENT_TRACE
* Take lock on EventPipeProvider and EventPipeConfiguration destruction
* Load winmm.dll at runtime
* Change function name and compile conditions
* Move typedef into #ifndef
* Use the correct config in setup
* Change lifecycle managment of EventPipeConfiguration's configuration provider
* Enable EventPipe tests pri0 and disable broken tests
* Replace python3 only error with python2 compatable one
* Make common.csproj build pri0
* Change TraceEvent version to 2.0.2 to match published verison
* Address cross build failure
* Remove use of undefined variable
* Add crossgen fix to .cmd
* Use more specific types to avoid marshalling errors
* Use Assert-style statements and remove one check
* Fix cross arch build
* Fix flipped branch
* Bring build.cmd changes to build.sh
* Fix cmake writing
* Revert "Bring build.cmd changes to build.sh"
This reverts commit 893c6492548d8bc9859ebba5b1b810aa630fac63.
* remove stdlib.h
* Fix out of order null check
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 66 |
1 files changed, 3 insertions, 63 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4c999b184d..0412226dfc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,70 +10,10 @@ include_directories("classlibnative/cryptography") include_directories("classlibnative/inc") include_directories("${GENERATED_INCLUDE_DIR}") -# The Following Logic is used to wire up Build dependencies for Generated files in Event Logging -# ClrEtwAll.man - Event Schema -# ClrEtwAllMeta.lst - MetaData list [provided to ensure Windows Desktop is not broken] -# genXplatEventing.py - has the core logic for parsing Event Schema -# genWinEtw.py - Uses genXplatEventing to generate Windows Specific ETW Files -# clretwallmain.h and etmdummy.h - Provides the Event Logging Functionality to the VM -# clrxplatevents.h - Used by clretwallmain.h on Non Windows platform -# ClrEtwAll.h - Used by clretwallmain.h on Windows -# ClrEtwAll.rc - Used by src/dlls/clretwrc/clretrw.rc on Windows - -set (ScriptGeneratedEventFiles - ${GENERATED_INCLUDE_DIR}/clretwallmain.h - ${GENERATED_INCLUDE_DIR}/etmdummy.h -) -set (GeneratedEventFiles) +if(WIN32 AND FEATURE_EVENT_TRACE) + include_directories("${GENERATED_INCLUDE_DIR}/etw") +endif(WIN32 AND FEATURE_EVENT_TRACE) -if(WIN32) - set (GenEventFilesScript "${CLR_DIR}/src/scripts/genWinEtw.py") - set (GenEventArgs --eventheader "${GENERATED_INCLUDE_DIR}/ClrEtwAll.h" --macroheader "${GENERATED_INCLUDE_DIR}/clretwallmain.h") - - list (APPEND ScriptGeneratedEventFiles - ${GENERATED_INCLUDE_DIR}/ClrEtwAll.h - ) - - list (APPEND GeneratedEventFiles - ${GENERATED_INCLUDE_DIR}/ClrEtwAll.rc - ) - - add_custom_command( - COMMENT "Generating ETW resource Files" - COMMAND ${MC} -h ${GENERATED_INCLUDE_DIR} -r ${GENERATED_INCLUDE_DIR} -b -co -um -p FireEtw "${VM_DIR}/ClrEtwAll.man" - OUTPUT ${GENERATED_INCLUDE_DIR}/ClrEtwAll.h - DEPENDS "${VM_DIR}/ClrEtwAll.man" - ) -else() - set (GenEventFilesScript "${CLR_DIR}/src/scripts/genXplatEventing.py") - set (GenEventArgs --inc "${GENERATED_INCLUDE_DIR}") - - list (APPEND ScriptGeneratedEventFiles - ${GENERATED_INCLUDE_DIR}/clrxplatevents.h - ) -endif(WIN32) - -if(CLR_CMAKE_WARNINGS_ARE_ERRORS) - set(PYTHON_WARNING_FLAGS -Wall -Werror) -else() - set(PYTHON_WARNING_FLAGS -Wall) -endif(CLR_CMAKE_WARNINGS_ARE_ERRORS) - -add_custom_command( - COMMENT "Generating Eventing Files" - COMMAND ${PYTHON} -B ${PYTHON_WARNING_FLAGS} ${GenEventFilesScript} ${GenEventArgs} --man "${VM_DIR}/ClrEtwAll.man" --exc "${VM_DIR}/ClrEtwAllMeta.lst" --dummy "${GENERATED_INCLUDE_DIR}/etmdummy.h" - OUTPUT ${ScriptGeneratedEventFiles} - DEPENDS ${GenEventFilesScript} "${VM_DIR}/ClrEtwAll.man" "${VM_DIR}/ClrEtwAllMeta.lst" "${CLR_DIR}/src/scripts/genXplatEventing.py" -) - -list (APPEND GeneratedEventFiles - ${ScriptGeneratedEventFiles} -) - -add_custom_target( - GeneratedEventingFiles - DEPENDS ${GeneratedEventFiles} -) if(CLR_CMAKE_PLATFORM_UNIX) if(CLR_CMAKE_PLATFORM_LINUX) |