1 function(enable_dtrace_for TARGET PROBES_D PROBES_H)
2 if(HAVE_DTRACE AND NOT CMAKE_CROSSCOMPILING)
3 target_sources(${TARGET} PRIVATE ${PROBES_H})
13 -s ${CMAKE_CURRENT_SOURCE_DIR}/${PROBES_D}
16 if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
26 -s ${CMAKE_CURRENT_SOURCE_DIR}/${PROBES_D}
29 target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_probes.o)
30 set_source_files_properties(${TARGET}_probes.o PROPERTIES
34 set(PROBES_C ${TARGET}_probes.cc)
36 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_C}
37 CONTENT "#include \"${PROBES_H}\""
45 rm -f ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET}.dir/${PROBES_C}.o
47 ${DTRACE_EXECUTABLE} -x nolibs -G
48 -s ${CMAKE_CURRENT_SOURCE_DIR}/${PROBES_D}
49 -o ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET}.dir/${PROBES_C}.o
50 ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET}.dir/*.o
52 target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_C})