diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2a9e1c765a7658cb52dd6a80d6ee8bda96d32daf..fbb730187f102b2bc6704d336f477f3f01be77d3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -11,7 +11,14 @@ set(${PROJECT_NAME}_SRC
   ehp.cpp
 )
 
-add_library(${PROJECT_NAME} SHARED
+option(EHP_BUILD_SHARED_LIBS "Build shared library." ON)
+if(EHP_BUILD_SHARED_LIBS)
+  set(BUILD_SHARED_LIBS ON)
+else()
+  set(BUILD_SHARED_LIBS OFF)
+endif()
+
+add_library(${PROJECT_NAME}
 		${${PROJECT_NAME}_H}
 		${${PROJECT_NAME}_SRC}
 	)
@@ -31,3 +38,9 @@ add_custom_command(
         COMMAND "${CMAKE_COMMAND}" -E copy
                 ${PUBLIC_HEADERS}
                 "${CMAKE_BINARY_DIR}/include/")
+
+install(TARGETS ${PROJECT_NAME} EXPORT ehpTargets
+  INCLUDES DESTINATION include
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib)
+install(FILES ${PUBLIC_HEADERS} DESTINATION include)