cmake_minimum_required(VERSION 3.22)
project(MemoryTracerClient)
set(DynamoRIO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dynamorio/install/cmake")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
find_package(DynamoRIO)
if (NOT DynamoRIO_FOUND)
message(FATAL_ERROR "DynamoRIO package required to build")
endif(NOT DynamoRIO_FOUND)
configure_DynamoRIO_global(ON ON)
set(name "memtrace_client")
function (add_client name source_file_list extension_list)
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/dynamorio/install/tools/lib64/release")
use_DynamoRIO_drmemtrace_tracer(${name})
add_library(${name} SHARED ${source_file_list})
configure_DynamoRIO_client(${name})
foreach (ext ${extension_list})
use_DynamoRIO_extension(${name} ${ext})
endforeach (ext)
endfunction (add_client)
dd_client(memtrace_client "client.cpp" "")