set(ODAWAD_SOURCES
  wadinfo.txt
  bootstrap/doom2.wad
  flats/-noflat-.gif
  graphics/bslide.gif
  graphics/conback.gif
  graphics/conchars.gif
  graphics/cslide.gif
  graphics/dig0.gif
  graphics/dig1.gif
  graphics/dig2.gif
  graphics/dig3.gif
  graphics/dig4.gif
  graphics/dig5.gif
  graphics/dig6.gif
  graphics/dig7.gif
  graphics/dig8.gif
  graphics/dig9.gif
  graphics/diga.gif
  graphics/digb.gif
  graphics/digc.gif
  graphics/digd.gif
  graphics/dige.gif
  graphics/digf.gif
  graphics/digg.gif
  graphics/digh.gif
  graphics/digi.gif
  graphics/digj.gif
  graphics/digk.gif
  graphics/digl.gif
  graphics/digm.gif
  graphics/dign.gif
  graphics/digo.gif
  graphics/digp.gif
  graphics/digq.gif
  graphics/digr.gif
  graphics/digs.gif
  graphics/digt.gif
  graphics/digu.gif
  graphics/digv.gif
  graphics/digw.gif
  graphics/digx.gif
  graphics/digy.gif
  graphics/digz.gif
  graphics/dig33.gif
  graphics/dig34.gif
  graphics/dig35.gif
  graphics/dig36.gif
  graphics/dig37.gif
  graphics/dig38.gif
  graphics/dig39.gif
  graphics/dig40.gif
  graphics/dig41.gif
  graphics/dig42.gif
  graphics/dig43.gif
  graphics/dig44.gif
  graphics/dig45.gif
  graphics/dig46.gif
  graphics/dig47.gif
  graphics/dig58.gif
  graphics/dig59.gif
  graphics/dig60.gif
  graphics/dig61.gif
  graphics/dig62.gif
  graphics/dig63.gif
  graphics/dig64.gif
  graphics/dig91.gif
  graphics/dig92.gif
  graphics/dig93.gif
  graphics/dig94.gif
  graphics/dig95.gif
  graphics/dig96.gif
  graphics/dig123.gif
  graphics/dig124.gif
  graphics/dig125.gif
  graphics/dig126.gif
  graphics/flagic2b.gif
  graphics/flagic2g.gif
  graphics/flagic2r.gif
  graphics/flagic3b.gif
  graphics/flagic3g.gif
  graphics/flagic3r.gif
  graphics/flagic4b.gif
  graphics/flagic4g.gif
  graphics/flagic4r.gif
  graphics/flagic5b.gif
  graphics/flagic5g.gif
  graphics/flagic5r.gif
  graphics/flagit.gif
  graphics/flagito.gif
  graphics/flagitd.gif
  graphics/fontb01.gif
  graphics/fontb02.gif
  graphics/fontb03.gif
  graphics/fontb04.gif
  graphics/fontb05.gif
  graphics/fontb06.gif
  graphics/fontb07.gif
  graphics/fontb08.gif
  graphics/fontb09.gif
  graphics/fontb10.gif
  graphics/fontb11.gif
  graphics/fontb12.gif
  graphics/fontb13.gif
  graphics/fontb14.gif
  graphics/fontb15.gif
  graphics/fontb16.gif
  graphics/fontb17.gif
  graphics/fontb18.gif
  graphics/fontb19.gif
  graphics/fontb20.gif
  graphics/fontb21.gif
  graphics/fontb22.gif
  graphics/fontb23.gif
  graphics/fontb24.gif
  graphics/fontb25.gif
  graphics/fontb26.gif
  graphics/fontb27.gif
  graphics/fontb28.gif
  graphics/fontb29.gif
  graphics/fontb30.gif
  graphics/fontb31.gif
  graphics/fontb32.gif
  graphics/fontb33.gif
  graphics/fontb34.gif
  graphics/fontb35.gif
  graphics/fontb36.gif
  graphics/fontb37.gif
  graphics/fontb38.gif
  graphics/fontb39.gif
  graphics/fontb40.gif
  graphics/fontb41.gif
  graphics/fontb42.gif
  graphics/fontb43.gif
  graphics/fontb44.gif
  graphics/fontb45.gif
  graphics/fontb46.gif
  graphics/fontb47.gif
  graphics/fontb48.gif
  graphics/fontb49.gif
  graphics/fontb50.gif
  graphics/fontb51.gif
  graphics/fontb52.gif
  graphics/fontb53.gif
  graphics/fontb54.gif
  graphics/fontb55.gif
  graphics/fontb56.gif
  graphics/fontb57.gif
  graphics/fontb58.gif
  graphics/fontb59.gif
  graphics/fontb60.gif
  graphics/fontb61.gif
  graphics/fontb62.gif
  graphics/fontb63.gif
  graphics/gslide.gif
  graphics/litlcurs.gif
  graphics/litldn.gif
  graphics/litlup.gif
  graphics/lslide.gif
  graphics/m_automp.gif
  graphics/m_compat.gif
  graphics/m_contro.gif
  graphics/m_gmplay.gif
  graphics/m_joystk.gif
  graphics/m_mess.gif
  graphics/m_mouset.gif
  graphics/m_netwrk.gif
  graphics/m_pbox.gif
  graphics/m_psetup.gif
  graphics/m_psttl.gif
  graphics/m_sound.gif
  graphics/m_video.gif
  graphics/m_vidmod.gif
  graphics/m_weapon.gif
  graphics/mslide.gif
  graphics/net.gif
  graphics/odabarce.gif
  graphics/odabarcf.gif
  graphics/odabarcl.gif
  graphics/odabarcr.gif
  graphics/odabarle.gif
  graphics/odabarlf.gif
  graphics/odabarre.gif
  graphics/odabarrf.gif
  graphics/odaliveb.gif
  graphics/odaliveg.gif
  graphics/odaliver.gif
  graphics/odamod0.gif
  graphics/odamod1.gif
  graphics/odamod2.gif
  graphics/odamod3.gif
  graphics/odamod4.gif
  graphics/odamod5.gif
  graphics/odamod6.gif
  graphics/odamod7.gif
  graphics/odamod8.gif
  graphics/odamod9.gif
  graphics/odamod10.gif
  graphics/odamod11.gif
  graphics/odamod12.gif
  graphics/odamod13.gif
  graphics/odamod14.gif
  graphics/odamod15.gif
  graphics/odamod16.gif
  graphics/odamod17.gif
  graphics/odamod18.gif
  graphics/odamod19.gif
  graphics/odamod20.gif
  graphics/odamod21.gif
  graphics/odamod22.gif
  graphics/odamod23.gif
  graphics/odamod24.gif
  graphics/odamod25.gif
  graphics/odamod26.gif
  graphics/oslide.gif
  graphics/rslide.gif
  graphics/sbline.gif
  graphics/stfbany.gif
  graphics/stflags.gif
  graphics/stkeys6.gif
  graphics/stkeys7.gif
  graphics/stkeys8.gif
  graphics/stpbany.gif
  graphics/xhair1.gif
  graphics/xhair2.gif
  graphics/xhair3.gif
  graphics/xhair4.gif
  graphics/xhair5.gif
  graphics/xhair6.gif
  graphics/xhair7.gif
  graphics/xhair8.gif
  lumps/animated.lmp
  lumps/dscefd.lmp
  lumps/dscefm.lmp
  lumps/dscefr.lmp
  lumps/dsceft.lmp
  lumps/dsces.lmp
  lumps/dscyfd.lmp
  lumps/dscyfm.lmp
  lumps/dscyfr.lmp
  lumps/dscyft.lmp
  lumps/dscys.lmp
  lumps/dsempty.lmp
  lumps/dspljoin.lmp
  lumps/dsplpart.lmp
  lumps/dsquake.lmp
  lumps/dsradio2.lmp
  lumps/dssecret.lmp
  lumps/dshboss.lmp
  lumps/dsplrais.lmp
  lumps/dvbfd.lmp
  lumps/dvbfm.lmp
  lumps/dvbfr.lmp
  lumps/dvbft.lmp
  lumps/dvbs.lmp
  lumps/dvefd.lmp
  lumps/dvefm.lmp
  lumps/dvefr.lmp
  lumps/dveft.lmp
  lumps/dves.lmp
  lumps/dvrfd.lmp
  lumps/dvrfm.lmp
  lumps/dvrfr.lmp
  lumps/dvrft.lmp
  lumps/dvrs.lmp
  lumps/dvyfd.lmp
  lumps/dvyfm.lmp
  lumps/dvyfr.lmp
  lumps/dvyft.lmp
  lumps/dvys.lmp
  lumps/language.lmp
  lumps/railgf1.lmp
  lumps/s_skin.lmp
  lumps/sndcurve.lmp
  lumps/sndinfo.lmp
  lumps/sndseq.lmp
  lumps/spark1.lmp
  lumps/spark2.lmp
  lumps/spark3.lmp
  lumps/switches.lmp
  lumps/x11r6rgb.lmp
  sprites/bcara0.gif
  sprites/bdwna0.gif
  sprites/bflga0.gif
  sprites/bflgb0.gif
  sprites/bflgc0.gif
  sprites/bflgd0.gif
  sprites/bflge0.gif
  sprites/bflgf0.gif
  sprites/bflgg0.gif
  sprites/bflgh0.gif
  sprites/bsoka0.gif
  sprites/gcara0.gif
  sprites/gdwna0.gif
  sprites/gflga0.gif
  sprites/gflgb0.gif
  sprites/gflgc0.gif
  sprites/gflgd0.gif
  sprites/gflge0.gif
  sprites/gflgf0.gif
  sprites/gflgg0.gif
  sprites/gflgh0.gif
  sprites/gib0a0.gif
  sprites/gib1a0.gif
  sprites/gib2a0.gif
  sprites/gib3a0.gif
  sprites/gib4a0.gif
  sprites/gib5a0.gif
  sprites/gib6a0.gif
  sprites/gib7a0.gif
  sprites/gsoka0.gif
  sprites/rcara0.gif
  sprites/rdwna0.gif
  sprites/rflga0.gif
  sprites/rflgb0.gif
  sprites/rflgc0.gif
  sprites/rflgd0.gif
  sprites/rflge0.gif
  sprites/rflgf0.gif
  sprites/rflgg0.gif
  sprites/rflgh0.gif
  sprites/rsoka0.gif
  sprites/tlgla0.gif
  sprites/tlglb0.gif
  sprites/tlglc0.gif
  sprites/tlgld0.gif
  sprites/tlgle0.gif
  sprites/tnt1a0.gif
  sprites/unkna0.gif
  sprites/wpbfa0.gif
  sprites/wpbfb0.gif
  sprites/wpgfa0.gif
  sprites/wpgfb0.gif
  sprites/wprfa0.gif
  sprites/wprfb0.gif)

