X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=CMake%2FEnableDtrace.cmake;h=add0d7fd6c7f0da22386b27c00353be5b5f012ff;hb=refs%2Fheads%2Fv1.x;hp=d9b902babc89297538fea491bbee76fbf42009ab;hpb=193c7ee91c4f97a160a1e4bf572929ab99a276f3;p=awesomized%2Flibmemcached diff --git a/CMake/EnableDtrace.cmake b/CMake/EnableDtrace.cmake index d9b902ba..add0d7fd 100644 --- a/CMake/EnableDtrace.cmake +++ b/CMake/EnableDtrace.cmake @@ -1,9 +1,8 @@ function(enable_dtrace_for TARGET PROBES_D PROBES_H) if(HAVE_DTRACE AND NOT CMAKE_CROSSCOMPILING) - target_sources(${TARGET} PRIVATE ${PROBES_H}) add_custom_command( OUTPUT - ${PROBES_H} + ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_H} MAIN_DEPENDENCY ${PROBES_D} COMMAND @@ -11,26 +10,30 @@ function(enable_dtrace_for TARGET PROBES_D PROBES_H) ARGS -x nolibs -h -s ${CMAKE_CURRENT_SOURCE_DIR}/${PROBES_D} - -o ${PROBES_H} + -o ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_H} ) + target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_H}) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") add_custom_command( OUTPUT - ${TARGET}_probes.o + ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_probes.o MAIN_DEPENDENCY - ${PROBES_H} + ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_H} COMMAND ${DTRACE_EXECUTABLE} ARGS -x nolibs -G -s ${CMAKE_CURRENT_SOURCE_DIR}/${PROBES_D} - -o ${TARGET}_probes.o + -o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_probes.o ) target_sources(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_probes.o) set_source_files_properties(${TARGET}_probes.o PROPERTIES GENERATED true EXTERNAL_OBJECT true) - else() # not Linux + return() + endif() + cmake_host_system_information(RESULT OS_RELEASE QUERY OS_RELEASE) + if(NOT (CMAKE_HOST_SYSTEM_NAME STREQUAL Darwin AND OS_RELEASE VERSION_GREATER_EQUAL 11)) set(PROBES_C ${TARGET}_probes.cc) file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_C} @@ -40,7 +43,7 @@ function(enable_dtrace_for TARGET PROBES_D PROBES_H) TARGET ${TARGET} PRE_LINK DEPENDS - ${PROBES_H} + ${CMAKE_CURRENT_BINARY_DIR}/${PROBES_H} COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${TARGET}.dir/${PROBES_C}.o COMMAND