@@ -41,7 +41,7 @@ MACRO (DTRACE_HEADER provider header header_no_dtrace)
41
41
ADD_CUSTOM_COMMAND (
42
42
OUTPUT ${header} ${header_no_dtrace}
43
43
COMMAND ${DTRACE} -h -s ${provider} -o ${header}
44
- COMMAND perl ${CMAKE_SOURCE_DIR} /scripts/dheadgen.pl -f ${provider} > ${header_no_dtrace}
44
+ COMMAND perl ${CMAKE_SOURCE_DIR} /scripts/dheadgen.pl -f ${provider} > ${header_no_dtrace}
45
45
DEPENDS ${provider}
46
46
)
47
47
ENDIF ()
@@ -57,6 +57,13 @@ IF(ENABLE_DTRACE)
57
57
${CMAKE_BINARY_DIR} /include /probes_mysql_dtrace.h
58
58
${CMAKE_BINARY_DIR} /include /probes_mysql_nodtrace.h
59
59
)
60
+ IF (CMAKE_SYSTEM_NAME MATCHES "Linux" )
61
+ # Systemtap object
62
+ EXECUTE_PROCESS (
63
+ COMMAND ${DTRACE} -G -s ${CMAKE_SOURCE_DIR} /include /probes_mysql.d.base
64
+ -o ${CMAKE_BINARY_DIR} /probes_mysql.o
65
+ )
66
+ ENDIF ()
60
67
ADD_CUSTOM_TARGET (gen_dtrace_header
61
68
DEPENDS
62
69
${CMAKE_BINARY_DIR} /include /probes_mysql.d
@@ -66,12 +73,16 @@ IF(ENABLE_DTRACE)
66
73
ENDIF ()
67
74
68
75
69
- MACRO (DTRACE_INSTRUMENT target )
76
+ MACRO (DTRACE_INSTRUMENT target )
70
77
IF (ENABLE_DTRACE)
71
78
ADD_DEPENDENCIES (${target} gen_dtrace_header)
72
79
73
- # On Solaris, invoke dtrace -G to generate object file and
74
- # link it together with target.
80
+ IF (CMAKE_SYSTEM_NAME MATCHES "Linux" )
81
+ TARGET_LINK_LIBRARIES (${target} ${CMAKE_BINARY_DIR} /probes_mysql.o)
82
+ ENDIF ()
83
+
84
+ # On Solaris, invoke dtrace -G to generate object file and
85
+ # link it together with target.
75
86
IF (CMAKE_SYSTEM_NAME MATCHES "SunOS" )
76
87
SET (objdir ${CMAKE_CURRENT_BINARY_DIR} /CMakeFiles/${target} .dir)
77
88
SET (outfile ${objdir} /${target} _dtrace.o)
0 commit comments