if(SIONlib_MPI)
  find_package(MPI 2.0 REQUIRED)
  add_executable(partest
    partest.c
    partest_split_comm.c
    partest_sionfile.c
    partest_mpiio.c
    partest_tasklocalfile.c
    partest_util.c
    partest_opts.c
  )
  target_link_libraries(partest
    PRIVATE
    MPI::MPI_C
    SIONlib::mpi_mt
    SIONlib::serial_mt
  )
  add_executable(SIONlib::partest ALIAS partest)
  set(INSTALL_PARTEST partest)
endif()

if(SIONlib_OMPI AND SIONlib_OMP)
  find_package(MPI 2.0 REQUIRED)
  find_package(OpenMP 3.0 REQUIRED)
  add_executable(ompi_partest
    ompi_partest.c
    ompi_partest_sionfile.c
    omp_partest_sionfile.c
    partest_opts.c
  )
  target_link_libraries(ompi_partest
    PRIVATE
    MPI::MPI_C
    OpenMP::OpenMP_C
    SIONlib::ompi_mt
    SIONlib::omp_mt
    SIONlib::serial_mt
  )
  add_executable(SIONlib::ompi_partest ALIAS ompi_partest)
  set(INSTALL_OMPI_PARTEST ompi_partest)
endif()

install(TARGETS
  ${INSTALL_PARTEST}
  ${INSTALL_OMPI_PARTEST}
  EXPORT SIONlibParutilsTargets
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(EXPORT SIONlibParutilsTargets
  FILE SIONlibParutilsTargets.cmake
  NAMESPACE SIONlib::
  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SIONlib
)
