diff --git a/CMakeLists.txt b/CMakeLists.txt
index 99f4f87b58bb3b38bc3305a59223375fd9743477..951ee9708e257b47b35b33bcaaaaa2cc95f8366d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,7 +95,8 @@ find_package(ZLIB REQUIRED)
 find_package(PNG REQUIRED)
 find_package(SDL2 CONFIG REQUIRED)
 find_package(CURL REQUIRED)
-find_package(FMT CONFIG REQUIRED)
+# Use the one in thirdparty/fmt to guarantee a minimum version
+#find_package(FMT CONFIG REQUIRED)
 
 # libgme defaults to "Nuked" YM2612 emulator, which is
 # very SLOW. The system library probably uses the
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f9f351c0e4afae5b1e4c33a5dda8c0964f7dfc58..52d2285b3bf000879b909f16aa7481815010901a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -268,7 +268,7 @@ target_link_libraries(SRB2SDL2 PRIVATE glm::glm)
 target_link_libraries(SRB2SDL2 PRIVATE Stb)
 target_link_libraries(SRB2SDL2 PRIVATE xmp-lite::xmp-lite)
 target_link_libraries(SRB2SDL2 PRIVATE glad::glad)
-target_link_libraries(SRB2SDL2 PRIVATE fmt::fmt)
+target_link_libraries(SRB2SDL2 PRIVATE fmt::fmt-header-only)
 target_link_libraries(SRB2SDL2 PRIVATE imgui::imgui)
 target_link_libraries(SRB2SDL2 PRIVATE Tracy::TracyClient)
 if(SRB2_CONFIG_ENABLE_WEBM_MOVIES)
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
index 3a99bc11bb52b9bf057bcabd5b8e005ea8f8f3bc..987d20650a15c7523be2acd1ee1b854139966f54 100644
--- a/thirdparty/CMakeLists.txt
+++ b/thirdparty/CMakeLists.txt
@@ -11,3 +11,5 @@ add_subdirectory(glad)
 add_subdirectory(tracy)
 
 add_subdirectory(libwebm)
+
+add_subdirectory(fmt)
diff --git a/vcpkg.json b/vcpkg.json
index 854d2beb1d187438b7022ccef6490452328204d9..505ca3d6d910d3808af64ba4f4afb931ed9a5404 100644
--- a/vcpkg.json
+++ b/vcpkg.json
@@ -4,7 +4,6 @@
     "version": "1.0.0",
     "dependencies": [
         "curl",
-        "fmt",
         "sdl2",
         "libpng",
         "libogg",