/*! \page install Installing BayesOpt
-The core of BayesOpt uses standard C/C++ code (C++98) and it can be
-compiled in different platforms and used from different languages
-thanks to the wrappers provided.
+The core of BayesOpt uses standard C/C++ code (C++98) so it can be
+compiled from many C++ compilers (gcc, clang, MSVC...). The library
+also include wrappers for Python, Matlab and Octave interfaces which requires
+extra dependencies or compilation steps. Note that the
+Python or Matlab/Octave interfaces are not included by default.
\section unixinst Installing in Linux/MacOS:
-The compilation is very similar in any *nix system. Note that the
-Python or Matlab interfaces are not included by default.
+The compilation is very similar in any *nix system. Following these
+instructions, the library will be compiled using the default
+configuration. You can modify that easily as explained in
\subsection getDepend Getting dependencies:
>> sudo apt-get install python-dev python-numpy
-If you want the Octave interface:
+If you want the Octave interface:
>> sudo apt-get install octave-headers
This section assumes \b macports is installed. Similar packages can be
found in \b fink or \b homebrew. For the minimal install, run:
->> sudo port install boost gcc4
+>> sudo port install boost gcc4 cmake
If you want the Python interface:
Again, for all dependencies:
->> sudo port install boost python27 py27-numpy gcc4
6 cmake py27-cython octave
+>> sudo port install boost python27 py27-numpy gcc4 cmake py27-cython octave
shared libraries or not. \b Shared libraries are required to run the
-\subsubsection instpath Install the library in a different path
-CMake allows to select the install path during compilation. You just
-need to change the CMAKE_INSTALL_PREFIX variable. This can be done
-directly from the command line with the -D option, like this:
->> cmake -DCMAKE_INSTALL_PREFIX=/your/desired/path .
-or if you use ccmake, just modify the value of the variable with the
\subsubsection docbuild Building the documentation
If you have doxygen installed on your computer, you can compile the
Thid documentation will appear in the "doc" subdirectory.
\subsection instpython Python interface:
Both Python development files (Python.h) and Numpy are needed if you
can also add an entry named BOOST_ROOT in CMake with the corresponding
-\li MinGW: http://www.mingw.org
+\li MinGW: http://www.mingw.org
If you do not have a C++ compiler, we recomend MinGW+MSYS. Then, you
just need to compile from the command line with:
+The most important options/variables are explained in \ref confinst.
\subsection instpythonwin Python interface:
The Python interface has not been tested in \b Windows because getting
that \c mingw32-make only supports 32 bits libraries, so you need a 32
+\section confinst Configure the compilation/install
+As we have made to select the install path or to add python bindings,
+CMake allows to configure the compilation using some variables. These
+variables can be set in Linux/MacOS from the command line with the -D
+>> cmake -DVARIABLE=VALUE .
+>> cmake -DCMAKE_BUILD_TYPE=Debug .
+If you use ccmake or CMake for Windows, just modify the value of the
+\subsection instshared Compile as shared libraries
+We can select if we want BayesOpt and NLOPT compiled as shared libraries
+In this case, we also need to force rebuild NLOPT (by default it is
+not compiled if it is found in the system).
+\subsection instpath Install the library in a different path
+CMake allows to select the install path before compilation
+compilation. You just need to change the CMAKE_INSTALL_PREFIX
+\subsection mininst Minimal installation (fast compilation)
+Sobol sequences can be used to for the initial design (see \ref
+initpar). In many cases, the performance is similar to latin hypercube
+sampling, however including the Sobol components increases
+considerably the library size and the compilation time. Thus, it can
+be removed from compilation:
+Similarly, we can avoid to compile the example files and demos: