--- CMakeLists.txt.orig	2018-11-27 12:19:14.000000000 -0500
+++ CMakeLists.txt	2021-12-27 20:27:19.000000000 -0500
@@ -54,3 +54,44 @@
 if (BUILD_EXAMPLES)
     add_subdirectory(examples/send-presence)
 endif(BUILD_EXAMPLES)
+
+# generate CMake config-file package
+# The following code was adapted from the instructions provided at
+# https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+    ${CMAKE_CURRENT_BINARY_DIR}/cmake/DiscordRPCConfigVersion.cmake
+    COMPATIBILITY AnyNewerVersion
+)
+export(EXPORT discord-rpc
+    FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/DiscordRPCTargets.cmake
+)
+configure_file(cmake/DiscordRPCConfig.cmake
+    ${CMAKE_CURRENT_BINARY_DIR}/cmake/DiscordRPCConfig.cmake
+    COPYONLY
+)
+set(ConfigPackageLocation ${CMAKE_INSTALL_PREFIX}/share/cmake/discord-rpc)
+install(EXPORT discord-rpc
+    FILE DiscordRPCTargets.cmake
+    DESTINATION ${ConfigPackageLocation}
+)
+install(
+    FILES
+        cmake/DiscordRPCConfig.cmake
+        ${CMAKE_CURRENT_BINARY_DIR}/cmake/DiscordRPCConfigVersion.cmake
+    DESTINATION ${ConfigPackageLocation}
+)
+
+# create CMake find module and pkg-config file
+set(PREFIX ${CMAKE_INSTALL_PREFIX})
+set(VERSION ${PROJECT_VERSION})
+configure_file(FindDiscordRPC.cmake.in FindDiscordRPC.cmake @ONLY)
+install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/FindDiscordRPC.cmake
+    DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
+)
+configure_file(discord-rpc.pc.in discord-rpc.pc @ONLY)
+install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/discord-rpc.pc
+    DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pkgconfig
+)
