This document addresses OpenMS users and explains the installation procedure for building OpenMS from its sources. If you only want to use the OpenMS Proteomics Pipeline (TOPP), you are strongly encouraged to download the binary installer (see here), instead of building OpenMS from sources. Be aware though that we do not provide binary installers for every MacOS version. For more information read the install instructions for the TOPP binaries.
This document especially considers the installation of several libraries that are required by OpenMS. Most of these libraries are made available in our "contrib-package" (see below).
If you encounter errors during configuring/compiling our software, have a look at our "Known Issues" section (documentation), maybe the error is already known. If not, please write to the mailing list or report the error on our issue tracker.
We suggest to use either Homebrew or MacPorts as they contain most of the requirements for OpenMS and ease the process of upgrading those dependencies.
In order to compile OpenMS, several applications need to be installed:
If your OpenMS version is a development version obtained via git, the following applications are needed in order to create the OpenMS documentation:
In order to facilitate the installation of the libraries required for OpenMS, we composed a "contrib-package" containing the libraries Boost, Eigen, WildMagic, libSVM, SeqAn, glpk, zlib, bzip2 and Xerces-C.
The contrib package is contained in the OpenMS release package and is available inside the contrib
directory in the OpenMS directory.
If you are using the developer version of OpenMS, you have to clone the contrib from github using
CMake is used to check your system and build the contrib libraries.
Create a build directory for the OpenMS contrib e.g.,
Enter the created directory and call cmake to build the contrib
Example:
If everything worked, the following sub-directories were created under in the contrib build directory:
lib/
containing the libraries needed by OpenMS. include/
containing the header files needed for OpenMS. Beside the possibility to use the contrib libraries shipped with OpenMS you can also use libraries installed via your package manager (homebrew or macports).
For homebrew the following sequence of commands installs all libraries required by OpenMS.
For macports the following sequence of commands installs some of the libraries required by OpenMS.
The rest needs to be installed via the contrib.
Assuming you have successfully installed the required libraries, you need to get the OpenMS source code. The latest stable version of OpenMS can be found on the OpenMS download page. If you want to work with the latest development version you need to obtain the code via git.
Create a build directory for OpenMS, e.g.,
Call cmake to create the build system there
You can set CMake variables using the -DVARIABLE=VALUE
option. A full list of the CMake variables is shown when you execute
cmake
at least once before ccmake
can be used.The most important CMake variables are:
CMAKE_PREFIX_PATH | Additional search path for the contrib libraries. If not set the the location is assumed to be
Please keep in mind that macports does not provide all libraries so you need to provide also the path to your self-build contrib. |
QT_QMAKE_EXECUTABLE | Defines the Qt 'qmake' application to identify the corresponding Qt installation. This variable only needs to be set if qmake is not in the PATH. |
CMAKE_BUILD_TYPE | Should be either 'Release' (optimization enabled) or 'Debug' (debug info and precondition/postcondition checks enabled). The default is Release . |
CMAKE_CXX_COMPILER | Defines the C++ compiler to use. |
CMAKE_C_COMPILER | Defines the C compiler to use. This should match the C++ compiler. Mixing compilers (e.g., clang++ for C++ and gcc for C) can lead to undefined behavior as some internal settings (e.g., OpenMP support) are determined using the C compiler and are assumed to be the same for the C++ compiler. |
SEARCH_ENGINES_DIRECTORY (optional) | The location where the ID search engines are located. This directory should have the same structure as the one in the OpenMS svn repository. This directory is needed to build the installer for OpenMS. |
PYOPENMS | Use ON to also build the Python bindings, see also pyOpenMS (Python bindings). |
After CMake was executed, you can list the make targets by calling:
In order to build the OpenMS library, the TOPP tools, tests and this documentation execute the following command:
The TOPP tools should now be ready to use. The executables are located in the bin
folder of the build directory. Add this folder to your PATH
variable for easy access.
After you have installed OpenMS and TOPP, you should test your installation by executing the following command:
or
Using ctest you can also execute only single tests by using the -R switch or run tests in parallel using the -j switch.
Will run all TOPP test using 4 jobs. Make sure that you have build all tests beforehand by executing.
OpenMS / TOPP release 2.0.0 | Documentation generated on Thu Jul 28 2016 00:37:34 using doxygen 1.8.11 |