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)
--disable-jenkins
 disable Jenkins server logging
--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

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.