if(USE_INTERNAL_DEUTEX)
  if(WIN32)
    # In our case, our "interal" DeuTex is downloaded from github.
    file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/deutex")
    file(DOWNLOAD
      "https://github.com/Doom-Utils/deutex/releases/download/v5.2.2/deutex-5.2.2_w32.zip"
      "${CMAKE_CURRENT_BINARY_DIR}/deutex-5.2.2_w32.zip"
      EXPECTED_HASH SHA256=6ac7a70811d1a7488682d0acf6abe7e0f25ce58344708815494fe550cad9931e)
    execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf
      "${CMAKE_CURRENT_BINARY_DIR}/deutex-5.2.2_w32.zip"
      WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/deutex")
    find_program(DEUTEX_EXECUTABLE deutex
      PATHS "${CMAKE_CURRENT_BINARY_DIR}/deutex"
      NO_DEFAULT_PATH)  
  endif()
else()
  find_program(DEUTEX_EXECUTABLE deutex
    PATHS "/usr/games") # Debian installation location
endif()

# If DeuTex is available, use it to build the WAD.
if(DEUTEX_EXECUTABLE)
  message(STATUS "Found DeuTex: ${DEUTEX_EXECUTABLE}")

  add_custom_command(
    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/odamex.wad"
    COMMAND "${DEUTEX_EXECUTABLE}" -overwrite -rgb 0 255 255 -doom2 bootstrap -build wadinfo.txt "${CMAKE_CURRENT_BINARY_DIR}/odamex.wad"
    DEPENDS ${ODAWAD_SOURCES}
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
    VERBATIM)

  add_custom_target(odawad ALL
    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/odamex.wad")

  if(WIN32)
    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/odamex.wad"
      DESTINATION .
      COMPONENT common)
  else()
    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/odamex.wad"
      DESTINATION "${CMAKE_INSTALL_DATADIR}/odamex"
      COMPONENT common)
  endif()
else()
  message(WARNING "Could NOT find DeuTex, ODAMEX.WAD will not be built.")
endif()
