bv_maker

Once its configuration file is setup, just run:

bv_maker

This should be enough in most cases.

Note

that brainvisa-cmake provides a bash_completion script which helps and speeds up the use of bv_maker. It can be used in a bash shell by sourcing the script:

. $(dirname $(which bv_maker))/../etc/bash_completion.d/bv_maker-completion.bash

You may copy this line in your ~/.bashrc file.

Help of the commandline

Usage: bv_maker [options] [ command [command options] ]…

This program is for the management of source retrieval, configuration and compilation of BrainVISA projects.

In order to work, the commands svn and svnadmin must be installed on your system. On some Linux systems they are in two separate packages (e.g. subversion and subversion-tools).

Commands:

  • info: Just output info about configured components.

  • sources: Create or updated selected sources directories from Subversion repository.

  • status: Display a summary of the status of all source repositories.

  • configure: Create and configure selected build directories with CMake.

  • build: compile all selected build directories.

  • doc: Generate documentation (sphinx, doxygen, docbook, epydoc).

  • testref: Execute tests in a special mode to generate machine-specific reference files (this is needed by some tests).

  • test: Execute tests using ctest.

  • pack: Generate binary packages.

  • install_pack: Install binary packages.

  • testref_pack: Create the machine-specific reference files for tests in installed binary package.

  • test_pack: Run tests in installed binary packages.

  • publish_pack: Publish binary packages.

To get help for a specific command, use -h option of the command. Example: “bv_maker build -h”.

To get help on how to configure and write a bv_maker configuration file, see:

http://brainvisa.info/brainvisa-cmake/compile_existing.html

config file syntax:

http://brainvisa.info/brainvisa-cmake/configuration.html

and more generally:

http://brainvisa.info/brainvisa-cmake/

Options:
-h, --help

show this help message and exit

-d DIR, --directory=DIR

Restrict actions to a selected directory. May be used several times to process several directories.

-c CONFIG, --config=CONFIG

specify configuration file. Default =”/casa/host/conf/bv_maker.cfg”

-s DIR, --sources=DIR

directory containing sources

-b DIR, --build=DIR

build directory

--username=USERNAME

specify user login to use with the svn server

-e, --email

Use email notification (if configured in the general section of the configuration file)

--def, --only-if-default

apply only steps which are defined as default steps in the bv_maker.cfg config file. Equivalent to passing –only-if-default to every substep which supports it.

-v, --verbose

show as much information as possible

--version

show bv_maker (brainvisa-cmake) version number

Info step

Usage: bv_maker [global options] info [options]

Display information about configuration, sources directories and build directories.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

Sources step

Usage: bv_maker [global options] sources [options]

Create or updated selected sources directories from Subversion repository.

Options:
-h, --help

show this help message and exit

--no-cleanup

don’t cleanup svn sources

--no-svn

don’t update svn sources

--no-git

don’t update git sources

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

--ignore-git-failure

ignore git update failures, useful when working on a feature branch

Status step

Usage: bv_maker [global options] status [options]

Display a summary of the status of all source repositories.

Options:
-h, --help

show this help message and exit

--no-svn

don’t display the status of svn sources

--no-git

don’t display the status of git sources

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

--git-command=EXTRA_GIT_COMMANDS

run one or more extra commands in every Git repository. The commmands are interpreted in a shell so that you can pass arguments.

Configure step

Usage: bv_maker [global options] configure [options]

Create or updated selected build directories.

Options:
-h, --help

show this help message and exit

-c, --clean

clean build tree (using bv_clean_build_tree -d) before configuring

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

Build step

Usage: bv_maker [global options] configure [options]

Compile selected build directories.

Options:
-h, --help

show this help message and exit

-c, --clean

clean build tree (using bv_clean_build_tree -b) before building

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

Doc step

Usage: bv_maker [global options] doc [options]

Generate documentation (docbook, epydoc, doxygen).

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

Testref step

Usage: bv_maker [global options] testref

