aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpm/src/fpm.f904
-rw-r--r--fpm/src/fpm_command_line.f907
2 files changed, 9 insertions, 2 deletions
diff --git a/fpm/src/fpm.f90 b/fpm/src/fpm.f90
index f4ca334..ec5e641 100644
--- a/fpm/src/fpm.f90
+++ b/fpm/src/fpm.f90
@@ -296,7 +296,9 @@ subroutine cmd_run(settings,test)
! Check all names are valid
! or no name and found more than one file
- if ( any(.not.found) .or. (size(settings%name).eq.0 .and. size(executables).gt.1 .and. .not.test) ) then
+ if ( any(.not.found) .or. &
+ & (size(settings%name).eq.0 .and. size(executables).gt.1 .and. .not.test) .and.&
+ & .not.settings%list) then
if(any(.not.found))then
write(stderr,'(A)',advance="no")'fpm::run<ERROR> specified names '
do j=1,size(settings%name)
diff --git a/fpm/src/fpm_command_line.f90 b/fpm/src/fpm_command_line.f90
index 7260591..637cc74 100644
--- a/fpm/src/fpm_command_line.f90
+++ b/fpm/src/fpm_command_line.f90
@@ -152,6 +152,7 @@ contains
call set_args('&
& --target " " &
& --list F &
+ & --all F &
& --release F&
& --example F&
& --runner " " &
@@ -171,6 +172,9 @@ contains
call split(sget('target'),tnames,delimiters=' ,:')
names=[character(len=max(len(names),len(tnames))) :: names,tnames]
endif
+ if(lget('all'))then
+ names=[character(len=max(len(names),1)) :: names,'*']
+ endif
allocate(fpm_run_settings :: cmd_settings)
val_runner=sget('runner')
@@ -696,7 +700,7 @@ contains
' By default applications in /app or specified as "executable" in your ', &
' "fpm.toml" manifest are used. Alternatively demonstration programs ', &
' in example/ or specified in the "example" section in "fpm.toml" ', &
- ' can be executed with this subcommand. ', &
+ ' can be executed. ', &
' ', &
'OPTIONS ', &
' --target NAME(s) list of specific application names to execute. ', &
@@ -707,6 +711,7 @@ contains
' Simple "globbing" is supported where "?" represents ', &
' any single character and "*" represents any string. ', &
' Therefore a quoted asterisk ''*'' runs all programs. ', &
+ ' --all An alias for "--target ''*''. All targets are selected. ', &
' --example run example programs instead of applications ', &
' --release selects the optimized build instead of the debug build. ', &
' --compiler COMPILER_NAME Specify a compiler name. The default is ', &