#================================================================
# cmake utilities to build python-bindings for mechanics component
#================================================================

# wrap - Set extra dependencies
set(SWIG_MODULE_${COMPONENT}_EXTRA_DEPS)

# DEFS
set(${COMPONENT}_SWIG_DEFS "${SWIG_DEFS}")

# List of modules to be built in the python bindings
set(${COMPONENT}_PYTHON_MODULES
  "mechanics/joints"
  "mechanics/collision/base"
  "mechanics/collision/native"
  "mechanics/collision/bodies")

if(WITH_OCE)
  list(APPEND ${COMPONENT}_PYTHON_MODULES "mechanics/occ")
endif()

if(WITH_BULLET)
  list(APPEND ${COMPONENT}_PYTHON_MODULES "mechanics/collision/bullet")
  # list(APPEND ${COMPONENT}_SWIG_DEFS "-DWITH_BULLET") # Do we really need this??

  # ignore all warnings generated by Bullet headers since we can't
  # do anything about them and it clutters the output
  list(APPEND ${COMPONENT}_SWIG_DEFS_bullet
    "-w312,322,325,350,351,362,383,389,394,395,401,402,403,503,512,520")

  if(BULLET_USE_DOUBLE_PRECISION)
    list(APPEND ${COMPONENT}_SWIG_DEFS "-DBT_USE_DOUBLE_PRECISION")
  endif()
endif()

set(${COMPONENT}_SWIG_INCLUDE_DIRECTORIES
  ${CMAKE_SOURCE_DIR}/kernel/swig)

configure_file(mechanics/collision/tools.py ${SICONOS_SWIG_ROOT_DIR}/mechanics/collision/tools.py)
configure_file(mechanics/collision/convexhull.py  ${SICONOS_SWIG_ROOT_DIR}/mechanics/collision/convexhull.py )
configure_file(mechanics/collision/__init__.py  ${SICONOS_SWIG_ROOT_DIR}/mechanics/collision/__init__.py )
include(swig_python_tools)
swig_module_setup(${COMPONENT}_PYTHON_MODULES)
if(NOT WITH_OCE)
  list(APPEND ${COMPONENT}_python_excluded_tests
    ${CMAKE_CURRENT_SOURCE_DIR}/tests/test_occ_inertia.py)
endif()
build_python_tests()

