# Simplify adding a test
# Pass the name of a cpp file and the name of the library to link.
# Optionally some additional args for add_test
function(tiletrace_add_test name library)
    add_executable(${name} ${name}.cpp)
    target_link_libraries(${name} PRIVATE libtiletrace)
    target_include_directories(${name} PRIVATE libtiletrace)
    add_test(NAME ${name} COMMAND ${name} ${ARGV2})
endfunction()

tiletrace_add_test(event_print_test otf2xx)
tiletrace_add_test(otf2_reader_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(trace_replay_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(tiledtracegroup_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(interaction_pattern_analysis_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(late_sender_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(mpi_otf2_reader_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(mpi_late_sender_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(mpi_late_sender_remote_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(mpi_tile_grouping_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
tiletrace_add_test(mpi_prof_reader_test otf2xx ${CMAKE_PROGRAM_PATH}/TRACE_DATA/simple-2/scorep_p2p_2_trace/traces.otf2)
# set_property(TEST reader_test PROPERTY FIXTURES_REQUIRED writer_trace)

add_subdirectory(unit_test)
add_subdirectory(integration_test)