diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 6204ed7178324a16ea1e713ceb107c3d0d8ce153..56b3269e2349283d8293cf050d16cc87a0d4f5c5 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -47,9 +47,8 @@ ADD_LIBRARY(${LIBRARY_NAME} SHARED
   distance.cc
   fcl.cc)
 
-TARGET_LINK_BOOST_PYTHON(${LIBRARY_NAME})
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${PROJECT_NAME})
+TARGET_LINK_BOOST_PYTHON(${LIBRARY_NAME} PUBLIC)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} PUBLIC ${PROJECT_NAME})
 PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} eigenpy)
 
 SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index cbf9dd398ad5f98cce8adaaade82b72075501ae3..88db53f81aded2363e618e5899ad4b608ff7311a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -82,19 +82,28 @@ set(${LIBRARY_NAME}_SOURCES
   mesh_loader/loader.cpp
   )
 
-link_directories(${Boost_LIBRARY_DIRS})
-
 add_library(${LIBRARY_NAME}
   SHARED
   ${${LIBRARY_NAME}_SOURCES}
   )
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})
 
-target_include_directories(${LIBRARY_NAME} SYSTEM PUBLIC
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} 
+  PUBLIC 
+  ${Boost_thread_LIBRARY}
+  ${Boost_date_time_LIBRARY}
+  ${Boost_system_LIBRARY})
+
+target_include_directories(${LIBRARY_NAME} 
+  SYSTEM PUBLIC
   ${EIGEN3_INCLUDE_DIRS}
   ${Boost_INCLUDE_DIRS}
   )
 
+target_include_directories(${LIBRARY_NAME} 
+  PUBLIC
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
 PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} assimp)
 if (NOT ${ASSIMP_VERSION} VERSION_LESS "2.0.1150")
   target_compile_definitions(${LIBRARY_NAME} PRIVATE -DHPP_FCL_USE_ASSIMP_UNIFIED_HEADER_NAMES)
@@ -111,8 +120,6 @@ IF(OCTOMAP_FOUND)
     -DOCTOMAP_PATCH_VERSION=${OCTOMAP_PATCH_VERSION})
 ENDIF(OCTOMAP_FOUND)
 
-target_include_directories(${LIBRARY_NAME} PUBLIC
-  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 install(TARGETS ${LIBRARY_NAME}
   EXPORT ${TARGETS_EXPORT_NAME}
   DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index b9308e3bbba1f72dfc4c3066cb5f6d953d414bb9..4409a94981461fc7a51717857f27e1270ebcd99a 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -11,6 +11,7 @@ endmacro(add_fcl_template_test)
 macro(add_fcl_test test_name)
   add_executable(${ARGV})
   target_link_libraries(${test_name}
+    PUBLIC
     hpp-fcl
     ${Boost_LIBRARIES}
     utility