Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | prefix |
function create_temp_dir(prefix) result(temp_dir) character(len=*), intent(in) :: prefix character(len=:), allocatable :: temp_dir character(len=32) :: random_suffix character(len=256) :: base_temp_dir integer :: ios ! Get system temp directory using FPM's get_env base_temp_dir = get_env('TMPDIR', '') if (len_trim(base_temp_dir) == 0) then base_temp_dir = get_env('TMP', '') if (len_trim(base_temp_dir) == 0) then base_temp_dir = get_env('TEMP', '') if (len_trim(base_temp_dir) == 0) then base_temp_dir = get_system_temp_dir() end if end if end if ! Generate random suffix using system time and process ID call generate_random_suffix(random_suffix) ! Create unique temp directory path using FPM's join_path temp_dir = join_path(trim(base_temp_dir), & trim(prefix)//'_'//trim(random_suffix)) ! Create the directory call mkdir(temp_dir) end function create_temp_dir