box-cylinder ccd check disabled by default when using autotools's --enable-ccd, but enabled when CMake is built with -DODE_WITH_LIBCCD=ON

Issue #87 resolved
Silvio Traversaro created an issue

Hello everyone, thanks a lot for the work on ODE.

While debugging some test failures (https://github.com/conda-forge/dartsim-feedstock/issues/62) I noticed a slight difference between CMake and autotools builds of ODE:

  • In autotools builds, the `--enable-ccd` option uses ccd for all checks in which it is supported, except for box-cylinder
  • In CMake builds, the `-DODE_WITH_LIBCCD=ON` CMake option uses ccd for all checks in which it is supported, including box-cylinder

To make CMake builds behave like the autotools build one pass -DODE_WITH_LIBCCD_BOX_CYL=OFF to the CMake build.

Just to understand, is this difference between CMake and autotools intentional?

Comments (5)

  1. Oleh Derevenko

    I believe this is from old ages when libccd support was added. ODE had most of Cylinder colliders missing (not implemented) but the Cylinder-Box collider was there and was considered good. Therefore, the CCD library colliders had been enabled to only complement those pairs that the ODE code could not handle internally.
    Then, when CMake scripts were added much later, that was missed and CCD colliders were set to be used for everything.
    By the way, premake4 project generator for Windows generates the define to use Cylinder-Box from libccd as well.

    I will consult with people on the ODE mailing list how they would prefer this to be resolved.

  2. Log in to comment