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 windows binary installer (see here), instead of building OpenMS from sources. For more information read the install instructions for the TOPP binaries.
This document especially considers the installation of several libraries which 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.
Notation of this tutorial
Command Prompt
which are already open are not refreshed. You will need a to open a new one. Pre-Requisites (Software)
7-Zip
(see http://www.7-zip.org/) patch
(see http://gnuwin32.sourceforge.net/packages/patch.htm) OpenMS depends on several other libraries. On a windows system, these are usually not present.
We require Qt version 4.5 or higher.
Qt 5.X IS NOT SUPPORTED YET!
VS2012 and VS2013 require at least Qt 4.8.4 with some additional fix (see below).
Qt comes in two flavors: commercial or non-commercial - choose whatever is applicable to you: read more on the Qt website Recently (beginning with Qt 4.6) there are binary development versions available for VS2010 and VS2008. We found these to contain only 32bit compilations. If you are compiling for 32bit as well, you can download these and save a lot of time. They are incompatible for 64bit builds - compile Qt yourself in this case (or see if you can find 64bit builds on the Qt website). Make sure NOT to use the MinGW precompiled binaries, since they are incompatible with Visual Studio binaries.
Follow this procedure if you want to compile Qt yourself:
+= _MSC_VER=1800 WIN32
in <qt>-msvc2012 and call configure.exe with -platform win32-msvc2012
. In order to make the installation of the remaining required libraries easier, we composed a "contrib-package" containing the libraries Boost, Eigen, WildMagic, libSVM, SeqAn, glpk, zlib, libbz2 and Xerces-C. This contrib package has several advantages over manual installation
Download:
The contrib package is contained in the OpenMS release package.
If you are using the developer version of OpenMS, you must check out the contrib from GitHub repository
> git clone https://github.com/OpenMS/contrib
to obtain the latest developer version (potentially unstable).
Installation:
On Vista/Win7/Win8 some programs using during contrib creation (e.g. patch.exe) require elevation, otherwise the contrib will not build. Thus, you need an admin account with disabled UAC (User Account Control) or alternatively you can start a command line by right-clicking on its link and choosing "Run as administrator", while UAC is still enabled.
After you got the source code for the contrib package open a VisualStudio Command line (see Start-Menu).
Call CMake to build the contrib
Be aware that you can build 64bit apps even if your operating system is only 32bit (cross-compiling), but you will not be able to run 64bit apps in this case.
The <generator> you use must be one of the Visual Studio Generators. This is because some contrib libs require Visual Studio to build. Be careful to specify the Generator suffixed with "Win64" if you want a 64bit contrib! Type $ cmake
to see a list of available generators.
Example:
VS2013 requires SeqAn 1.4.1, which is currently not shipped in the contrib. However, just download the SeqAn source code from www.seqan.de and replace the headers in <path_to_contrib_build>/include/seqan with the headers from the SeqAn source.
This section is voluntary. If you can live with the online documentation, you do not need to build your own.
In order to build the class documentation (doc & doc_internal targets), TOPP tutorials (doc_tutorials target) and more, you will need to install three programs:
dot
. You should install the above apps prior to installing OpenMS, because otherwise during the configuration step the documentation targets will be disabled. If you already have a working installation of OpenMS (without documentation), you can simply install the above programs and then delete the CMakeCache.txt file in your OpenMS build directory and reconfigure OpenMS by calling cmake (see below). No need to recompile the library!
If you have not installed the libraries which OpenMS requires, please refer to the section Contrib installation above.
Assuming you have successfully installed the dependent libraries, you need to get the OpenMS source code. The latest stable version of OpenMS can be found in the download page. For further (e.g. latest developer version from GitHub) info see the download instructions.
After you got the source code open a VisualStudio Command line (see Start-Menu). To create Visual Studio Project Files using CMake:
Call CMake to create the BuildSystem there
The choice of <generator> is dependent on your system. Type $ cmake
to see a list of available generators. If you use a Visual Studio Generator, it should be identical to the one used for building the contrib. Example:
Now there should be a OpenMS_host.sln
file in your build directory, which you can open using Visual Studio. If you choose another generator (e.g. Eclipse) you will find something equivalent. If you want to work on only a subset of OpenMS (e.g., OpenMS_GUI) you can open the specific solution that you will find in the src/ folder of your build folder and below (e.g., src/openms_gui/OpenMS_GUI.sln).
In Visual Studio execute the 'targets' project, which will show you the most prominent targets.
Try to build the OpenMS library - the target is called 'OpenMS'. This will create the OpenMS dll. If you used the debug configuration it will be called OpenMSd.dll, in release mode its called OpenMS.dll.
As a last step you should add the location of the OpenMS dll to your PATH environment. This is required for TOPP tools like TOPPAS, which might otherwise not work. Also external projects (see External Code using OpenMS) require the OpenMS dll (OpenMS.dll or OpenMSd.dll) to be in the PATH. Depending on the generator and configuration used you will find the dll in [OpenMS_build]/bin/Release or [OpenMS_build]/bin/Debug or just [OpenMS_build]/bin. In the same folder the TOPP tools will reside once build (see next section). Be aware that the order of directories in the PATH variable determines which dll or executable is used, if no absolute path was given when the executable was called. So the PATH might need to be updated (add/delete/reorder entries) if you are working with multiple installations or configurations of OpenMS.
TOPP is a toolset for the analysis of HPLC-MS data. It consists of several small applications that can be chained to create analysis pipelines tailored for a specific problem.
After you have built OpenMS, you can build the TOPP tools by building the "TOPP" project in the IDE.
Each class in OpenMS and each TOPP tool have a unit test. The tests will be build with the complete solution. To specifically build and execute the tests, go to your OpenMS build_tree and further into ./src/tests/class_tests. There you'll find an OpenMS_class_tests.sln file, which you can open. For other generators an equivalent file with another suffix will be present. Now, build the 'ALL_BUILD' target and the 'RUN_TESTS' target. You can also run the tests in a command prompt in <OpenMS_build_tree> using $ ctest Single tests can be run with $ ctest -R <testname>, e.g. $ ctest -R Base64_test For more syntax on ctest look at the online documentation at http://cmake.org/.
OpenMS / TOPP release 2.0.0 | Documentation generated on Tue Nov 1 2016 16:34:46 using doxygen 1.8.11 |