diff --git a/.github/workflows/conda/environment_macos_linux.yml b/.github/workflows/conda/environment_macos_linux.yml
index c716d6433a46da73a7a2dc1c677987468aebd337..34a295bada4c29d92a28ae300426f8bda89db2f1 100644
--- a/.github/workflows/conda/environment_macos_linux.yml
+++ b/.github/workflows/conda/environment_macos_linux.yml
@@ -10,7 +10,7 @@ dependencies:
   - boost
   - eigenpy
   - python
-  - doxygen
+  - doxygen<1.9.8|>=1.11
   - lxml
   - pylatexenc
   - qhull
diff --git a/.github/workflows/conda/environment_windows.yml b/.github/workflows/conda/environment_windows.yml
index 92c01c4228754f79b6d087bc7f9b6ed7df8fb098..febe634ee46b330f149b8b20dc7c6ab321944383 100644
--- a/.github/workflows/conda/environment_windows.yml
+++ b/.github/workflows/conda/environment_windows.yml
@@ -10,7 +10,7 @@ dependencies:
   - boost
   - eigenpy
   - python
-  - doxygen
+  - doxygen<1.9.8|>=1.11
   - lxml
   - pylatexenc
   - qhull
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c6481a3fc19d9638b7e9ab1a268a59e93fa62d60..26e9bb0e7bb1172a63e3fede471512f327fdb14a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -309,6 +309,136 @@ SET(${PROJECT_NAME}_HEADERS
   include/coal/timings.h
   )
 
+if(COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL)
+  LIST(APPEND ${PROJECT_NAME}_HEADERS
+    include/hpp/fcl/broadphase/broadphase_bruteforce.h
+    include/hpp/fcl/broadphase/broadphase_callbacks.h
+    include/hpp/fcl/broadphase/broadphase_collision_manager.h
+    include/hpp/fcl/broadphase/broadphase_continuous_collision_manager.h
+    include/hpp/fcl/broadphase/broadphase_continuous_collision_manager-inl.h
+    include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h
+    include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array-inl.h
+    include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree.h
+    include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree-inl.h
+    include/hpp/fcl/broadphase/broadphase.h
+    include/hpp/fcl/broadphase/broadphase_interval_tree.h
+    include/hpp/fcl/broadphase/broadphase_SaP.h
+    include/hpp/fcl/broadphase/broadphase_spatialhash.h
+    include/hpp/fcl/broadphase/broadphase_spatialhash-inl.h
+    include/hpp/fcl/broadphase/broadphase_SSaP.h
+    include/hpp/fcl/broadphase/default_broadphase_callbacks.h
+    include/hpp/fcl/broadphase/detail/hierarchy_tree_array.h
+    include/hpp/fcl/broadphase/detail/hierarchy_tree_array-inl.h
+    include/hpp/fcl/broadphase/detail/hierarchy_tree.h
+    include/hpp/fcl/broadphase/detail/hierarchy_tree-inl.h
+    include/hpp/fcl/broadphase/detail/interval_tree.h
+    include/hpp/fcl/broadphase/detail/interval_tree_node.h
+    include/hpp/fcl/broadphase/detail/morton.h
+    include/hpp/fcl/broadphase/detail/morton-inl.h
+    include/hpp/fcl/broadphase/detail/node_base_array.h
+    include/hpp/fcl/broadphase/detail/node_base_array-inl.h
+    include/hpp/fcl/broadphase/detail/node_base.h
+    include/hpp/fcl/broadphase/detail/node_base-inl.h
+    include/hpp/fcl/broadphase/detail/simple_hash_table.h
+    include/hpp/fcl/broadphase/detail/simple_hash_table-inl.h
+    include/hpp/fcl/broadphase/detail/simple_interval.h
+    include/hpp/fcl/broadphase/detail/simple_interval-inl.h
+    include/hpp/fcl/broadphase/detail/sparse_hash_table.h
+    include/hpp/fcl/broadphase/detail/sparse_hash_table-inl.h
+    include/hpp/fcl/broadphase/detail/spatial_hash.h
+    include/hpp/fcl/broadphase/detail/spatial_hash-inl.h
+    include/hpp/fcl/BV/AABB.h
+    include/hpp/fcl/BV/BV.h
+    include/hpp/fcl/BV/BV_node.h
+    include/hpp/fcl/BVH/BVH_front.h
+    include/hpp/fcl/BVH/BVH_internal.h
+    include/hpp/fcl/BVH/BVH_model.h
+    include/hpp/fcl/BVH/BVH_utility.h
+    include/hpp/fcl/BV/kDOP.h
+    include/hpp/fcl/BV/kIOS.h
+    include/hpp/fcl/BV/OBB.h
+    include/hpp/fcl/BV/OBBRSS.h
+    include/hpp/fcl/BV/RSS.h
+    include/hpp/fcl/coal.hpp
+    include/hpp/fcl/collision_data.h
+    include/hpp/fcl/collision_func_matrix.h
+    include/hpp/fcl/collision.h
+    include/hpp/fcl/collision_object.h
+    include/hpp/fcl/collision_utility.h
+    include/hpp/fcl/config.hh
+    include/hpp/fcl/contact_patch/contact_patch_solver.h
+    include/hpp/fcl/contact_patch/contact_patch_solver.hxx
+    include/hpp/fcl/contact_patch_func_matrix.h
+    include/hpp/fcl/contact_patch.h
+    include/hpp/fcl/data_types.h
+    include/hpp/fcl/deprecated.hh
+    include/hpp/fcl/distance_func_matrix.h
+    include/hpp/fcl/distance.h
+    include/hpp/fcl/fwd.hh
+    include/hpp/fcl/hfield.h
+    include/hpp/fcl/internal/BV_fitter.h
+    include/hpp/fcl/internal/BV_splitter.h
+    include/hpp/fcl/internal/intersect.h
+    include/hpp/fcl/internal/shape_shape_contact_patch_func.h
+    include/hpp/fcl/internal/shape_shape_func.h
+    include/hpp/fcl/internal/tools.h
+    include/hpp/fcl/internal/traversal.h
+    include/hpp/fcl/internal/traversal_node_base.h
+    include/hpp/fcl/internal/traversal_node_bvhs.h
+    include/hpp/fcl/internal/traversal_node_bvh_shape.h
+    include/hpp/fcl/internal/traversal_node_hfield_shape.h
+    include/hpp/fcl/internal/traversal_node_setup.h
+    include/hpp/fcl/internal/traversal_node_shapes.h
+    include/hpp/fcl/internal/traversal_recurse.h
+    include/hpp/fcl/internal/traversal_node_octree.h
+    include/hpp/fcl/logging.h
+    include/hpp/fcl/math/matrix_3f.h
+    include/hpp/fcl/math/transform.h
+    include/hpp/fcl/math/types.h
+    include/hpp/fcl/math/vec_3f.h
+    include/hpp/fcl/mesh_loader/assimp.h
+    include/hpp/fcl/mesh_loader/loader.h
+    include/hpp/fcl/narrowphase/gjk.h
+    include/hpp/fcl/narrowphase/minkowski_difference.h
+    include/hpp/fcl/narrowphase/narrowphase_defaults.h
+    include/hpp/fcl/narrowphase/narrowphase.h
+    include/hpp/fcl/narrowphase/support_functions.h
+    include/hpp/fcl/octree.h
+    include/hpp/fcl/serialization/AABB.h
+    include/hpp/fcl/serialization/archive.h
+    include/hpp/fcl/serialization/BVH_model.h
+    include/hpp/fcl/serialization/BV_node.h
+    include/hpp/fcl/serialization/BV_splitter.h
+    include/hpp/fcl/serialization/collision_data.h
+    include/hpp/fcl/serialization/collision_object.h
+    include/hpp/fcl/serialization/contact_patch.h
+    include/hpp/fcl/serialization/convex.h
+    include/hpp/fcl/serialization/eigen.h
+    include/hpp/fcl/serialization/fwd.h
+    include/hpp/fcl/serialization/geometric_shapes.h
+    include/hpp/fcl/serialization/hfield.h
+    include/hpp/fcl/serialization/kDOP.h
+    include/hpp/fcl/serialization/kIOS.h
+    include/hpp/fcl/serialization/memory.h
+    include/hpp/fcl/serialization/OBB.h
+    include/hpp/fcl/serialization/OBBRSS.h
+    include/hpp/fcl/serialization/octree.h
+    include/hpp/fcl/serialization/quadrilateral.h
+    include/hpp/fcl/serialization/RSS.h
+    include/hpp/fcl/serialization/serializer.h
+    include/hpp/fcl/serialization/transform.h
+    include/hpp/fcl/serialization/triangle.h
+    include/hpp/fcl/shape/convex.h
+    include/hpp/fcl/shape/details/convex.hxx
+    include/hpp/fcl/shape/geometric_shapes.h
+    include/hpp/fcl/shape/geometric_shapes_traits.h
+    include/hpp/fcl/shape/geometric_shapes_utility.h
+    include/hpp/fcl/shape/geometric_shape_to_BVH_model.h
+    include/hpp/fcl/timings.h
+    include/hpp/fcl/warning.hh
+    )
+endif()
+
 IF(COAL_HAS_OCTOMAP)
   LIST(APPEND ${PROJECT_NAME}_HEADERS
     include/coal/octree.h
@@ -342,3 +472,11 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/hook/ament_prefix_p
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/hook/ament_prefix_path.dsv DESTINATION share/${PROJECT_NAME}/hook)
 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/hook/python_path.dsv "prepend-non-duplicate;PYTHONPATH;${PYTHON_SITELIB}")
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/hook/python_path.dsv DESTINATION share/${PROJECT_NAME}/hook)
+
+if(COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL)
+  include(CMakePackageConfigHelpers)
+  write_basic_package_version_file(hpp-fclConfigVersion.cmake
+      VERSION 3.0.0
+      COMPATIBILITY AnyNewerVersion)
+  install(FILES hpp-fclConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/hpp-fclConfigVersion.cmake DESTINATION lib/cmake/hpp-fcl)
+endif()
diff --git a/hpp-fclConfig.cmake b/hpp-fclConfig.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..3c30e484541a8170ac59c0f8032ad637cbf759a6
--- /dev/null
+++ b/hpp-fclConfig.cmake
@@ -0,0 +1,6 @@
+# This file provide bacward compatiblity for `find_package(hpp-fcl)`.
+
+message(WARNING "Please update your CMake from 'hpp-fcl' to 'coal'")
+
+find_package(coal REQUIRED)
+add_library(hpp-fcl::hpp-fcl ALIAS coal::coal)
diff --git a/include/coal/serialization/eigen.h b/include/coal/serialization/eigen.h
index e2defdc6180552817c06aed263d0f15dae2eabb7..24430cf029abe87ac162b7584d6a0cc192c60e23 100644
--- a/include/coal/serialization/eigen.h
+++ b/include/coal/serialization/eigen.h
@@ -11,6 +11,12 @@
 #ifndef COAL_SERIALIZATION_EIGEN_H
 #define COAL_SERIALIZATION_EIGEN_H
 
+#ifdef COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL
+#ifdef HPP_FCL_SKIP_EIGEN_BOOST_SERIALIZATION
+#define COAL_SKIP_EIGEN_BOOST_SERIALIZATION
+#endif
+#endif
+
 #ifndef COAL_SKIP_EIGEN_BOOST_SERIALIZATION
 
 #include <Eigen/Dense>
diff --git a/include/hpp/fcl/BV/AABB.h b/include/hpp/fcl/BV/AABB.h
new file mode 100644
index 0000000000000000000000000000000000000000..c76ec66b013c6c13ac71fd8fc1b92fd99f83840d
--- /dev/null
+++ b/include/hpp/fcl/BV/AABB.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/AABB.h>
diff --git a/include/hpp/fcl/BV/BV.h b/include/hpp/fcl/BV/BV.h
new file mode 100644
index 0000000000000000000000000000000000000000..cda871c3a23f9f4ea3211aacd0da5c65db5cdefd
--- /dev/null
+++ b/include/hpp/fcl/BV/BV.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/BV.h>
diff --git a/include/hpp/fcl/BV/BV_node.h b/include/hpp/fcl/BV/BV_node.h
new file mode 100644
index 0000000000000000000000000000000000000000..50e3d7adcb01459a53cd09c05666d24287413604
--- /dev/null
+++ b/include/hpp/fcl/BV/BV_node.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/BV_node.h>
diff --git a/include/hpp/fcl/BV/OBB.h b/include/hpp/fcl/BV/OBB.h
new file mode 100644
index 0000000000000000000000000000000000000000..003da1750079fac19f8e606b02b81e207442e802
--- /dev/null
+++ b/include/hpp/fcl/BV/OBB.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/OBB.h>
diff --git a/include/hpp/fcl/BV/OBBRSS.h b/include/hpp/fcl/BV/OBBRSS.h
new file mode 100644
index 0000000000000000000000000000000000000000..16b21dbda3dfc905674f6a27aa710b33b1be9b44
--- /dev/null
+++ b/include/hpp/fcl/BV/OBBRSS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/OBBRSS.h>
diff --git a/include/hpp/fcl/BV/RSS.h b/include/hpp/fcl/BV/RSS.h
new file mode 100644
index 0000000000000000000000000000000000000000..cc6089bab7162ff9839156abea5a9adea40e134f
--- /dev/null
+++ b/include/hpp/fcl/BV/RSS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/RSS.h>
diff --git a/include/hpp/fcl/BV/kDOP.h b/include/hpp/fcl/BV/kDOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..51a7c44d2b38a50edaddfa04facf6af40173ed58
--- /dev/null
+++ b/include/hpp/fcl/BV/kDOP.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/kDOP.h>
diff --git a/include/hpp/fcl/BV/kIOS.h b/include/hpp/fcl/BV/kIOS.h
new file mode 100644
index 0000000000000000000000000000000000000000..cc24725ddec0840d4650d3849688b0f7dedb6c19
--- /dev/null
+++ b/include/hpp/fcl/BV/kIOS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BV/kIOS.h>
diff --git a/include/hpp/fcl/BVH/BVH_front.h b/include/hpp/fcl/BVH/BVH_front.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d567079d2226a1428a5e3b9ddcd6649a193a81e
--- /dev/null
+++ b/include/hpp/fcl/BVH/BVH_front.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BVH/BVH_front.h>
diff --git a/include/hpp/fcl/BVH/BVH_internal.h b/include/hpp/fcl/BVH/BVH_internal.h
new file mode 100644
index 0000000000000000000000000000000000000000..7b24ec33a5bf0bec8d8c732ee8aa3f39f1255dd2
--- /dev/null
+++ b/include/hpp/fcl/BVH/BVH_internal.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BVH/BVH_internal.h>
diff --git a/include/hpp/fcl/BVH/BVH_model.h b/include/hpp/fcl/BVH/BVH_model.h
new file mode 100644
index 0000000000000000000000000000000000000000..a069ea961003cdf0e0f256d76c8aec67b2903248
--- /dev/null
+++ b/include/hpp/fcl/BVH/BVH_model.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BVH/BVH_model.h>
diff --git a/include/hpp/fcl/BVH/BVH_utility.h b/include/hpp/fcl/BVH/BVH_utility.h
new file mode 100644
index 0000000000000000000000000000000000000000..275a171e10ef2d8c0cb18e4db212c745b6683b6a
--- /dev/null
+++ b/include/hpp/fcl/BVH/BVH_utility.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/BVH/BVH_utility.h>
diff --git a/include/hpp/fcl/broadphase/broadphase.h b/include/hpp/fcl/broadphase/broadphase.h
new file mode 100644
index 0000000000000000000000000000000000000000..7834fbe4c98b6d3fa53773ad8eb316c096f190f1
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_SSaP.h b/include/hpp/fcl/broadphase/broadphase_SSaP.h
new file mode 100644
index 0000000000000000000000000000000000000000..23dda8ef324804ce936b34c87fe04669b59557c4
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_SSaP.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_SSaP.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_SaP.h b/include/hpp/fcl/broadphase/broadphase_SaP.h
new file mode 100644
index 0000000000000000000000000000000000000000..0cdef682203edee36ce4566201bf62d205cc5f8c
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_SaP.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_SaP.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_bruteforce.h b/include/hpp/fcl/broadphase/broadphase_bruteforce.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a4811ce1d08670a39c7066f0ff8354a236af41c
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_bruteforce.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_bruteforce.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_callbacks.h b/include/hpp/fcl/broadphase/broadphase_callbacks.h
new file mode 100644
index 0000000000000000000000000000000000000000..40b5b0a6c797642853e4d5392a03d105cda5df65
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_callbacks.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_callbacks.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_collision_manager.h b/include/hpp/fcl/broadphase/broadphase_collision_manager.h
new file mode 100644
index 0000000000000000000000000000000000000000..fe49da052299e9c864d95eef54a7a980ffc983ae
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_collision_manager.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_collision_manager.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager-inl.h b/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ee4f15b0d5a254984cc37bf78ddd0ca45882e38
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_continuous_collision_manager-inl.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager.h b/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2f73c0a100e56bea8148986cfefb055f2fd664a
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_continuous_collision_manager.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_continuous_collision_manager.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree-inl.h b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..167ec3adcda0cfe9bcbbc700c3291886b1886b63
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_dynamic_AABB_tree-inl.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree.h b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ce7c99fca05af6caee71edbf2761c30ddd4386f
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_dynamic_AABB_tree.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array-inl.h b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..5e67f2525fa6cbf109a5ef66eb3fa3a12f44f105
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_dynamic_AABB_tree_array-inl.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h
new file mode 100644
index 0000000000000000000000000000000000000000..5923fd17769ec209ebd1313f50ab48e2ef254008
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_dynamic_AABB_tree_array.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_dynamic_AABB_tree_array.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_interval_tree.h b/include/hpp/fcl/broadphase/broadphase_interval_tree.h
new file mode 100644
index 0000000000000000000000000000000000000000..d00b1f6d3f0bf837b9117034e9e140a8846b8dc5
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_interval_tree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_interval_tree.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_spatialhash-inl.h b/include/hpp/fcl/broadphase/broadphase_spatialhash-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..31917d0a65a149ed9366ed023e8046188a9b04ec
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_spatialhash-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_spatialhash-inl.h>
diff --git a/include/hpp/fcl/broadphase/broadphase_spatialhash.h b/include/hpp/fcl/broadphase/broadphase_spatialhash.h
new file mode 100644
index 0000000000000000000000000000000000000000..5ad5260778aec64627e1ea9a12de1b22ab007160
--- /dev/null
+++ b/include/hpp/fcl/broadphase/broadphase_spatialhash.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/broadphase_spatialhash.h>
diff --git a/include/hpp/fcl/broadphase/default_broadphase_callbacks.h b/include/hpp/fcl/broadphase/default_broadphase_callbacks.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d78f9532a990f2d135c601ab23a5f62a2d930ba
--- /dev/null
+++ b/include/hpp/fcl/broadphase/default_broadphase_callbacks.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/default_broadphase_callbacks.h>
diff --git a/include/hpp/fcl/broadphase/detail/hierarchy_tree-inl.h b/include/hpp/fcl/broadphase/detail/hierarchy_tree-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..54b709d7973e806ed0e2b29016e2d0878eb801de
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/hierarchy_tree-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/hierarchy_tree-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/hierarchy_tree.h b/include/hpp/fcl/broadphase/detail/hierarchy_tree.h
new file mode 100644
index 0000000000000000000000000000000000000000..ebacd648db5f6ec9fc533fdb18320634b4e188a6
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/hierarchy_tree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/hierarchy_tree.h>
diff --git a/include/hpp/fcl/broadphase/detail/hierarchy_tree_array-inl.h b/include/hpp/fcl/broadphase/detail/hierarchy_tree_array-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..a6923fbb7d901d5a05c2d1b5777e70418d807ea9
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/hierarchy_tree_array-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/hierarchy_tree_array-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/hierarchy_tree_array.h b/include/hpp/fcl/broadphase/detail/hierarchy_tree_array.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0c9a90a1d3f9d211e8fbb8021ea15f6de14e769
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/hierarchy_tree_array.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/hierarchy_tree_array.h>
diff --git a/include/hpp/fcl/broadphase/detail/interval_tree.h b/include/hpp/fcl/broadphase/detail/interval_tree.h
new file mode 100644
index 0000000000000000000000000000000000000000..5480fc00fed8240de0ca9fb306c202ae560dac44
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/interval_tree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/interval_tree.h>
diff --git a/include/hpp/fcl/broadphase/detail/interval_tree_node.h b/include/hpp/fcl/broadphase/detail/interval_tree_node.h
new file mode 100644
index 0000000000000000000000000000000000000000..531898a41d83f66b3de663133489d821c44a81e9
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/interval_tree_node.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/interval_tree_node.h>
diff --git a/include/hpp/fcl/broadphase/detail/morton-inl.h b/include/hpp/fcl/broadphase/detail/morton-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..b3ef57cbaccae56153bbbbc891564a782b9b8f38
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/morton-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/morton-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/morton.h b/include/hpp/fcl/broadphase/detail/morton.h
new file mode 100644
index 0000000000000000000000000000000000000000..c0a89c6b24d1dc838d0403eba3b921977547d62a
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/morton.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/morton.h>
diff --git a/include/hpp/fcl/broadphase/detail/node_base-inl.h b/include/hpp/fcl/broadphase/detail/node_base-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..32602004003896146c978e34ff19654a8f83b077
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/node_base-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/node_base-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/node_base.h b/include/hpp/fcl/broadphase/detail/node_base.h
new file mode 100644
index 0000000000000000000000000000000000000000..b0c8206e3738a7475be3673bfc1fec82b25dcac6
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/node_base.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/node_base.h>
diff --git a/include/hpp/fcl/broadphase/detail/node_base_array-inl.h b/include/hpp/fcl/broadphase/detail/node_base_array-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..e66c59cdd7da2fb4f1deed366503ba34fef16690
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/node_base_array-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/node_base_array-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/node_base_array.h b/include/hpp/fcl/broadphase/detail/node_base_array.h
new file mode 100644
index 0000000000000000000000000000000000000000..8ad4c1ed36344a93205d97f2ae95913ff8adef96
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/node_base_array.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/node_base_array.h>
diff --git a/include/hpp/fcl/broadphase/detail/simple_hash_table-inl.h b/include/hpp/fcl/broadphase/detail/simple_hash_table-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..712c72ec39c71a03932a47dfdebc16f8e354c8f6
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/simple_hash_table-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/simple_hash_table-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/simple_hash_table.h b/include/hpp/fcl/broadphase/detail/simple_hash_table.h
new file mode 100644
index 0000000000000000000000000000000000000000..678cd34c81f57569322cf313c1cfdd8f7c1783a6
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/simple_hash_table.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/simple_hash_table.h>
diff --git a/include/hpp/fcl/broadphase/detail/simple_interval-inl.h b/include/hpp/fcl/broadphase/detail/simple_interval-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..b6e1fbd6c71d6c94a5503e5c004b65c02f7ea127
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/simple_interval-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/simple_interval-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/simple_interval.h b/include/hpp/fcl/broadphase/detail/simple_interval.h
new file mode 100644
index 0000000000000000000000000000000000000000..f0c26e038a1ab55027f325951e5f1a377ab3925e
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/simple_interval.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/simple_interval.h>
diff --git a/include/hpp/fcl/broadphase/detail/sparse_hash_table-inl.h b/include/hpp/fcl/broadphase/detail/sparse_hash_table-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..cabe7e8fb43775af24a01ce0f7e1dbe5f95c361e
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/sparse_hash_table-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/sparse_hash_table-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/sparse_hash_table.h b/include/hpp/fcl/broadphase/detail/sparse_hash_table.h
new file mode 100644
index 0000000000000000000000000000000000000000..9f585fac5006af47da54a2ae7134803568c11ce7
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/sparse_hash_table.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/sparse_hash_table.h>
diff --git a/include/hpp/fcl/broadphase/detail/spatial_hash-inl.h b/include/hpp/fcl/broadphase/detail/spatial_hash-inl.h
new file mode 100644
index 0000000000000000000000000000000000000000..be5a1d873388d9edfcdb505c444d38a8fdb8e6c9
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/spatial_hash-inl.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/spatial_hash-inl.h>
diff --git a/include/hpp/fcl/broadphase/detail/spatial_hash.h b/include/hpp/fcl/broadphase/detail/spatial_hash.h
new file mode 100644
index 0000000000000000000000000000000000000000..f4f10af83524058b64f3a90c929f25eab3b6bbfb
--- /dev/null
+++ b/include/hpp/fcl/broadphase/detail/spatial_hash.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/broadphase/detail/spatial_hash.h>
diff --git a/include/hpp/fcl/coal.hpp b/include/hpp/fcl/coal.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..e3c8845e234015ff1872d6d372a84dc6598f62d5
--- /dev/null
+++ b/include/hpp/fcl/coal.hpp
@@ -0,0 +1,15 @@
+#ifndef HPP_FCL_COAL_HH
+#define HPP_FCL_COAL_HH
+
+#include <coal/config.hh>
+#include <coal/deprecated.hh>
+
+#define COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL
+
+#pragma message COAL_DEPRECATED_HEADER( \
+    "Please update your includes from 'hpp/fcl' to 'coal'")
+
+#define HPP_FCL_VERSION_AT_LEAST(major, minor, patch) \
+  COAL_VERSION_AT_LEAST(major, minor, patch)
+
+#endif  // COAL_FWD_HH
diff --git a/include/hpp/fcl/collision.h b/include/hpp/fcl/collision.h
new file mode 100644
index 0000000000000000000000000000000000000000..099670f2591df815b1eb06df14adc27261452874
--- /dev/null
+++ b/include/hpp/fcl/collision.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/collision.h>
diff --git a/include/hpp/fcl/collision_data.h b/include/hpp/fcl/collision_data.h
new file mode 100644
index 0000000000000000000000000000000000000000..185424ac7953fe0a10ca35d978579d999e039268
--- /dev/null
+++ b/include/hpp/fcl/collision_data.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/collision_data.h>
diff --git a/include/hpp/fcl/collision_func_matrix.h b/include/hpp/fcl/collision_func_matrix.h
new file mode 100644
index 0000000000000000000000000000000000000000..c17b824125b5c240f9918e388cb496b43fb80d85
--- /dev/null
+++ b/include/hpp/fcl/collision_func_matrix.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/collision_func_matrix.h>
diff --git a/include/hpp/fcl/collision_object.h b/include/hpp/fcl/collision_object.h
new file mode 100644
index 0000000000000000000000000000000000000000..245da1c077367372312b2c600e47ba6dbe5b4e34
--- /dev/null
+++ b/include/hpp/fcl/collision_object.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/collision_object.h>
diff --git a/include/hpp/fcl/collision_utility.h b/include/hpp/fcl/collision_utility.h
new file mode 100644
index 0000000000000000000000000000000000000000..9043e1f8eee0a663253a49597bd8fbb31d8e8375
--- /dev/null
+++ b/include/hpp/fcl/collision_utility.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/collision_utility.h>
diff --git a/include/hpp/fcl/config.hh b/include/hpp/fcl/config.hh
new file mode 100644
index 0000000000000000000000000000000000000000..7388d60876038fe60cd85fbdef79d32d500d8075
--- /dev/null
+++ b/include/hpp/fcl/config.hh
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/config.hh>
diff --git a/include/hpp/fcl/contact_patch.h b/include/hpp/fcl/contact_patch.h
new file mode 100644
index 0000000000000000000000000000000000000000..fef1ee0d4eff442ed64cceb9b3c6056322101f5d
--- /dev/null
+++ b/include/hpp/fcl/contact_patch.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/contact_patch.h>
diff --git a/include/hpp/fcl/contact_patch/contact_patch_solver.h b/include/hpp/fcl/contact_patch/contact_patch_solver.h
new file mode 100644
index 0000000000000000000000000000000000000000..f53a91507019235de35ace29bccb66043d2f7610
--- /dev/null
+++ b/include/hpp/fcl/contact_patch/contact_patch_solver.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/contact_patch/contact_patch_solver.h>
diff --git a/include/hpp/fcl/contact_patch/contact_patch_solver.hxx b/include/hpp/fcl/contact_patch/contact_patch_solver.hxx
new file mode 100644
index 0000000000000000000000000000000000000000..b73d4e935e78053192057eaee1712a57b71dcb36
--- /dev/null
+++ b/include/hpp/fcl/contact_patch/contact_patch_solver.hxx
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/contact_patch/contact_patch_solver.hxx>
diff --git a/include/hpp/fcl/contact_patch_func_matrix.h b/include/hpp/fcl/contact_patch_func_matrix.h
new file mode 100644
index 0000000000000000000000000000000000000000..9103090df5bbf7625db6e7c7e0b76be5c90f7f6e
--- /dev/null
+++ b/include/hpp/fcl/contact_patch_func_matrix.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/contact_patch_func_matrix.h>
diff --git a/include/hpp/fcl/data_types.h b/include/hpp/fcl/data_types.h
new file mode 100644
index 0000000000000000000000000000000000000000..690f179c6fa46616209004a2cb521438d26acb12
--- /dev/null
+++ b/include/hpp/fcl/data_types.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/data_types.h>
diff --git a/include/hpp/fcl/deprecated.hh b/include/hpp/fcl/deprecated.hh
new file mode 100644
index 0000000000000000000000000000000000000000..513abdf65a3cd05c42fb7b5689f9951efaa04ca4
--- /dev/null
+++ b/include/hpp/fcl/deprecated.hh
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/deprecated.hh>
diff --git a/include/hpp/fcl/distance.h b/include/hpp/fcl/distance.h
new file mode 100644
index 0000000000000000000000000000000000000000..a8301218b689fefe93112d88dfcfcc19f1f56d55
--- /dev/null
+++ b/include/hpp/fcl/distance.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/distance.h>
diff --git a/include/hpp/fcl/distance_func_matrix.h b/include/hpp/fcl/distance_func_matrix.h
new file mode 100644
index 0000000000000000000000000000000000000000..5bc9be51c55984fbf7869ad73271c718209ef740
--- /dev/null
+++ b/include/hpp/fcl/distance_func_matrix.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/distance_func_matrix.h>
diff --git a/include/hpp/fcl/fwd.hh b/include/hpp/fcl/fwd.hh
new file mode 100644
index 0000000000000000000000000000000000000000..1bf07ff6c8d2ac489944e63ed4d502a937ba113d
--- /dev/null
+++ b/include/hpp/fcl/fwd.hh
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/fwd.hh>
diff --git a/include/hpp/fcl/hfield.h b/include/hpp/fcl/hfield.h
new file mode 100644
index 0000000000000000000000000000000000000000..4d462776aeb4f08ed76ff744d76139c88b9af858
--- /dev/null
+++ b/include/hpp/fcl/hfield.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/hfield.h>
diff --git a/include/hpp/fcl/internal/BV_fitter.h b/include/hpp/fcl/internal/BV_fitter.h
new file mode 100644
index 0000000000000000000000000000000000000000..438bd599ed53855810cc93042cdbfc3109e8a995
--- /dev/null
+++ b/include/hpp/fcl/internal/BV_fitter.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/BV_fitter.h>
diff --git a/include/hpp/fcl/internal/BV_splitter.h b/include/hpp/fcl/internal/BV_splitter.h
new file mode 100644
index 0000000000000000000000000000000000000000..85a586bdb76828b5d9d3cbb1ed7c50b265906a4e
--- /dev/null
+++ b/include/hpp/fcl/internal/BV_splitter.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/BV_splitter.h>
diff --git a/include/hpp/fcl/internal/intersect.h b/include/hpp/fcl/internal/intersect.h
new file mode 100644
index 0000000000000000000000000000000000000000..bc4fe38c4476ba746d543bb898e58f5a85de987a
--- /dev/null
+++ b/include/hpp/fcl/internal/intersect.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/intersect.h>
diff --git a/include/hpp/fcl/internal/shape_shape_contact_patch_func.h b/include/hpp/fcl/internal/shape_shape_contact_patch_func.h
new file mode 100644
index 0000000000000000000000000000000000000000..cc3ecf58a619873101f6eaab497b39c7993e8b64
--- /dev/null
+++ b/include/hpp/fcl/internal/shape_shape_contact_patch_func.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/shape_shape_contact_patch_func.h>
diff --git a/include/hpp/fcl/internal/shape_shape_func.h b/include/hpp/fcl/internal/shape_shape_func.h
new file mode 100644
index 0000000000000000000000000000000000000000..3789fb52a0e8737e5036085d39ad864a2700e622
--- /dev/null
+++ b/include/hpp/fcl/internal/shape_shape_func.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/shape_shape_func.h>
diff --git a/include/hpp/fcl/internal/tools.h b/include/hpp/fcl/internal/tools.h
new file mode 100644
index 0000000000000000000000000000000000000000..aa11afec1967b185fb33b796b885555c1a3b7403
--- /dev/null
+++ b/include/hpp/fcl/internal/tools.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/tools.h>
diff --git a/include/hpp/fcl/internal/traversal.h b/include/hpp/fcl/internal/traversal.h
new file mode 100644
index 0000000000000000000000000000000000000000..f0cbf51fce490787043580f473fcbc962d53eecc
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal.h>
diff --git a/include/hpp/fcl/internal/traversal_node_base.h b/include/hpp/fcl/internal/traversal_node_base.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5f5d9938f0642f33283fa31612448f82a73a172
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_base.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_base.h>
diff --git a/include/hpp/fcl/internal/traversal_node_bvh_shape.h b/include/hpp/fcl/internal/traversal_node_bvh_shape.h
new file mode 100644
index 0000000000000000000000000000000000000000..c99f06b17bb084b125c120d7c0a16833fbc8601e
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_bvh_shape.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_bvh_shape.h>
diff --git a/include/hpp/fcl/internal/traversal_node_bvhs.h b/include/hpp/fcl/internal/traversal_node_bvhs.h
new file mode 100644
index 0000000000000000000000000000000000000000..835610130aff7d83c6816c088428a1879583936d
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_bvhs.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_bvhs.h>
diff --git a/include/hpp/fcl/internal/traversal_node_hfield_shape.h b/include/hpp/fcl/internal/traversal_node_hfield_shape.h
new file mode 100644
index 0000000000000000000000000000000000000000..8384a2b94e96d745a7b07563bbcb34fdabcc7189
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_hfield_shape.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_hfield_shape.h>
diff --git a/include/hpp/fcl/internal/traversal_node_octree.h b/include/hpp/fcl/internal/traversal_node_octree.h
new file mode 100644
index 0000000000000000000000000000000000000000..44f8b32347e91f0e0813d264ca79962b000d96e5
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_octree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_octree.h>
diff --git a/include/hpp/fcl/internal/traversal_node_setup.h b/include/hpp/fcl/internal/traversal_node_setup.h
new file mode 100644
index 0000000000000000000000000000000000000000..b94dd7a845e9576de0aed1ded6e2f285c45ffaa4
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_setup.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_setup.h>
diff --git a/include/hpp/fcl/internal/traversal_node_shapes.h b/include/hpp/fcl/internal/traversal_node_shapes.h
new file mode 100644
index 0000000000000000000000000000000000000000..996730308a9c96737c6ccaea19879046df710f5a
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_node_shapes.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_node_shapes.h>
diff --git a/include/hpp/fcl/internal/traversal_recurse.h b/include/hpp/fcl/internal/traversal_recurse.h
new file mode 100644
index 0000000000000000000000000000000000000000..6fd2bf7ae4196230c0d7ecdfa44ff2596e963517
--- /dev/null
+++ b/include/hpp/fcl/internal/traversal_recurse.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/internal/traversal_recurse.h>
diff --git a/include/hpp/fcl/logging.h b/include/hpp/fcl/logging.h
new file mode 100644
index 0000000000000000000000000000000000000000..e9f591ebcd28fda9ffd8c40b48d9013010ddb598
--- /dev/null
+++ b/include/hpp/fcl/logging.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/logging.h>
diff --git a/include/hpp/fcl/math/matrix_3f.h b/include/hpp/fcl/math/matrix_3f.h
new file mode 100644
index 0000000000000000000000000000000000000000..0b4e853e93de4de1daaf17f8339ee0c1e3f38c46
--- /dev/null
+++ b/include/hpp/fcl/math/matrix_3f.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/math/matrix_3f.h>
diff --git a/include/hpp/fcl/math/transform.h b/include/hpp/fcl/math/transform.h
new file mode 100644
index 0000000000000000000000000000000000000000..970a2a9362939e36eddfd1157fe7f4b5f9017c80
--- /dev/null
+++ b/include/hpp/fcl/math/transform.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/math/transform.h>
diff --git a/include/hpp/fcl/math/types.h b/include/hpp/fcl/math/types.h
new file mode 100644
index 0000000000000000000000000000000000000000..932a7e59000e5070f14ae0debf520b23b7e89fca
--- /dev/null
+++ b/include/hpp/fcl/math/types.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/math/types.h>
diff --git a/include/hpp/fcl/math/vec_3f.h b/include/hpp/fcl/math/vec_3f.h
new file mode 100644
index 0000000000000000000000000000000000000000..e6ac46c7acba16fdef73bcb2bf20c0a8a839436c
--- /dev/null
+++ b/include/hpp/fcl/math/vec_3f.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/math/vec_3f.h>
diff --git a/include/hpp/fcl/mesh_loader/assimp.h b/include/hpp/fcl/mesh_loader/assimp.h
new file mode 100644
index 0000000000000000000000000000000000000000..139538928150598736f4a114a49ca43945ceacd3
--- /dev/null
+++ b/include/hpp/fcl/mesh_loader/assimp.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/mesh_loader/assimp.h>
diff --git a/include/hpp/fcl/mesh_loader/loader.h b/include/hpp/fcl/mesh_loader/loader.h
new file mode 100644
index 0000000000000000000000000000000000000000..bbb43f1d0ded45cb3bcb69be7c5d8df385edc22d
--- /dev/null
+++ b/include/hpp/fcl/mesh_loader/loader.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/mesh_loader/loader.h>
diff --git a/include/hpp/fcl/narrowphase/gjk.h b/include/hpp/fcl/narrowphase/gjk.h
new file mode 100644
index 0000000000000000000000000000000000000000..cab294b93e5060735905420debd8e58ea2ff1072
--- /dev/null
+++ b/include/hpp/fcl/narrowphase/gjk.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/narrowphase/gjk.h>
diff --git a/include/hpp/fcl/narrowphase/minkowski_difference.h b/include/hpp/fcl/narrowphase/minkowski_difference.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f6ca0e08d9b58065b868b6e20ad75e5011ff373
--- /dev/null
+++ b/include/hpp/fcl/narrowphase/minkowski_difference.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/narrowphase/minkowski_difference.h>
diff --git a/include/hpp/fcl/narrowphase/narrowphase.h b/include/hpp/fcl/narrowphase/narrowphase.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a079085d9c8884e47bac3f4c2867efc1da24af7
--- /dev/null
+++ b/include/hpp/fcl/narrowphase/narrowphase.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/narrowphase/narrowphase.h>
diff --git a/include/hpp/fcl/narrowphase/narrowphase_defaults.h b/include/hpp/fcl/narrowphase/narrowphase_defaults.h
new file mode 100644
index 0000000000000000000000000000000000000000..c17096f9a67eb1da5bf41cc9ef82f194512cc6e3
--- /dev/null
+++ b/include/hpp/fcl/narrowphase/narrowphase_defaults.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/narrowphase/narrowphase_defaults.h>
diff --git a/include/hpp/fcl/narrowphase/support_functions.h b/include/hpp/fcl/narrowphase/support_functions.h
new file mode 100644
index 0000000000000000000000000000000000000000..8eb7c4b4fbfa09f1c4a518cdd4263356ea82a030
--- /dev/null
+++ b/include/hpp/fcl/narrowphase/support_functions.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/narrowphase/support_functions.h>
diff --git a/include/hpp/fcl/octree.h b/include/hpp/fcl/octree.h
new file mode 100644
index 0000000000000000000000000000000000000000..b7f745e796bc2289b27201bc076e25a2c84a2c66
--- /dev/null
+++ b/include/hpp/fcl/octree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/octree.h>
diff --git a/include/hpp/fcl/serialization/AABB.h b/include/hpp/fcl/serialization/AABB.h
new file mode 100644
index 0000000000000000000000000000000000000000..b001c4ec31bc9717c3621ecb486fc1178f090edd
--- /dev/null
+++ b/include/hpp/fcl/serialization/AABB.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/AABB.h>
diff --git a/include/hpp/fcl/serialization/BVH_model.h b/include/hpp/fcl/serialization/BVH_model.h
new file mode 100644
index 0000000000000000000000000000000000000000..c4f65ab501b34bd72126ae8e78b31bc29137b9f6
--- /dev/null
+++ b/include/hpp/fcl/serialization/BVH_model.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/BVH_model.h>
diff --git a/include/hpp/fcl/serialization/BV_node.h b/include/hpp/fcl/serialization/BV_node.h
new file mode 100644
index 0000000000000000000000000000000000000000..a8407a076f223b2f9130862ef32a1c0446429515
--- /dev/null
+++ b/include/hpp/fcl/serialization/BV_node.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/BV_node.h>
diff --git a/include/hpp/fcl/serialization/BV_splitter.h b/include/hpp/fcl/serialization/BV_splitter.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d13844e31ca6b068d2328b4670fb91034858a68
--- /dev/null
+++ b/include/hpp/fcl/serialization/BV_splitter.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/BV_splitter.h>
diff --git a/include/hpp/fcl/serialization/OBB.h b/include/hpp/fcl/serialization/OBB.h
new file mode 100644
index 0000000000000000000000000000000000000000..8eebfec177a02aaaafea8bc72e5164e59bd0c9da
--- /dev/null
+++ b/include/hpp/fcl/serialization/OBB.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/OBB.h>
diff --git a/include/hpp/fcl/serialization/OBBRSS.h b/include/hpp/fcl/serialization/OBBRSS.h
new file mode 100644
index 0000000000000000000000000000000000000000..c9673a7f4686a43b5051643913e9e7321c614a02
--- /dev/null
+++ b/include/hpp/fcl/serialization/OBBRSS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/OBBRSS.h>
diff --git a/include/hpp/fcl/serialization/RSS.h b/include/hpp/fcl/serialization/RSS.h
new file mode 100644
index 0000000000000000000000000000000000000000..b7639aa8627490d88706002ea68378c2dc2203c9
--- /dev/null
+++ b/include/hpp/fcl/serialization/RSS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/RSS.h>
diff --git a/include/hpp/fcl/serialization/archive.h b/include/hpp/fcl/serialization/archive.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a3f5c1887c420b82e9051ad58de1dbac2a370ed
--- /dev/null
+++ b/include/hpp/fcl/serialization/archive.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/archive.h>
diff --git a/include/hpp/fcl/serialization/collision_data.h b/include/hpp/fcl/serialization/collision_data.h
new file mode 100644
index 0000000000000000000000000000000000000000..9ac4f985d1b19864f2643e645fed19380a1b16f2
--- /dev/null
+++ b/include/hpp/fcl/serialization/collision_data.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/collision_data.h>
diff --git a/include/hpp/fcl/serialization/collision_object.h b/include/hpp/fcl/serialization/collision_object.h
new file mode 100644
index 0000000000000000000000000000000000000000..782976870f8c72713e887a91ea97c54d9931a366
--- /dev/null
+++ b/include/hpp/fcl/serialization/collision_object.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/collision_object.h>
diff --git a/include/hpp/fcl/serialization/contact_patch.h b/include/hpp/fcl/serialization/contact_patch.h
new file mode 100644
index 0000000000000000000000000000000000000000..dca0506ff751f1c235bdc43715be52b91d0b2f7b
--- /dev/null
+++ b/include/hpp/fcl/serialization/contact_patch.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/contact_patch.h>
diff --git a/include/hpp/fcl/serialization/convex.h b/include/hpp/fcl/serialization/convex.h
new file mode 100644
index 0000000000000000000000000000000000000000..7000a3e18175bbb37e1b657e675243baea701367
--- /dev/null
+++ b/include/hpp/fcl/serialization/convex.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/convex.h>
diff --git a/include/hpp/fcl/serialization/eigen.h b/include/hpp/fcl/serialization/eigen.h
new file mode 100644
index 0000000000000000000000000000000000000000..e5c9faaa76fb8069f6fdccb124e52f8472a270be
--- /dev/null
+++ b/include/hpp/fcl/serialization/eigen.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/eigen.h>
diff --git a/include/hpp/fcl/serialization/fwd.h b/include/hpp/fcl/serialization/fwd.h
new file mode 100644
index 0000000000000000000000000000000000000000..69e442f46510d1ed606f7c50ba4fbbd3582c15d0
--- /dev/null
+++ b/include/hpp/fcl/serialization/fwd.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/fwd.h>
diff --git a/include/hpp/fcl/serialization/geometric_shapes.h b/include/hpp/fcl/serialization/geometric_shapes.h
new file mode 100644
index 0000000000000000000000000000000000000000..d7679f265e7739b92221694514824c0334c6bc37
--- /dev/null
+++ b/include/hpp/fcl/serialization/geometric_shapes.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/geometric_shapes.h>
diff --git a/include/hpp/fcl/serialization/hfield.h b/include/hpp/fcl/serialization/hfield.h
new file mode 100644
index 0000000000000000000000000000000000000000..e0e862a73325f5e722224b26de6862921ca57f7a
--- /dev/null
+++ b/include/hpp/fcl/serialization/hfield.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/hfield.h>
diff --git a/include/hpp/fcl/serialization/kDOP.h b/include/hpp/fcl/serialization/kDOP.h
new file mode 100644
index 0000000000000000000000000000000000000000..fe4acc157529cd82a09186abd629c741b966aa30
--- /dev/null
+++ b/include/hpp/fcl/serialization/kDOP.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/kDOP.h>
diff --git a/include/hpp/fcl/serialization/kIOS.h b/include/hpp/fcl/serialization/kIOS.h
new file mode 100644
index 0000000000000000000000000000000000000000..41fe0d7f68523a35497c451432b21a1cd5cb2417
--- /dev/null
+++ b/include/hpp/fcl/serialization/kIOS.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/kIOS.h>
diff --git a/include/hpp/fcl/serialization/memory.h b/include/hpp/fcl/serialization/memory.h
new file mode 100644
index 0000000000000000000000000000000000000000..b03c4026a5e21351c4983b068dd24a5e5ecc1d64
--- /dev/null
+++ b/include/hpp/fcl/serialization/memory.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/memory.h>
diff --git a/include/hpp/fcl/serialization/octree.h b/include/hpp/fcl/serialization/octree.h
new file mode 100644
index 0000000000000000000000000000000000000000..6d2694aa4bc96dfb55fcaae8a09d5528cd1c165d
--- /dev/null
+++ b/include/hpp/fcl/serialization/octree.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/octree.h>
diff --git a/include/hpp/fcl/serialization/quadrilateral.h b/include/hpp/fcl/serialization/quadrilateral.h
new file mode 100644
index 0000000000000000000000000000000000000000..641f8161d297af3528839194faa8165d6d8bf56a
--- /dev/null
+++ b/include/hpp/fcl/serialization/quadrilateral.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/quadrilateral.h>
diff --git a/include/hpp/fcl/serialization/serializer.h b/include/hpp/fcl/serialization/serializer.h
new file mode 100644
index 0000000000000000000000000000000000000000..6b194a18edb390f17f1116800cc605da1c9783b3
--- /dev/null
+++ b/include/hpp/fcl/serialization/serializer.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/serializer.h>
diff --git a/include/hpp/fcl/serialization/transform.h b/include/hpp/fcl/serialization/transform.h
new file mode 100644
index 0000000000000000000000000000000000000000..a72222f790f8d00a091e1d1566d867bbaa889736
--- /dev/null
+++ b/include/hpp/fcl/serialization/transform.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/transform.h>
diff --git a/include/hpp/fcl/serialization/triangle.h b/include/hpp/fcl/serialization/triangle.h
new file mode 100644
index 0000000000000000000000000000000000000000..5c2b23f138a17cccc47838409d5cc4e70cf71546
--- /dev/null
+++ b/include/hpp/fcl/serialization/triangle.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/serialization/triangle.h>
diff --git a/include/hpp/fcl/shape/convex.h b/include/hpp/fcl/shape/convex.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d5dd44ab5605862199e5414569cc3b4f1943e6f
--- /dev/null
+++ b/include/hpp/fcl/shape/convex.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/convex.h>
diff --git a/include/hpp/fcl/shape/details/convex.hxx b/include/hpp/fcl/shape/details/convex.hxx
new file mode 100644
index 0000000000000000000000000000000000000000..d7b78f4d7f2443c18cabb8fd3f8b405625d857cf
--- /dev/null
+++ b/include/hpp/fcl/shape/details/convex.hxx
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/details/convex.hxx>
diff --git a/include/hpp/fcl/shape/geometric_shape_to_BVH_model.h b/include/hpp/fcl/shape/geometric_shape_to_BVH_model.h
new file mode 100644
index 0000000000000000000000000000000000000000..66bb3b7e6fe4d29b0f471f5dfaafe5af28f59db5
--- /dev/null
+++ b/include/hpp/fcl/shape/geometric_shape_to_BVH_model.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/geometric_shape_to_BVH_model.h>
diff --git a/include/hpp/fcl/shape/geometric_shapes.h b/include/hpp/fcl/shape/geometric_shapes.h
new file mode 100644
index 0000000000000000000000000000000000000000..dd8f59a9516e7a1db50a3520a4bc78f121f31480
--- /dev/null
+++ b/include/hpp/fcl/shape/geometric_shapes.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/geometric_shapes.h>
diff --git a/include/hpp/fcl/shape/geometric_shapes_traits.h b/include/hpp/fcl/shape/geometric_shapes_traits.h
new file mode 100644
index 0000000000000000000000000000000000000000..3afa55f580155f8ec00201a3dcc59078dabb15b0
--- /dev/null
+++ b/include/hpp/fcl/shape/geometric_shapes_traits.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/geometric_shapes_traits.h>
diff --git a/include/hpp/fcl/shape/geometric_shapes_utility.h b/include/hpp/fcl/shape/geometric_shapes_utility.h
new file mode 100644
index 0000000000000000000000000000000000000000..65e33d5340b5b11b97da71608a5d3023330a60aa
--- /dev/null
+++ b/include/hpp/fcl/shape/geometric_shapes_utility.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/shape/geometric_shapes_utility.h>
diff --git a/include/hpp/fcl/timings.h b/include/hpp/fcl/timings.h
new file mode 100644
index 0000000000000000000000000000000000000000..4500e9f19676a8aa394279368130bb42ba2dcc9a
--- /dev/null
+++ b/include/hpp/fcl/timings.h
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/timings.h>
diff --git a/include/hpp/fcl/warning.hh b/include/hpp/fcl/warning.hh
new file mode 100644
index 0000000000000000000000000000000000000000..c49b82715f40bedb4b968c00e6b9fe863a2dc1e9
--- /dev/null
+++ b/include/hpp/fcl/warning.hh
@@ -0,0 +1,2 @@
+#include <hpp/fcl/coal.hpp>
+#include <coal/warning.hh>
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index bbdf917b38a4d341f9da1d3df49fd71f0063d71d..8133d617f883eb6917b8e038be6cc16b9b476eeb 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -61,6 +61,14 @@ IF(    NOT ENABLE_PYTHON_DOXYGEN_AUTODOC
 ELSE()
   SET(ENABLE_DOXYGEN_AUTODOC TRUE)
 
+  IF(DOXYGEN_VERSION VERSION_GREATER_EQUAL 1.9.8 AND DOXYGEN_VERSION VERSION_LESS 1.11.0)
+    # deactivate python doxygen automoc for doxygen 1.9.8 and 1.10.0,
+    # as it incorrectly parse "const" keyword,
+    # generating wrong links in C++ doc, and fail generating python doc
+    # ref. https://github.com/doxygen/doxygen/issues/10797
+    SET(ENABLE_DOXYGEN_AUTODOC FALSE)
+    MESSAGE(AUTHOR_WARNING "automoc deactivated because of doxygen 1.10. Please use <1.10 or >=1.11.")
+  ENDIF()
   EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import lxml"
     RESULT_VARIABLE _pypkg_found
     OUTPUT_QUIET
@@ -180,3 +188,9 @@ FOREACH(python ${PYTHON_FILES})
     "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${python}"
     DESTINATION ${${PYTHON_LIB_NAME}_INSTALL_DIR})
 ENDFOREACH(python)
+
+
+if(COAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL)
+  python_install_on_site(hppfcl __init__.py)
+  python_install_on_site(hppfcl viewer.py)
+endif()
diff --git a/python/hppfcl/__init__.py b/python/hppfcl/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..1948a587886523ae735484e0cfbe6ae60e2fc0e1
--- /dev/null
+++ b/python/hppfcl/__init__.py
@@ -0,0 +1,9 @@
+import warnings
+
+warnings.warn(
+    "Please update your 'hppfcl' imports to 'coal'", category=DeprecationWarning
+)
+
+from coal import Transform3s as Transform3f  # noqa
+from coal import *  # noqa
+from coal import __raw_version__, __version__  # noqa
diff --git a/python/hppfcl/viewer.py b/python/hppfcl/viewer.py
new file mode 100644
index 0000000000000000000000000000000000000000..13353dce9ae3c634745d55118fd7a665750dd4d3
--- /dev/null
+++ b/python/hppfcl/viewer.py
@@ -0,0 +1,7 @@
+import warnings
+
+warnings.warn(
+    "Please update your 'hppfcl' imports to 'coal'", category=DeprecationWarning
+)
+
+from coal.viewer import *  # noqa