diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index ec2bb845c6f0c8b4f9543d5fe9edea2b280acd66..93c48af76e0947c4092aff643d57a25a7785543c 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -43,21 +43,25 @@ INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}" ${PYTHON_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/src")
 INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
 
-ADD_CUSTOM_TARGET(generate_doxygen_cpp_doc
-  COMMAND ${CMAKE_SOURCE_DIR}/doc/python/doxygen_xml_parser.py
-  ${CMAKE_BINARY_DIR}/doc/doxygen-xml/index.xml
-  ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc > ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc.log
-  BYPRODUCTS
-  ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc/doxygen_xml_parser_for_cmake.hh
-  ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc.log
-  COMMENT "Generating Doxygen C++ documentation"
-  )
-ADD_DEPENDENCIES(generate_doxygen_cpp_doc doc)
-
 SET(${LIBRARY_NAME}_HEADERS
-  ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc/doxygen_xml_parser_for_cmake.hh
   fcl.hh
   )
+IF(DOXYGEN_FOUND)
+  ADD_CUSTOM_TARGET(generate_doxygen_cpp_doc
+    COMMAND ${CMAKE_SOURCE_DIR}/doc/python/doxygen_xml_parser.py
+    ${CMAKE_BINARY_DIR}/doc/doxygen-xml/index.xml
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc > ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc.log
+    BYPRODUCTS
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc/doxygen_xml_parser_for_cmake.hh
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc.log
+    COMMENT "Generating Doxygen C++ documentation"
+    )
+  ADD_DEPENDENCIES(generate_doxygen_cpp_doc doc)
+
+  LIST(APPEND ${LIBRARY_NAME}_HEADERS
+    ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc/doxygen_xml_parser_for_cmake.hh
+    )
+ENDIF()
 
 SET(${LIBRARY_NAME}_SOURCES
   version.cc
@@ -72,7 +76,10 @@ ADD_LIBRARY(${LIBRARY_NAME} SHARED ${${LIBRARY_NAME}_SOURCES} ${${LIBRARY_NAME}_
 ADD_DEPENDENCIES(python ${LIBRARY_NAME})
 ADD_HEADER_GROUP(${LIBRARY_NAME}_HEADER)
 ADD_SOURCE_GROUP(${LIBRARY_NAME}_SOURCES)
-ADD_DEPENDENCIES(${LIBRARY_NAME} generate_doxygen_cpp_doc)
+IF(DOXYGEN_FOUND)
+  ADD_DEPENDENCIES(${LIBRARY_NAME} generate_doxygen_cpp_doc)
+  TARGET_COMPILE_DEFINITIONS(${LIBRARY_NAME} PRIVATE -DHAS_DOXYGEN_AUTODOC)
+ENDIF()
 
 TARGET_LINK_BOOST_PYTHON(${LIBRARY_NAME} PUBLIC)
 TARGET_LINK_LIBRARIES(${LIBRARY_NAME} PUBLIC ${PROJECT_NAME} ${BOOST_system_LIBRARY})
diff --git a/python/collision-geometries.cc b/python/collision-geometries.cc
index 5494cbf156ba98016ad028e2f8368cb6fdfb40c8..fad5158d64b5eef2c4ceb5d2ae67988ff79f9c13 100644
--- a/python/collision-geometries.cc
+++ b/python/collision-geometries.cc
@@ -43,8 +43,12 @@
 #include <hpp/fcl/shape/convex.h>
 #include <hpp/fcl/BVH/BVH_model.h>
 
+#ifdef HAS_DOXYGEN_AUTODOC
 #include "doxygen_autodoc/hpp/fcl/BVH/BVH_model.h"
 #include "doxygen_autodoc/hpp/fcl/shape/geometric_shapes.h"
+#endif
+
+#include "../doc/python/doxygen.hh"
 
 using namespace boost::python;
 
diff --git a/python/math.cc b/python/math.cc
index c5d0a18ed4cae8d96b6abb125be534b3661b163f..a1fcecd3a18017ee76609797000c7fcee11e8bc1 100644
--- a/python/math.cc
+++ b/python/math.cc
@@ -42,8 +42,11 @@
 
 #include "fcl.hh"
 
+#ifdef HAS_DOXYGEN_AUTODOC
 #include "doxygen_autodoc/hpp/fcl/math/transform.h"
+#endif
 
+#include "../doc/python/doxygen.hh"
 #include "../doc/python/doxygen-boost.hh"
 
 using namespace boost::python;