fdoc

subroutineadd_external_modulesprivate

subroutine add_external_modules(p, s)

Add modules documented elsewhere: extra_mods, and the modules.json of external projects.

Arguments

NameTypeIntentAttributesDescription
ptype(project_t)inout

the project

stype(settings_t)in

the settings

Calls

Source

Show the code
subroutine add_external_modules(p, s)
    type(project_t), intent(inout) :: p     !! the project
    type(settings_t), intent(in) :: s       !! the settings
    integer :: k, id

    do k = 1, size(s%extra_mods)
        id = p%list%add(E_MODULE, 0)
        associate (e => p%list%box(id)%e)
            e%name = s%extra_mods(k)%key
            e%external_url = s%extra_mods(k)%value
            e%permission = 'public'
            allocate (e%more%uses(0), e%more%public_list(0), e%attribs(0), e%doc(0), e%meta(0))
        end associate
        call push_int(p%modules, id)
    end do
    do k = 1, size(s%external)
        call load_external_project(p, s, s%external(k)%value)
    end do
end subroutine add_external_modules

Graphs

Calls

Called by