Skip to content
Snippets Groups Projects
Unverified Commit ab27fde1 authored by Joris Vaillant's avatar Joris Vaillant
Browse files

readme: Modernize build and installation instruction

parent 78e757bb
No related branches found
No related tags found
No related merge requests found
build*
build*/
Xcode/*
*~
*.pyc
......
Dependencies:
============
- Eigen
- Boost (thread, date_time, filesystem)
- assimp
- octomap (optional dependency, available at http://octomap.github.io)
- Qhull (optional dependency, available at http://www.qhull.org)
Boost and Eigen are mandatory dependencies. If Octomap is not found,
collision detection with octrees will not be possible.
For installation, CMake will also be needed (http://cmake.org).
Test dependencies:
=================
When building tests (BUILD_TESTING=ON), additional dependencies are required:
- Boost (unit_test_framework, timer)
Install:
=======
* Linux / Mac OS:
The CMakeLists.txt can be used to generate makefiles; For example, one may use operations such as:
mkdir build
cd build
cmake ..
make -jN # N is the maximum number of parallel compile jobs
Once the compilation is finished,
make install
will install the project. To specify the installation prefix,
pass the parameter -DCMAKE_INSTALL_PREFIX=/my/prefix/ to the "cmake .." command above.
* Visual Studio:
The CMakeLists.txt can be used to generate a Visual Studio project, using the cmake build tool.
-*- outline -*-
New in 1.1.1
* Fix a bug in assimp loading procedure.
New in 1.1.0
* Fix uninitialized closest points in capsulePlaneIntersect.
* Refactor sphereTriangleIntersect.
* Initialize closest points to nan value in distance query
* Add Converter from AABB to OBBRSS.
* Add node type as attribute of MeshLoader.
* Simplify box - sphere distance computation.
* Implement GJKSolver_indep::shapeIntersect for sphere - box
* Fix MeshShapeCollisionTraversalNodeOBB.
* Add missing include guard in fwd.hh/
New in 1.0.2
* A lot of cleaning among functions that were not used
- broadphase has been removed,
- cost and cost source have been removed,
* CollisionRequest is passed to low level functions in order to unify
- the calling function tree among the various possible options,
* Collision test triangle - triangle
- in GJK, a detection of loop that made the algorithm fail to detect
collision has been removed,
- collision and distance computation between triangles in
MeshCollisionTraversalNode::leafTesting now uses GJK
- a test on triangle - triangle interaction has been added optimality of
closest points is check using Karush-Kuhn-Tucker conditions.
New in 1.0.1
* Fix octomap version handling,
- add flags related to Octomap in pkg-config file.
......@@ -69,6 +69,20 @@ One can observe that GJK-based approaches largely outperform solutions based on
- [Jiminy](https://github.com/duburcqa/jiminy) A simulator based on Pinocchio.
- [ocs2](https://github.com/leggedrobotics/ocs2) A toolbox for Optimal Control for Switched Systems (OCS2)
## Installation
### Conda
Coal can be installed from the [conda-forge channel](https://anaconda.org/conda-forge/coal):
```bash
conda install coal -c conda-forge
```
## Build
You can find build instruction [here](./development/build.md).
## C++ example
Both the C++ library and the python bindings can be installed as simply as `conda -c conda-forge install coal`.
The `.so` library, include files and python bindings will then be installed under `$CONDA_PREFIX/lib`, `$CONDA_PREFIX/include` and `$CONDA_PREFIX/lib/python3.XX/site-packages`.
......
# Build and install from source with Pixi
To build Coal from source the easiest way is to use [Pixi](https://pixi.sh/latest/#installation).
[Pixi](https://pixi.sh/latest/) is a cross-platform package management tool for developers that
will install all required dependencies in `.pixi` directory.
It's used by our CI agent so you have the guarantee to get the right dependencies.
Run the following command to install dependencies, configure, build and test the project:
```bash
pixi run test
```
The project will be built in the `build` directory.
You can run `pixi shell` and build the project with `cmake` and `ninja` manually.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment