diff --git a/.gitignore b/.gitignore
index d3e328f8..8edddc3b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -50,3 +50,6 @@ Thumbs.db
 !tests/mock_json_test/json/*.json
 alabastar.beve
 *.jsonc
+
+# Generated file
+./cmake/install-config.cmake
diff --git a/cmake/install-config.cmake b/cmake/install-config.cmake
deleted file mode 100644
index b6ddfdb9..00000000
--- a/cmake/install-config.cmake
+++ /dev/null
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/glazeTargets.cmake")
\ No newline at end of file
diff --git a/cmake/install-config.cmake.in b/cmake/install-config.cmake.in
new file mode 100644
index 00000000..54892858
--- /dev/null
+++ b/cmake/install-config.cmake.in
@@ -0,0 +1,7 @@
+if(@glaze_EETF_FORMAT@)
+
+   @glaze_FIND_ERLANG_SCRIPT@
+
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/glazeTargets.cmake")
diff --git a/cmake/install-rules.cmake b/cmake/install-rules.cmake
index 1db5b74e..e36ef689 100644
--- a/cmake/install-rules.cmake
+++ b/cmake/install-rules.cmake
@@ -32,6 +32,10 @@ set(
 )
 mark_as_advanced(glaze_INSTALL_CMAKEDIR)
 
+file(READ ${CMAKE_CURRENT_LIST_DIR}/FindErlang.cmake glaze_FIND_ERLANG_SCRIPT)
+
+configure_file(${CMAKE_CURRENT_LIST_DIR}/install-config.cmake.in ${CMAKE_CURRENT_LIST_DIR}/install-config.cmake @ONLY)
+
 install(
     FILES cmake/install-config.cmake
     DESTINATION "${glaze_INSTALL_CMAKEDIR}"
diff --git a/tests/find_package/CMakeLists.txt b/tests/find_package/CMakeLists.txt
index fcaeace6..a2744cee 100644
--- a/tests/find_package/CMakeLists.txt
+++ b/tests/find_package/CMakeLists.txt
@@ -8,11 +8,6 @@ project(
 
 file(GLOB srcs src/*.cpp include/*.hpp)
 
-if(glaze_ERLANG_FORMAT)
-  list(APPEND CMAKE_MODULE_PATH "${EXTERNAL_MODULE_PATH}")
-  find_package(Erlang REQUIRED)
-endif(glaze_ERLANG_FORMAT)
-
 find_package(glaze CONFIG REQUIRED)
 
 add_executable(${PROJECT_NAME} ${srcs})
