diff --git a/appveyor.yml b/appveyor.yml
index 3a53294ef..b34e0198e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -2,24 +2,42 @@ version: 2.1.14.{branch}-{build}
 os: MinGW
 
 environment:
- CC: i686-w64-mingw32-gcc
+ CC: ccache
+ CCACHE_CC: i686-w64-mingw32-gcc
  WINDRES: windres
  MINGW_SDK: c:\msys64\mingw32
  CFLAGS: -Wall -W -Werror
+ CCACHE_EXE: ccache.exe
+ CCACHE_URL: http://alam.srb2.org/ccache.exe
+ CCACHE_COMPRESS: true
+
+-cache:
+- ccache.exe
+- C:\Users\appveyor\.ccache
 
 install:
+- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%"
+- ccache -M 99M
+- xcopy /Y /V /I ccache.exe %MINGW_SDK%\bin
+
+configuration:
+- SDL
+- DD
+
 
 before_build:
 - set Path=%MINGW_SDK%\bin;%Path%
 - i686-w64-mingw32-gcc --version
 - mingw32-make --version
+- ccache -s
 - set SRB2_MFLAGS=-C src MINGW=1 WARNINGMODE=1 NOASM=1 NOUPX=1 GCC53=1
 
 build_script:
-- cmd: mingw32-make.exe %SRB2_MFLAGS% SDL=1 clean
-- cmd: mingw32-make.exe %SRB2_MFLAGS% SDL=1 ERRORMODE=1
+- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean
+- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1
 
 after_build:
+- ccache -s
 - cmd: git rev-parse --short %APPVEYOR_REPO_COMMIT%>%TMP%/gitshort.txt
 - cmd: set /P GITSHORT=<%TMP%/gitshort.txt
 - set BUILD_ARCHIVE=%APPVEYOR_REPO_BRANCH%-%GITSHORT%.7z