Executes tests in the testref mode (used to generate reference files).

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

-m MAKE_OPTIONS, --make_options=MAKE_OPTIONS

options passed to make (ex: “-j8”) during test reference generation. Same as the configuration option make_options but specified at runtime. The commandline option here overrides the bv_maker.cfg options.

Test step

Usage: bv_maker [global options] test

Executes ctest.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, and “configure build” for build sections

-t CTEST_OPTIONS, --ctest_options=CTEST_OPTIONS

options passed to ctest (ex: “-VV -R carto*”). Same as the configuration option ctest_options but specified at runtime. The commandline option here overrides the bv_maker.cfg options.

Pack step

Usage: bv_maker [global options] pack [options]

Make installer package for the selected build directory.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, “configure build” for build sections.

Install_pack step

Usage: bv_maker [global options] install_pack [options]

Install a binary package for the selected build directory.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, “configure build” for build sections.

--package-date=PACKAGE_DATE

sets the date of the pack to install. This is only useful if a %(date)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-time=PACKAGE_TIME

sets the time of the pack to install. This is only useful if a %(time)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-version=PACKAGE_VERSION

sets the version of the pack to install. This is only useful if a %(version)s pattern has been used in the package directory sections of bv_maker.cfg.

--prefix=PREFIX

sets the prefix directory to install the pack.

--local

True if the installation must be done locally. Default is False.

--offline

True if the installation must be done using offline installer. Default is False.

--debug

True if the installation must be done in debug mode (i.e. generated files must not be deleted). Default is False.

Testref_pack step

Usage: bv_maker [global options] testref_pack [options]

Create test reference files in installed package for the selected build directory.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, “configure build” for build sections.

-m MAKE_OPTIONS, --make_options=MAKE_OPTIONS

options passed to make (ex: “-j8”) during test reference generation. Same as the configuration option make_options but specified at runtime. The commandline option here overrides the bv_maker.cfg options.

--package-date=PACKAGE_DATE

sets the date of the pack to install. This is only useful if a %(date)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-time=PACKAGE_TIME

sets the time of the pack to install. This is only useful if a %(time)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-version=PACKAGE_VERSION

sets the version of the pack to install. This is only useful if a %(version)s pattern has been used in the package directory sections of bv_maker.cfg.

Test_pack step

Usage: bv_maker [global options] test_pack [options]

Test in installed package for the selected build directory.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, “configure build” for build sections.

-t CTEST_OPTIONS, --ctest_options=CTEST_OPTIONS

options passed to ctest (ex: “-VV -R carto*”). Same as the configuration option ctest_options but specified at runtime. The commandline option here overrides the bv_maker.cfg options.

--package-date=PACKAGE_DATE

sets the date of the pack to install. This is only useful if a %(date)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-time=PACKAGE_TIME

sets the time of the pack to install. This is only useful if a %(time)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-version=PACKAGE_VERSION

sets the version of the pack to install. This is only useful if a %(version)s pattern has been used in the package directory sections of bv_maker.cfg.

Publish_pack step

Usage: bv_maker [global options] publish [options]

Run command to publish package for the selected publication directory.

Options:
-h, --help

show this help message and exit

--only-if-default

only perform this step if it is a default step, or specified in the “default_steps” option of bv_maker.cfg config file. Default steps are normally “sources” for source sections, “configure build” for build sections.

-m MAKE_OPTIONS, --make_options=MAKE_OPTIONS

options passed to make (ex: “-j8”) during test reference generation. Same as the configuration option make_options but specified at runtime. The commandline option here overrides the bv_maker.cfg options.

--package-date=PACKAGE_DATE

sets the date of the pack to install. This is only useful if a %(date)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-time=PACKAGE_TIME

sets the time of the pack to install. This is only useful if a %(time)s pattern has been used in the package directory sections of bv_maker.cfg.

--package-version=PACKAGE_VERSION

sets the version of the pack to install. This is only useful if a %(version)s pattern has been used in the package directory sections of bv_maker.cfg.