diff options
author | Laurence Kedward <laurence.kedward@bristol.ac.uk> | 2021-11-22 16:08:47 +0000 |
---|---|---|
committer | Laurence Kedward <laurence.kedward@bristol.ac.uk> | 2021-11-22 16:22:25 +0000 |
commit | 2654623adea742b2e10a85aa90706f20f8b87b88 (patch) | |
tree | 4b68f3522aefc0ea86b7764cd8c9a6a63d761b18 | |
parent | d9520ce7ca433c94d4309ee834c0d4494652c4d0 (diff) | |
download | fpm-2654623adea742b2e10a85aa90706f20f8b87b88.tar.gz fpm-2654623adea742b2e10a85aa90706f20f8b87b88.zip |
Update: run command with optional verbose argument
-rw-r--r-- | src/fpm_environment.f90 | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/fpm_environment.f90 b/src/fpm_environment.f90 index bcd9cb9..22094e5 100644 --- a/src/fpm_environment.f90 +++ b/src/fpm_environment.f90 @@ -158,22 +158,40 @@ contains end function os_is_unix !> echo command string and pass it to the system for execution - subroutine run(cmd,echo,exitstat) + subroutine run(cmd,echo,exitstat,verbose) character(len=*), intent(in) :: cmd logical,intent(in),optional :: echo integer, intent(out),optional :: exitstat - logical :: echo_local + logical, intent(in), optional :: verbose + logical :: echo_local, verbose_local integer :: stat + if(present(echo))then echo_local=echo else echo_local=.true. - endif - if(echo_local) print *, '+ ', cmd + end if + + if(present(verbose))then + verbose_local=verbose + else + verbose_local=.true. + end if - call execute_command_line(cmd, exitstat=stat) + if(echo_local) print *, '+ ', cmd + if(verbose_local)then + call execute_command_line(cmd, exitstat=stat) + else + if (os_is_unix()) then + write(*,*) "is_unix" + call execute_command_line(cmd//">/dev/null 2>&1", exitstat=stat) + else + call execute_command_line(cmd//">NUL 2>&1", exitstat=stat) + end if + endif + if (present(exitstat)) then exitstat = stat else |