diff --git a/Documentation/Examples/Containers/CMakeLists.txt b/Documentation/Examples/Containers/CMakeLists.txt
index 8d4c0b166d49b9482d480b0f5e6517883d1ba71b..d941d3db1e779de069e89172ba8e02e25555ca81 100644
--- a/Documentation/Examples/Containers/CMakeLists.txt
+++ b/Documentation/Examples/Containers/CMakeLists.txt
@@ -21,7 +21,9 @@ if( BUILD_CUDA )
    if( ${BUILD_MPI} )
       foreach( target IN ITEMS ${MPI_COMMON_EXAMPLES} )
          cuda_add_executable( ${target}-cuda ${target}.cu OPTIONS )
-         add_custom_command( COMMAND "mpirun" ${mpirun_parameters} ${target}-cuda > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out OUTPUT ${target}.out )
+         add_custom_command( COMMAND "mpirun" ${mpirun_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${target}-cuda${CMAKE_EXECUTABLE_SUFFIX}" > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out
+                             DEPENDS ${target}-cuda
+                             OUTPUT ${target}.out )
          set( CUDA_OUTPUTS ${CUDA_OUTPUTS} ${target}.out )
       endforeach()
    endif()
@@ -34,7 +36,9 @@ else()
    if( ${BUILD_MPI} )
       foreach( target IN ITEMS ${MPI_COMMON_EXAMPLES} )
          add_executable( ${target} ${target}.cpp )
-         add_custom_command( COMMAND "mpirun" ${mpirun_parameters} ${target} > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out OUTPUT ${target}.out )
+         add_custom_command( COMMAND "mpirun" ${mpirun_parameters} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${target}${CMAKE_EXECUTABLE_SUFFIX}" > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out
+                             DEPENDS ${target}
+                             OUTPUT ${target}.out )
          set( HOST_OUTPUTS ${HOST_OUTPUTS} ${target}.out )
       endforeach()
    endif()