summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorVictor "Nate" Graf <nategraf1@gmail.com>2017-12-20 18:07:52 -0800
committerGitHub <noreply@github.com>2017-12-20 18:07:52 -0800
commit7524d72d4f0f634fe5407280b83c25181dc8c556 (patch)
tree119c7edbbd7b3a0aec47d55334d52d1471e3a3da /src/CMakeLists.txt
parent9891c8ba8f84ff646455b4493447295c591665f4 (diff)
downloadcoreclr-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.txt66
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)