--- CMakeLists.txt
+++ CMakeLists.txt
@@ -34,9 +34,9 @@ option(CMAKE_FIND_PACKAGE_PREFER_CONFIG
 option(ENABLE_SDL2_NET "Enable SDL2_net" On)
 option(ENABLE_SDL2_MIXER "Enable SDL2_mixer" On)
 
-find_package(SDL2 2.0.14)
+find_package(SDL2 2.0.3)
 if(ENABLE_SDL2_MIXER)
-    find_package(SDL2_mixer 2.0.2)
+    find_package(SDL2_mixer 2.0.1)
 else()
     add_compile_definitions(DISABLE_SDL2MIXER=1)
 endif()
@@ -60,7 +60,7 @@ if(PNG_FOUND)
 endif()
 
 # Check for FluidSynth.
-find_package(FluidSynth 2.2.0)
+find_package(FluidSynth 2.0.0)
 if(FluidSynth_FOUND AND ENABLE_SDL2_MIXER)
     set(HAVE_FLUIDSYNTH TRUE)
 endif()
--- opl/CMakeLists.txt
+++ opl/CMakeLists.txt
@@ -11,8 +11,10 @@ add_library(opl STATIC
             opl3.c          opl3.h)
 target_include_directories(opl
                            INTERFACE "."
-                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries(opl SDL2::SDL2)
+                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../"
+                           ${SDL2_INCLUDE_DIR})
+target_link_libraries(opl ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(opl SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(opl ${SDL2_MIXER_LIBRARY})
 endif()
--- pcsound/CMakeLists.txt
+++ pcsound/CMakeLists.txt
@@ -7,8 +7,10 @@ add_library(pcsound STATIC
                             pcsound_internal.h)
 target_include_directories(pcsound
                            INTERFACE "."
-                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries(pcsound SDL2::SDL2)
+                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../"
+                           ${SDL2_INCLUDE_DIR})
+target_link_libraries(pcsound ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(pcsound SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_INCLUDE_DIR})
+    target_link_libraries(pcsound ${SDL2_MIXER_LIBRARY})
 endif()
--- src/CMakeLists.txt
+++ src/CMakeLists.txt
@@ -31,10 +31,12 @@ set(DEDSERV_FILES
 
 add_executable("${PROGRAM_PREFIX}server" WIN32 ${COMMON_SOURCE_FILES} ${DEDSERV_FILES})
 target_include_directories("${PROGRAM_PREFIX}server"
-                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries("${PROGRAM_PREFIX}server" SDL2::SDL2main SDL2::SDL2)
+                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../"
+                           ${SDL2_INCLUDE_DIR})
+target_link_libraries("${PROGRAM_PREFIX}server" ${SDL2_MAIN_LIBRARY} ${SDL2_LIBRARY})
 if(ENABLE_SDL2_NET)
-    target_link_libraries("${PROGRAM_PREFIX}server" SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries("${PROGRAM_PREFIX}server" ${SDL2_NET_LIBRARY})
 endif()
 
 # Source files used by the game binaries (chocolate-doom, etc.)
@@ -126,21 +128,21 @@ set(DEHACKED_SOURCE_FILES
 set(SOURCE_FILES ${COMMON_SOURCE_FILES} ${GAME_SOURCE_FILES})
 set(SOURCE_FILES_WITH_DEH ${SOURCE_FILES} ${DEHACKED_SOURCE_FILES})
 
-set(EXTRA_LIBS SDL2::SDL2main SDL2::SDL2 textscreen pcsound opl)
+set(EXTRA_LIBS ${SDL2_MAIN_LIBRARY} ${SDL2_LIBRARY} textscreen pcsound opl)
 if(ENABLE_SDL2_MIXER)
-    list(APPEND EXTRA_LIBS SDL2_mixer::SDL2_mixer)
+    list(APPEND EXTRA_LIBS ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    list(APPEND EXTRA_LIBS SDL2_net::SDL2_net)
+    list(APPEND EXTRA_LIBS ${SDL2_NET_LIBRARY})
 endif()
 if(SampleRate_FOUND)
-    list(APPEND EXTRA_LIBS SampleRate::samplerate)
+    list(APPEND EXTRA_LIBS ${SAMPLERATE_LIBRARY})
 endif()
 if(PNG_FOUND)
-    list(APPEND EXTRA_LIBS PNG::PNG)
+    list(APPEND EXTRA_LIBS ${PNG_LIBRARY_RELEASE})
 endif()
 if(FluidSynth_FOUND)
-    list(APPEND EXTRA_LIBS FluidSynth::libfluidsynth)
+    list(APPEND EXTRA_LIBS ${FluidSynth_LIBRARIES})
 endif()
 if(WIN32)
 	list(APPEND EXTRA_LIBS winmm)
@@ -226,13 +228,16 @@ else()
 endif()
 
 target_include_directories("${PROGRAM_PREFIX}setup"
-                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries("${PROGRAM_PREFIX}setup" SDL2::SDL2main SDL2::SDL2 setup textscreen)
+                           PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../"
+                           ${SDL2_INCLUDE_DIR})
+target_link_libraries("${PROGRAM_PREFIX}setup" ${SDL2_MAIN_LIBRARY} ${SDL2_LIBRARY} setup textscreen)
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries("${PROGRAM_PREFIX}setup" SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries("${PROGRAM_PREFIX}setup" ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    target_link_libraries("${PROGRAM_PREFIX}setup" SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries("${PROGRAM_PREFIX}setup" ${SDL2_NET_LIBRARY})
 endif()
 if(WIN32)
     target_link_libraries("${PROGRAM_PREFIX}setup" winmm)
@@ -245,10 +250,10 @@ endif()
 
 add_executable(midiread midifile.c z_native.c i_system.c m_argv.c m_misc.c d_iwad.c deh_str.c m_config.c)
 target_compile_definitions(midiread PRIVATE "-DTEST")
-target_include_directories(midiread PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries(midiread SDL2::SDL2)
+target_include_directories(midiread PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(midiread ${SDL2_LIBRARY})
 
 add_executable(mus2mid mus2mid.c memio.c z_native.c i_system.c m_argv.c m_misc.c d_iwad.c deh_str.c m_config.c)
 target_compile_definitions(mus2mid PRIVATE "-DSTANDALONE")
-target_include_directories(mus2mid PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
-target_link_libraries(mus2mid SDL2::SDL2)
+target_include_directories(mus2mid PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(mus2mid ${SDL2_LIBRARY})
--- src/doom/CMakeLists.txt
+++ src/doom/CMakeLists.txt
@@ -67,11 +67,13 @@ add_library(doom STATIC
             st_stuff.c      st_stuff.h
             wi_stuff.c      wi_stuff.h)
 
-target_include_directories(doom PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../")
-target_link_libraries(doom SDL2::SDL2)
+target_include_directories(doom PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(doom ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(doom SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(doom ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    target_link_libraries(doom SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries(doom ${SDL2_NET_LIBRARY})
 endif()
--- src/heretic/CMakeLists.txt
+++ src/heretic/CMakeLists.txt
@@ -53,11 +53,13 @@ add_library(heretic STATIC
             sounds.c            sounds.h
             s_sound.c           s_sound.h)
 
-target_include_directories(heretic PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../")
-target_link_libraries(heretic textscreen SDL2::SDL2)
+target_include_directories(heretic PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(heretic textscreen ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(heretic SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    target_link_libraries(heretic SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_NET_LIBRARY})
 endif()
--- src/hexen/CMakeLists.txt
+++ src/hexen/CMakeLists.txt
@@ -55,11 +55,13 @@ add_library(hexen STATIC
                                 textdefs.h
                                 xddefs.h)
 
-target_include_directories(hexen PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../")
-target_link_libraries(hexen SDL2::SDL2)
+target_include_directories(hexen PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(hexen ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(hexen SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    target_link_libraries(hexen SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_NET_LIBRARY})
 endif()
--- src/setup/CMakeLists.txt
+++ src/setup/CMakeLists.txt
@@ -14,8 +14,9 @@ add_library(setup STATIC
             txt_keyinput.c      txt_keyinput.h
             txt_mouseinput.c    txt_mouseinput.h)
 
-target_include_directories(setup PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../")
-target_link_libraries(setup textscreen SDL2::SDL2)
+target_include_directories(setup PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(setup textscreen ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(setup SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_MIXER_LIBRARY})
 endif()
--- src/strife/CMakeLists.txt
+++ src/strife/CMakeLists.txt
@@ -69,11 +69,13 @@ set(STRIFE_SOURCES
 
 add_library(strife STATIC ${STRIFE_SOURCES})
 
-target_include_directories(strife PRIVATE "../" "../../win32/" "${CMAKE_CURRENT_BINARY_DIR}/../../")
-target_link_libraries(strife textscreen SDL2::SDL2)
+target_include_directories(strife PRIVATE "../" "../../win32/" "${CMAKE_CURRENT_BINARY_DIR}/../../" ${SDL2_INCLUDE_DIR})
+target_link_libraries(strife textscreen ${SDL2_LIBRARY})
 if(ENABLE_SDL2_MIXER)
-    target_link_libraries(strife SDL2_mixer::SDL2_mixer)
+    target_include_directories(${SDL2_MIXER_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_MIXER_LIBRARY})
 endif()
 if(ENABLE_SDL2_NET)
-    target_link_libraries(strife SDL2_net::SDL2_net)
+    target_include_directories(${SDL2_NET_INCLUDE_DIR})
+    target_link_libraries(heretic ${SDL2_NET_LIBRARY})
 endif()
--- textscreen/CMakeLists.txt
+++ textscreen/CMakeLists.txt
@@ -24,5 +24,6 @@ add_library(textscreen STATIC
             txt_window_action.c txt_window_action.h)
 target_include_directories(textscreen
                            INTERFACE "."
-                           PRIVATE "../src/")
-target_link_libraries(textscreen m SDL2::SDL2)
+                           PRIVATE "../src/"
+                           ${SDL2_INCLUDE_DIR})
+target_link_libraries(textscreen m ${SDL2_LIBRARY})
