fcm_make
An application for running the fcm make
command.
The fcm_make
application expects a file file/fcm-make.cfg
in
its application configuration. It runs fcm make
using this
configuration file.
You can configure these applications with environment variables or
settings in rose-app.conf
. (Settings in rose-app.conf
override their equivalent environment variables.)
By default the bin/
directories of builds will be prepended to
the PATH
environment variable by rose task-env
and/or rose task-run commands run by subsequent
tasks in the suite.
Example
meta=fcm_make
mode=fcm_make
opt.jobs=8
Invocation
If a task’s name contains the string
fcm_make
then rose task-run will run this built-in application automatically.If a task’s name contains the string
fcm_make2*
and it does not have its own application configuration then rose task-run will attempt to associate it with the correspondingfcm_make*
application configuration.
Rose Configuration API
- Rose App fcm_make
- Config args= ARG ...
- Env Var:
For passing extra options and arguments to the
fcm make
command.
- Config dest-orig= PATH
Specify the path to the destination of the original make. This is normally specified as a relative path under
$ROSE_SUITE_DIR/
. The default isshare/$ROSE_TASK_NAME
. If rose task-run is invoked in--new
mode, the application will remove this directory before runningfcm make --new
.
- Config dest-cont= PATH
Specify the path to the destination of the continuation make. This is normally specified as a relative path under
$ROSE_SUITE_DIR/
. The default is to use the same location asfcm_make|dest-orig
. If rose task-run is invoked in--new
mode, the application will remove this directory before runningfcm make --new
. (If this location is in the same physical location of the destination of the original make, you should only invoke rose task-run--new
on the original make. Otherwise, contents generated by the original make will be wiped clean before the continuation make begins.)
- Config fast-dest-root-orig= PATH
Specify the path to an existing location that can be used as a fast working directory for the original make. If this is specified, the
fcm
make command will be invoked in a temporary directory under this location before being copied back to the actual destination.
- Config fast-dest-root-cont= PATH
Specify the path to an existing location that can be used as a fast working directory for the continuation make. If this is specified, the
fcm make
command will be invoked in a temporary directory under this location before being copied back to the actual destination.
- Config make-name-orig= NAME
Specify the context name of the original make. The default is a null string. You can specify an alternate context name if this is undesirable. The
fcm make
command will be invoked with the--name=NAME
option offcm make
.
- Config make-name-cont= NAME
Specify the context name of the continuation make. If the default
fcm_make
→fcm_make2
mapping is used, the context name of the continuation make will be set to2
. You can specify an alternate context name if this is undesirable. The continuation command will be invoked with the--name=NAME
option offcm make
.
- Config mirror-step= STEP-NAME
Specify the name of the mirror step, if not mirror. The application will normally look for a matching task in the suite (e.g.
fcm_make
→fcm_make2
) which will continue thefcm make
command at a remoteHOST
. If such a task is found, it will add the configurationmirror.target=HOST:cylc-run/$ROSE_SUITE_NAME/share/$ROSE_TASK_NAME
as an argument to thefcm make
command to substitute the mirror target. To switch off this feature, setSTEP-NAME
to a null string, i.e.mirror-step=
.
- Config opt.jobs= N
- Env Var:
- Default:
4
This can be used to control the number of processes
fcm make
would use in parallel.
- Config orig-cont-map= ORIG-NAME:CONT-NAME
This setting allows you to override the default
fcm_make
→fcm_make2
mapping between the names of the original and the continuation tasks in the suite.
- Config use-pwd= true
By default, the application changes the working directory to
$ROSE_SUITE_DIR/share/$ROSE_TASK_NAME
. This option will stop this, and the working directory is the normal working directory of the task.