if (HOPS_MPI)
    message(WARNING "MPI support will be deprecated in a future release")
    find_package(MPI REQUIRED COMPONENTS CXX)

    if (MPI_FOUND)
        message(STATUS "Found MPI ${MPI_CXX_LIBRARIES} ${MPI_CXX_INCLUDE_PATH} ${MPI_C_INCLUDE_DIRS} ${MPI_C_LIBRARIES}.")
        message(STATUS "MPI_FOUND=${MPI_FOUND}")
        message(STATUS "MPI_CXX_FOUND=${MPI_CXX_FOUND}")
        message(STATUS "MPI_CXX_COMPILER=${MPI_CXX_COMPILER}")
        message(STATUS "MPI_CXX_INCLUDE_DIRS=${MPI_CXX_INCLUDE_DIRS}")
        message(STATUS "MPI_CXX_LIBRARIES=${MPI_CXX_LIBRARIES}")
        message(STATUS "MPI_CXX_COMPILE_OPTIONS=${MPI_CXX_COMPILE_OPTIONS}")
        message(STATUS "MPI_CXX_LINK_FLAGS=${MPI_CXX_LINK_FLAGS}")

        target_compile_definitions(hops INTERFACE HOPS_MPI_SUPPORTED)
        target_compile_definitions(hops ${SCOPE} HOPS_MPI_SUPPORTED)
        target_include_directories(hops INTERFACE ${MPI_C_INCLUDE_DIRS})
        target_include_directories(hops ${SCOPE} ${MPI_C_INCLUDE_DIRS})
        target_link_libraries(hops INTERFACE ${MPI_C_LIBRARIES})
        target_link_libraries(hops ${SCOPE} ${MPI_C_LIBRARIES})

        if (NOT HOPS_LIBRARY_TYPE STREQUAL "HEADER_ONLY")
            target_sources(hops PRIVATE MpiInitializerFinalizer.hpp)
        endif (NOT HOPS_LIBRARY_TYPE STREQUAL "HEADER_ONLY")

    else (MPI_FOUND)
        message(WARNING "MPI could not be found. Continuing without MPI support.")
    endif (MPI_FOUND)
endif (HOPS_MPI)
