diff --git a/.gitignore b/.gitignore index 6acea64bf..8fb067595 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -build* +build*/ Xcode/* *~ *.pyc diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 1a315de79..000000000 --- a/INSTALL +++ /dev/null @@ -1,40 +0,0 @@ - -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. diff --git a/NEWS b/NEWS deleted file mode 100644 index 29809ec9a..000000000 --- a/NEWS +++ /dev/null @@ -1,33 +0,0 @@ - -*- 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. diff --git a/README.md b/README.md index 933d743fa..586db2767 100644 --- a/README.md +++ b/README.md @@ -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`. diff --git a/development/build.md b/development/build.md new file mode 100644 index 000000000..2872704c9 --- /dev/null +++ b/development/build.md @@ -0,0 +1,17 @@ +# 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. +