aboutsummaryrefslogtreecommitdiff
path: root/src/fpm_environment.f90
diff options
context:
space:
mode:
Diffstat (limited to 'src/fpm_environment.f90')
-rw-r--r--src/fpm_environment.f9015
1 files changed, 11 insertions, 4 deletions
diff --git a/src/fpm_environment.f90 b/src/fpm_environment.f90
index a3c073f..cf76250 100644
--- a/src/fpm_environment.f90
+++ b/src/fpm_environment.f90
@@ -137,9 +137,10 @@ contains
end function os_is_unix
!> echo command string and pass it to the system for execution
- subroutine run(cmd,echo)
+ subroutine run(cmd,echo,exitstat)
character(len=*), intent(in) :: cmd
logical,intent(in),optional :: echo
+ integer, intent(out),optional :: exitstat
logical :: echo_local
integer :: stat
@@ -151,10 +152,16 @@ contains
if(echo_local) print *, '+ ', cmd
call execute_command_line(cmd, exitstat=stat)
- if (stat /= 0) then
- print *, 'Command failed'
- error stop
+
+ if (present(exitstat)) then
+ exitstat = stat
+ else
+ if (stat /= 0) then
+ print *, 'Command failed'
+ error stop
+ end if
end if
+
end subroutine run
!> get named environment variable value. It it is blank or