diff --git a/.gitlab/ci/jobs/windows-x86.yml b/.gitlab/ci/jobs/windows-x86.yml
index 603549ce39bdebf6b3988cb5f9c1cf826d12f63c..f0cf653e3482d35f78404bfde53851479866fe51 100644
--- a/.gitlab/ci/jobs/windows-x86.yml
+++ b/.gitlab/ci/jobs/windows-x86.yml
@@ -92,7 +92,8 @@ Windows x86:
             -DCMAKE_CXX_COMPILER_LAUNCHER=$CCACHE \
             -DCMAKE_C_COMPILER=/usr/bin/i686-w64-mingw32-gcc-posix \
             -DCMAKE_CXX_COMPILER=/usr/bin/i686-w64-mingw32-g++-posix \
-            -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake
+            -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake \
+            -DSRB2_CONFIG_ALWAYS_MAKE_DEBUGLINK=ON
 
       - |
           # cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 885b5caac53f39e2f4d0591dcb33a0fbf762627e..1f852c981d073fe4d3e5343de426cbb5140ba922 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ option(SRB2_CONFIG_STATIC_OPENGL "Enable static linking GL (do not do this)" OFF
 option(SRB2_CONFIG_ERRORMODE "Compile C code with warnings treated as errors." OFF)
 option(SRB2_CONFIG_DEBUGMODE "Compile with PARANOIA, ZDEBUG, RANGECHECK and PACKETDROP defined." OFF)
 option(SRB2_CONFIG_DEV_BUILD "Compile a development build." OFF)
+option(SRB2_CONFIG_ALWAYS_MAKE_DEBUGLINK "Always make a debuglink .debug." OFF)
 option(SRB2_CONFIG_TESTERS "Compile a build for testers." OFF)
 option(SRB2_CONFIG_MOBJCONSISTANCY "Compile with MOBJCONSISTANCY defined." OFF)
 option(SRB2_CONFIG_PACKETDROP "Compile with PACKETDROP defined." OFF)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 52f1b163019f986a93e7ee32007da04d76fc5e02..af64bb0bcca7724d125df5224bece1333fd5a246 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -611,7 +611,7 @@ add_subdirectory(modp_b64)
 # strip debug symbols into separate file when using gcc.
 # to be consistent with Makefile, don't generate for OS X.
 if((CMAKE_COMPILER_IS_GNUCC) AND NOT ("${CMAKE_SYSTEM_NAME}" MATCHES Darwin))
-	if(${CMAKE_BUILD_TYPE} MATCHES RelWithDebInfo)
+	if(${CMAKE_BUILD_TYPE} MATCHES RelWithDebInfo OR SRB2_CONFIG_ALWAYS_MAKE_DEBUGLINK)
 		message(STATUS "Will make separate debug symbols in *.debug")
 		add_custom_command(TARGET SRB2SDL2 POST_BUILD
 			COMMAND ${OBJCOPY} ${OBJCOPY_ONLY_KEEP_DEBUG} $<TARGET_FILE:SRB2SDL2> $<TARGET_FILE:SRB2SDL2>.debug