Index: superlu-dist/FORTRAN/CMakeLists.txt
===================================================================
--- superlu-dist.orig/FORTRAN/CMakeLists.txt	2025-11-16 16:19:42.712477565 +0100
+++ superlu-dist/FORTRAN/CMakeLists.txt	2025-11-16 16:19:57.563950113 +0100
@@ -15,6 +15,8 @@
   list(APPEND sources c2f_zcreate_matrix_x_b.c superlu_c2f_zwrap.c)
 endif()  
 
+set(TEST_LOC ".")
+
 add_library(superlu_dist_fortran ${sources})
 if(BUILD_STATIC_LIBS)
   add_library(superlu_dist_fortran-static STATIC ${sources})
@@ -102,6 +104,20 @@
   target_link_libraries(f_5x5 ${all_link_libs})
   set_target_properties(f_5x5 PROPERTIES LINKER_LANGUAGE Fortran)
 
+  install(TARGETS f_pddrive f_pddrive3d f_5x5 RUNTIME DESTINATION "${INSTALL_LIB_DIR}/superlu-dist/FORTRAN")
+
+  add_test( NAME f_5x5
+    COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2
+    ${MPIEXEC_PREFLAGS} ${TEST_LOC}/f_5x5 ${MPIEXEC_POSTFLAGS}
+  )
+  add_test( NAME f_pddrive
+    COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 4
+    ${MPIEXEC_PREFLAGS} ${TEST_LOC}/f_pddrive ${MPIEXEC_POSTFLAGS}
+  )
+#  add_test( NAME f_pddrive3d
+#    COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 8
+#    ${MPIEXEC_PREFLAGS} ${TEST_LOC}/f_pddrive3d ${MPIEXEC_POSTFLAGS}
+#  )
 endif() ## enable_double
 
 ##if(FALSE)
@@ -117,7 +133,18 @@
   target_link_libraries(f_pzdrive3d ${all_link_libs})
   set_target_properties(f_pzdrive3d PROPERTIES LINKER_LANGUAGE Fortran)
 #  set_target_properties(f_pzdrive3d PROPERTIES LINKER_LANGUAGE CXX LINK_FLAGS "${MPI_Fortran_LINK_FLAGS}")
-endif() ## enable_complex16
+
+  install(TARGETS f_pzdrive f_pzdrive3d RUNTIME DESTINATION "${INSTALL_LIB_DIR}/superlu-dist/FORTRAN")
+
+  add_test( NAME f_pzdrive
+    COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 4
+    ${MPIEXEC_PREFLAGS} ${TEST_LOC}/f_pzdrive ${MPIEXEC_POSTFLAGS}
+  )
+#  add_test( NAME f_pzdrive3d
+#    COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 8
+#    ${MPIEXEC_PREFLAGS} ${TEST_LOC}/f_pzdrive3d ${MPIEXEC_POSTFLAGS}
+#  )
+  endif() ## enable_complex16
 
 endif ()  ## enable_example
 
@@ -129,3 +156,9 @@
   WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/FORTRAN
 )
 add_custom_target(config_f DEPENDS superlu_dist_config.fh)
+
+install(FILES README DESTINATION "${INSTALL_LIB_DIR}/superlu-dist/FORTRAN")
+
+# fortran tests use example data files
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../EXAMPLE/g20.rua ${CMAKE_CURRENT_BINARY_DIR}/../EXAMPLE/g20.rua COPYONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../EXAMPLE/cg20.cua ${CMAKE_CURRENT_BINARY_DIR}/../EXAMPLE/cg20.cua COPYONLY)
