add_executable(test-basic test-basic.cxx)
target_link_libraries(test-basic PRIVATE adis adios2::adios2 MPI::MPI_CXX MPI::MPI_C)
add_test(NAME test-basic COMMAND test-basic ${CMAKE_CURRENT_SOURCE_DIR}/vtk-uns-grid-2.json ${CMAKE_CURRENT_SOURCE_DIR}/data)

add_executable(test-streaming test-streaming.cxx)
target_link_libraries(test-streaming PRIVATE adis adios2::adios2 MPI::MPI_CXX MPI::MPI_C)
add_test(NAME test-streaming COMMAND test-streaming ${CMAKE_CURRENT_SOURCE_DIR}/vtk-uns-grid-2.json ${CMAKE_CURRENT_SOURCE_DIR}/data)

add_executable(test-streaming-separate-sources test-streaming-separate-sources.cxx)
target_link_libraries(test-streaming-separate-sources PRIVATE adis adios2::adios2 MPI::MPI_CXX MPI::MPI_C)
add_test(NAME test-streaming-separate-sources COMMAND test-streaming-separate-sources ${CMAKE_CURRENT_SOURCE_DIR}/vtk-uns-grid-sep.json ${CMAKE_CURRENT_SOURCE_DIR}/data/)

add_executable(test-time test-time.cxx)
target_link_libraries(test-time PRIVATE adis adios2::adios2 MPI::MPI_CXX MPI::MPI_C)
add_test(NAME test-time COMMAND test-time ${CMAKE_CURRENT_SOURCE_DIR}/vtk-uns-grid-2.json ${CMAKE_CURRENT_SOURCE_DIR}/data)

add_executable(test-cartesian test-cartesian.cxx)
target_link_libraries(test-cartesian PRIVATE adis adios2::adios2 MPI::MPI_CXX MPI::MPI_C)
add_test(NAME test-cartesian COMMAND test-cartesian ${CMAKE_CURRENT_SOURCE_DIR}/cartesian.json ${CMAKE_CURRENT_SOURCE_DIR}/data)

# Sad that this is duplicated from the root CMakeLists.txt.
# I'm sure there's an elegant fix; I just don't know it!
if(CMAKE_BUILD_TYPE MATCHES "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang|GNU)$")
  set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O2 -Wfatal-errors -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer")
  set(CMAKE_SHARED_LINKER_FLAGS "-fsanitize=address -fsanitize=undefined")
endif()
endif()
