diff --git a/include/fcl/CMakeLists.txt b/include/fcl/CMakeLists.txt
index eeba55a1abac7002f8e4686d74496ee7afe4a9f7..723bd6d0089847e36bec320cead75eb30b992324 100644
--- a/include/fcl/CMakeLists.txt
+++ b/include/fcl/CMakeLists.txt
@@ -1,3 +1,7 @@
+file(GLOB_RECURSE HEADERS            ${CMAKE_CURRENT_SOURCE_DIR}/*.h)
+file(GLOB_RECURSE CONFIGURED_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/*.h)
+set(FCL_HEADERS ${HEADERS} ${CONFIGURED_HEADERS} PARENT_SCOPE)
+
 file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" FCL_CONFIG_IN_DIR)
 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" FCL_CONFIG_OUT_DIR)
 configure_file("${FCL_CONFIG_IN_DIR}/config.h.in" "${FCL_CONFIG_OUT_DIR}/config.h")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 33cb7fa1e56615cc1ffef094790c5e26f6e17015..05a002014e39cae8df367d55a3957e2604664358 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,8 +1,8 @@
 file(GLOB_RECURSE FCL_SOURCE_CODE ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
 if(FCL_STATIC_LIBRARY)
-  add_library(${PROJECT_NAME} STATIC ${FCL_SOURCE_CODE})
+  add_library(${PROJECT_NAME} STATIC ${FCL_HEADERS} ${FCL_SOURCE_CODE})
 else()
-  add_library(${PROJECT_NAME} SHARED ${FCL_SOURCE_CODE})
+  add_library(${PROJECT_NAME} SHARED ${FCL_HEADERS} ${FCL_SOURCE_CODE})
 endif()
 
 target_link_libraries(${PROJECT_NAME} ${CCD_LIBRARIES} ${OCTOMAP_LIBRARIES} ${Boost_LIBRARIES})