Skip to content

Commit 53a4486

Browse files
committed
Sync fpm_model with main branch
1 parent c212d92 commit 53a4486

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

src/fpm_model.f90

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ logical function package_is_same(this,that)
675675
end do
676676
end if
677677

678-
if (.not.(this%macros==other%macros)) return
678+
if (.not.(this%preprocess==other%preprocess)) return
679679
if (.not.(this%version==other%version)) return
680680

681681
!> Module naming
@@ -723,7 +723,10 @@ subroutine package_dump_to_toml(self, table, error)
723723
call set_string(table, "module-prefix", self%module_prefix, error, 'package_t')
724724
if (allocated(error)) return
725725

726-
call set_list(table, "macros", self%macros, error)
726+
!> Create a preprocessor table
727+
call add_table(table, "preprocess", ptr, error, 'package_t')
728+
if (allocated(error)) return
729+
call self%preprocess%dump_to_toml(ptr, error)
727730
if (allocated(error)) return
728731

729732
!> Create a fortran table
@@ -768,7 +771,7 @@ subroutine package_load_from_toml(self, table, error)
768771

769772
integer :: ierr,ii,jj
770773
type(toml_key), allocatable :: keys(:),src_keys(:)
771-
type(toml_table), pointer :: ptr_sources,ptr,ptr_fortran
774+
type(toml_table), pointer :: ptr_sources,ptr,ptr_fortran,ptr_preprocess
772775
type(error_t), allocatable :: new_error
773776

774777
call get_value(table, "name", self%name)
@@ -780,9 +783,6 @@ subroutine package_load_from_toml(self, table, error)
780783
! Return unallocated value if not present
781784
call get_value(table, "module-prefix", self%module_prefix%s)
782785

783-
call get_list(table, "macros", self%macros, error)
784-
if (allocated(error)) return
785-
786786
! Sources
787787
call table%get_keys(keys)
788788

@@ -799,6 +799,17 @@ subroutine package_load_from_toml(self, table, error)
799799
call self%features%load_from_toml(ptr_fortran,error)
800800
if (allocated(error)) return
801801

802+
case ("preprocess")
803+
804+
call get_value(table, keys(ii), ptr_preprocess)
805+
if (.not.associated(ptr_preprocess)) then
806+
call fatal_error(error,'package_t: error retrieving preprocess table from TOML table')
807+
return
808+
end if
809+
810+
call self%preprocess%load_from_toml(ptr_preprocess,error)
811+
if (allocated(error)) return
812+
802813
case ("sources")
803814

804815
call get_value(table, keys(ii), ptr_sources)

0 commit comments

Comments
 (0)