roboptim-core ============= [![License LGPL 3][badge-license]](http://www.gnu.org/licenses/lgpl-3.0.txt) [![Build Status](https://travis-ci.org/roboptim/roboptim-core.png?branch=master)](https://travis-ci.org/roboptim/roboptim-core) [![AppVeyor Status](https://ci.appveyor.com/api/projects/status/n3dkj3o317peiinc?svg=true)](https://ci.appveyor.com/project/bchretien/roboptim-core) [![codecov.io](https://codecov.io/github/roboptim/roboptim-core/coverage.svg?branch=master)](https://codecov.io/github/roboptim/roboptim-core?branch=master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/863/badge.svg)](https://scan.coverity.com/projects/863) [![Join the chat at https://gitter.im/roboptim/development](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/roboptim/development?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Zenodo](https://zenodo.org/badge/doi/10.5281/zenodo.10332.png)](http://zenodo.org/record/10332) This package is the Core layer of the RobOptim framework. It is released under the [LGPL-3](COPYING.LESSER) license. **Warning:** this repository contains [Git submodules][git-submodules]. Please clone this repository using the `git clone --recursive` command. If you already have cloned the repository, you can run `git submodule init && git submodule update` to retrieve the submodules. For general information about the project, please refer to its homepage: http://www.roboptim.net/ Documentation ------------- To get started with this library, please read the [online Doxygen documentation][doxygen-documentation]. It can also be generated locally by running the `make doc` command. After the package is installed, the documentation will be located in the `$prefix/share/doc/roboptim-core` directory where `$prefix` is your installation prefix (`/usr/local` by default). Getting Help ------------ Support is provided through: * the RobOptim mailing-list: roboptim@googlegroups.com * the following Gitter room: https://gitter.im/roboptim/development How can I install roboptim-core? -------------------------------- *STOP!* First question: do you need to compile this package from source manually? The answer is yes if: 1. There is no native package available for your system and you do not want to use an external system such as [RobotPkg] to handle your dependencies. 1. You want to develop new features for this package and you do not want to use [RobotPkg] on top of your system to handle this. If the answer is yes, then please proceed. Otherwise, please checkout the "Available Package" section at the end of this page. ### Installing dependencies RobOptim uses the following tools: * [Git][] a source content management system * [CMake][] (>= 2.8) a build system * [pkg-config][] dependency tracking tool * [Doxygen][] a documentation generation tool * [Boost][] C++ library * [Eigen][] (>= 3.2) C++ template library for linear algebra * [Libtool][] and its ltdl library for portable plug-in management * a C++03 compliant modern C++ compiler such as GCC or clang ### Compiling and installing the package The manual compilation requires two steps: 1. configuration of the build and generation of the build files 2. compilation of the sources and installation of the package roboptim-core uses [CMake][] to generate build files. It is recommended to create a separate build directory: ```sh mkdir _build # (1) Create a build directory cd _build # (2) Go to the newly created build directory cmake [options] .. # (3) Generate the build files ``` Options which can be passed to CMake are detailed in the next section. ```sh make # (4) Compile the package make test # (5) Execute the package tests make install # (6) Install the package into the prefix (see step 3) ``` ### Options Additional options can be set on the command line through the following command: `-D