diff --git a/CMakeLists.txt b/CMakeLists.txt
index ffb6e3eab8f9b254fa675c6bd4f9d45d174ef05c..490f04f7147ce37bd9f9faf7518974f3664edd74 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -282,6 +282,12 @@ install(EXPORT opusfileTargets
   NAMESPACE opusfile::
 )
 include(CMakePackageConfigHelpers)
+configure_package_config_file(
+  "${CMAKE_CURRENT_SOURCE_DIR}/opusfileConfig.cmake.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/opusfileConfig.cmake"
+  INSTALL_DESTINATION
+    "${CMAKE_INSTALL_LIBDIR}/cmake/opusfile"
+)
 write_basic_package_version_file(
   "opusfileConfigVersion.cmake"
   VERSION "${PACKAGE_VERSION}"
@@ -289,7 +295,7 @@ write_basic_package_version_file(
 )
 install(
   FILES
-    "${CMAKE_CURRENT_SOURCE_DIR}/opusfileConfig.cmake"
+    "${CMAKE_CURRENT_BINARY_DIR}/opusfileConfig.cmake"
     "${CMAKE_CURRENT_BINARY_DIR}/opusfileConfigVersion.cmake"
   DESTINATION
     "${CMAKE_INSTALL_LIBDIR}/cmake/opusfile"
diff --git a/opusfileConfig.cmake b/opusfileConfig.cmake.in
similarity index 96%
rename from opusfileConfig.cmake
rename to opusfileConfig.cmake.in
index cb604c3771d5be3a41e4bb413e794bdd6035e2e3..a4b01bed82d7ad6b02ff46be91939adb00ca0b67 100644
--- a/opusfileConfig.cmake
+++ b/opusfileConfig.cmake.in
@@ -1,3 +1,5 @@
+@PACKAGE_INIT@
+
 # Ported from CMakeFindDependencyMacro.cmake (finding configs and using pkgconfig as fallback)
 set(cmake_quiet_arg)
 if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
@@ -41,3 +43,5 @@ set(cmake_fd_quiet_arg)
 
 # Including targets of opusfile
 include("${CMAKE_CURRENT_LIST_DIR}/opusfileTargets.cmake")
+
+check_required_components(opusfile)