build: add find package target
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 133f6e7..96911b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,10 +103,7 @@
 endif()
 # default is static, can be shared if -DBUILD_SHARED_LIBS=ON passed to cmake
 add_library(${PROJECT_NAME})
-target_sources(
-  ${PROJECT_NAME}
-  PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include/cn-cbor/cn-cbor.h
-  PRIVATE ${cbor_srcs})
+target_sources(${PROJECT_NAME} PRIVATE include/cn-cbor/cn-cbor.h ${cbor_srcs})
 target_include_directories(
   ${PROJECT_NAME}
   PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
@@ -116,9 +113,7 @@
   message("verbose: ${verbose}")
   target_link_libraries(${PROJECT_NAME} ws2_32)
 endif()
-add_library(${PROJECT_NAME}::${PROJECT_NAME}
-            ALIAS
-            ${PROJECT_NAME})
+add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)
 if(coveralls)
@@ -218,15 +213,41 @@
 # INSTALL
 # ##############################################################################
 
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
+
 install(FILES LICENSE README.md DESTINATION .)
+set(CN_CBOR_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
 
-install(DIRECTORY include/
-        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-        COMPONENT dev
-        FILES_MATCHING
-        PATTERN "*.h")
+install(
+  TARGETS ${PROJECT_NAME}
+  EXPORT ${PROJECT_NAME}Targets
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib)
 
 install(
+  EXPORT ${PROJECT_NAME}Targets
+  DESTINATION ${CN_CBOR_CONFIG_INSTALL_DIR}
+  NAMESPACE ${PROJECT_NAME}::
+  COMPONENT dev)
+
+configure_package_config_file(cmake/Config.cmake.in ${PROJECT_NAME}Config.cmake
+                              INSTALL_DESTINATION ${CN_CBOR_CONFIG_INSTALL_DIR})
+write_basic_package_version_file(${PROJECT_NAME}ConfigVersion.cmake
+                                 COMPATIBILITY SameMajorVersion)
+install(
+  FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+        ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+  DESTINATION ${CN_CBOR_CONFIG_INSTALL_DIR}
+  COMPONENT dev)
+
+install(
+  DIRECTORY include/
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+  COMPONENT dev
+  FILES_MATCHING
+  PATTERN "*.h")
+install(
   TARGETS cn-cbor
   LIBRARY DESTINATION lib
   ARCHIVE DESTINATION lib
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
new file mode 100644
index 0000000..9c15f36
--- /dev/null
+++ b/cmake/Config.cmake.in
@@ -0,0 +1,4 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+check_required_components("@PROJECT_NAME@")