build: add needed targets for find package
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
new file mode 100644
index 0000000..ff0fa67
--- /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@")
\ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 943eba9..ebe2e16 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -67,12 +67,31 @@
###############################################################################
include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
+
+set(COSE_C_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
install(
TARGETS ${PROJECT_NAME}
- LIBRARY DESTINATION lib COMPONENT lib
- ARCHIVE DESTINATION lib COMPONENT dev
- RUNTIME DESTINATION lib COMPONENT lib)
+ EXPORT ${PROJECT_NAME}Targets
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT dev
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib)
+install(
+ EXPORT ${PROJECT_NAME}Targets
+ DESTINATION "${COSE_C_CONFIG_INSTALL_DIR}"
+ NAMESPACE ${PROJECT_NAME}::
+ COMPONENT dev)
+
+configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in ${PROJECT_NAME}Config.cmake
+ INSTALL_DESTINATION ${COSE_C_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 ${COSE_C_CONFIG_INSTALL_DIR}
+ COMPONENT dev)
+
install(
DIRECTORY ${PROJECT_SOURCE_DIR}/include/cose
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}