setup_directory Module Subroutine

module subroutine setup_directory(dir_path, file_extensions)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: dir_path
character(len=*), intent(in) :: file_extensions(:)

Called by

proc~~setup_directory~~CalledByGraph proc~setup_directory setup_directory interface~setup_directory setup_directory interface~setup_directory->proc~setup_directory proc~initialize_type_output type_output%initialize_type_output proc~initialize_type_output->interface~setup_directory

Source Code

    module subroutine setup_directory(dir_path, file_extensions)
        implicit none
        character(*), intent(in) :: dir_path
        character(*), intent(in) :: file_extensions(:)

        character(512) :: command
        logical :: exists
        integer :: i

        inquire (DIRECTORY=trim(adjustl(dir_path)), exist=exists)

        if (.not. exists) then
#ifdef _WIN32
            command = "mkdir "//'"'//trim(adjustl(dir_path))//'"'
            call system(command)
#endif
#ifdef __linux__
            command = "mkdir -p "//'"'//trim(adjustl(dir_path))//'"'
            call system(command)
#endif
        else
            do i = 1, size(file_extensions)
#ifdef _WIN32
                command = "del /Q "//'"'//trim(adjustl(dir_path))//"*"//trim(file_extensions(i))//'"'
                call system(command)
#endif
#ifdef __linux__
                command = "rm -f "//trim(adjustl(dir_path))//"*"//trim(file_extensions(i))
                call system(command)
#endif
            end do
        end if
    end subroutine setup_directory