Skip to content
Alessandro Febretti edited this page Dec 15, 2015 · 13 revisions

The Maintenance tools are a set of CMake scripts used to download, configure and build omegalib and its modules. They are designed to simplify repetitive or error-prone operations.

The source code of all the tools is in tools/mtools

This document lists all currently available maintenance tools and information on their usage.

All tool command lines are in the form

omega <command>[.subcommand] [target] [option]

Where

  • command is the main command to execute.
  • subcommand is an optional specifier for the main command.
  • target is either a local directory containing an omegalib version or the name of a remote branch (depending on the command).
  • option is an optional argument supported by some commands.

You can type the name of a command without any arguments to get help about that command.

get

SYNTAX: omega get [local-dir:]<version> <modules> [vs12] Downloads and builds omegalib and optional modules

ARGUMENTS:

  • local-dir (optional): name of local installation directory. default value is the version name.
  • version: name of the omegalib version to download. Use master to download the latest version.
  • modules: a list of optional modules to install with omegalib modules are separated by ; with no space between them. Use 'common-modules' to install a set of commonly used omegalib modules. Use 'plain' to skip module installation.
  • vs12 (Windows only): force generating a Visual Studio 2012. solution. If not present, build defaults to Visual Studio 2013.

EXAMPLE: omega get master common-modules

build

SYNTAX: omega build <local-dir> [debug] Builds a local omegalib copy

ARGUMENTS:

  • local-dir: name of local installation directory")
  • debug (optional): if specified, build in debug mode")

EXAMPLE: omega build master debug

add

SYNTAX: omega add <local-dir> <modules> Adds optional modules to a local omegalib copy.

ARGUMENTS:

  • local-dir: name of local installation directory.
  • modules: a list of optional modules to install with omegalib. modules are separated by ; with no space between them. Use common-modules to install a set of commonly used omegalib.

EXAMPLE: omega add master omegaVtk;omegaOsg

set

SYNTAX: omega set <local-dir> [variable] [value] Sets configuration variables or gets information about them.

ARGUMENTS:

  • local-dir: name of local installation directory.
  • variable: name or prefix of a configuration variable. If left unspecified omega get will list all available configuration variables.
  • value: value to set for the variable. If unspecified, omega get will list all variables without setting them.

EXAMPLE: omega set OMEGA_BUILD_EXAMPLES true

update

SYNTAX: omega update <local-dir> Updates a local omegalib install and all its modules.

ARGUMENTS:

  • local-dir: name of local installation directory.

EXAMPLE: omega update master

pack

SYNTAX: omega pack.[prepare|build|publish] Utilities for packaging omegalib and modules to installable binaries. If you run pack without arguments, the command will execute pack.prepare, pack.build and pack.publish on the selected omegalib version.

ARGUMENTS:

  • local-dir: name of local installation directory.

EXAMPLES:

> omega pack.prepare master
> omega pack master

pack.prepare

SYNTAX: omega pack.prepare <local-dir> Prepares files for packaging into installers. Run pack-build after this to generate the installer binaries.

ARGUMENTS:

  • local-dir: name of local installation directory.

EXAMPLE: omega pack master

pack.build

SYNTAX: omega pack.build <local-dir> Generates binaries for online and offline installation.

ARGUMENTS:

  • local-dir: name of local installation directory.

EXAMPLE: omega pack-build master

pack.publish

SYNTAX: omega pack.publish <local-dir> Publish the package binaries on S3.

ARGUMENTS:

  • local-dir: name of local installation directory

EXAMPLE: omega pack.publish master

tools

SYNTAX: omega tools.[update] Manages the omega maintenance tools.

update

Updates the utilities to the latest version.

Clone this wiki locally