370 lines
8.4 KiB
CMake
370 lines
8.4 KiB
CMake
# PrBoom-Plus WAD creation tool
|
|
|
|
if(NOT CMAKE_CROSSCOMPILING)
|
|
add_executable(rdatawad
|
|
rd_main.c
|
|
rd_util.c
|
|
rd_util.h
|
|
rd_output.c
|
|
rd_output.h
|
|
rd_sound.c
|
|
rd_sound.h
|
|
rd_palette.c
|
|
rd_palette.h
|
|
rd_graphic.c
|
|
rd_graphic.h
|
|
)
|
|
target_include_directories(rdatawad PRIVATE ${CMAKE_BINARY_DIR})
|
|
|
|
set(CROSS_EXPORTS ${CROSS_EXPORTS} rdatawad PARENT_SCOPE)
|
|
endif()
|
|
|
|
# PrBoom-Plus internal WAD
|
|
|
|
set(PALETTE
|
|
palette.rgb
|
|
)
|
|
|
|
set(LUMPS
|
|
lumps/switches.lmp
|
|
lumps/animated.lmp
|
|
lumps/crbrick.lmp
|
|
lumps/crtan.lmp
|
|
lumps/crgray.lmp
|
|
lumps/crgreen.lmp
|
|
lumps/crbrown.lmp
|
|
lumps/crgold.lmp
|
|
lumps/crred.lmp
|
|
lumps/crblue.lmp
|
|
lumps/crblue2.lmp
|
|
lumps/crorange.lmp
|
|
lumps/cryellow.lmp
|
|
lumps/crblack.lmp
|
|
lumps/crpurple.lmp
|
|
lumps/crwhite.lmp
|
|
)
|
|
|
|
set(COLORMAPS
|
|
lumps/watermap.lmp
|
|
)
|
|
|
|
set(TABLES
|
|
lumps/sinetabl.lmp
|
|
lumps/tangtabl.lmp
|
|
lumps/tantoang.lmp
|
|
lumps/gammatbl.lmp
|
|
lumps/chexdeh.lmp
|
|
lumps/bfgbex.lmp
|
|
lumps/nervebex.lmp
|
|
lumps/glshadow.lmp
|
|
lumps/glfp.lmp
|
|
lumps/glvp.lmp
|
|
lumps/-prbhud-.lmp
|
|
lumps/m_ammo.lmp
|
|
lumps/m_armour.lmp
|
|
lumps/m_arrow.lmp
|
|
lumps/m_health.lmp
|
|
lumps/m_key.lmp
|
|
lumps/m_normal.lmp
|
|
lumps/m_shadow.lmp
|
|
lumps/m_power.lmp
|
|
lumps/m_weap.lmp
|
|
lumps/m_mark.lmp
|
|
)
|
|
|
|
set(SOUNDS
|
|
sounds/dsdgsit.wav
|
|
sounds/dsdgatk.wav
|
|
sounds/dsdgact.wav
|
|
sounds/dsdgdth.wav
|
|
sounds/dsdgpain.wav
|
|
)
|
|
|
|
set(GRAPHICS
|
|
graphics/dig0.ppm
|
|
graphics/dig1.ppm
|
|
graphics/dig2.ppm
|
|
graphics/dig3.ppm
|
|
graphics/dig4.ppm
|
|
graphics/dig5.ppm
|
|
graphics/dig6.ppm
|
|
graphics/dig7.ppm
|
|
graphics/dig8.ppm
|
|
graphics/dig9.ppm
|
|
graphics/diga.ppm
|
|
graphics/digb.ppm
|
|
graphics/digc.ppm
|
|
graphics/digd.ppm
|
|
graphics/dige.ppm
|
|
graphics/digf.ppm
|
|
graphics/digg.ppm
|
|
graphics/digh.ppm
|
|
graphics/digi.ppm
|
|
graphics/digj.ppm
|
|
graphics/digk.ppm
|
|
graphics/digl.ppm
|
|
graphics/digm.ppm
|
|
graphics/dign.ppm
|
|
graphics/digo.ppm
|
|
graphics/digp.ppm
|
|
graphics/digq.ppm
|
|
graphics/digr.ppm
|
|
graphics/digs.ppm
|
|
graphics/digt.ppm
|
|
graphics/digu.ppm
|
|
graphics/digv.ppm
|
|
graphics/digw.ppm
|
|
graphics/digx.ppm
|
|
graphics/digy.ppm
|
|
graphics/digz.ppm
|
|
graphics/dig45.ppm
|
|
graphics/dig46.ppm
|
|
graphics/dig47.ppm
|
|
graphics/dig58.ppm
|
|
graphics/dig91.ppm
|
|
graphics/dig93.ppm
|
|
graphics/stbr123.ppm
|
|
graphics/stbr124.ppm
|
|
graphics/stbr125.ppm
|
|
graphics/stbr126.ppm
|
|
graphics/stbr127.ppm
|
|
graphics/boxul.ppm
|
|
graphics/boxuc.ppm
|
|
graphics/boxur.ppm
|
|
graphics/boxcl.ppm
|
|
graphics/boxcc.ppm
|
|
graphics/boxcr.ppm
|
|
graphics/boxll.ppm
|
|
graphics/boxlc.ppm
|
|
graphics/boxlr.ppm
|
|
graphics/stkeys6.ppm
|
|
graphics/stkeys7.ppm
|
|
graphics/stkeys8.ppm
|
|
graphics/stcfn096.ppm
|
|
graphics/m_butt1.ppm
|
|
graphics/m_butt2.ppm
|
|
graphics/m_colors.ppm
|
|
graphics/m_palno.ppm
|
|
graphics/m_palsel.ppm
|
|
graphics/m_vbox.ppm
|
|
graphics/cross1.ppm
|
|
graphics/cross2.ppm
|
|
graphics/cross3.ppm
|
|
)
|
|
|
|
set(FLATS
|
|
flats/-n0_tex-.ppm
|
|
)
|
|
|
|
set(SPRITES
|
|
sprites/tnt1a0.ppm
|
|
)
|
|
set(SPRITEP "0,0,sprites/tnt1a0.ppm")
|
|
|
|
set(SPRITES
|
|
${SPRITES}
|
|
sprites/dogsa1.ppm
|
|
sprites/dogsa2.ppm
|
|
sprites/dogsa3.ppm
|
|
sprites/dogsa4.ppm
|
|
sprites/dogsa5.ppm
|
|
sprites/dogsa6.ppm
|
|
sprites/dogsa7.ppm
|
|
sprites/dogsa8.ppm
|
|
sprites/dogsb1.ppm
|
|
sprites/dogsb2.ppm
|
|
sprites/dogsb3.ppm
|
|
sprites/dogsb4.ppm
|
|
sprites/dogsb5.ppm
|
|
sprites/dogsb6.ppm
|
|
sprites/dogsb7.ppm
|
|
sprites/dogsb8.ppm
|
|
sprites/dogsc1.ppm
|
|
sprites/dogsc2.ppm
|
|
sprites/dogsc3.ppm
|
|
sprites/dogsc4.ppm
|
|
sprites/dogsc5.ppm
|
|
sprites/dogsc6.ppm
|
|
sprites/dogsc7.ppm
|
|
sprites/dogsc8.ppm
|
|
sprites/dogsd1.ppm
|
|
sprites/dogsd2.ppm
|
|
sprites/dogsd3.ppm
|
|
sprites/dogsd4.ppm
|
|
sprites/dogsd5.ppm
|
|
sprites/dogsd6.ppm
|
|
sprites/dogsd7.ppm
|
|
sprites/dogsd8.ppm
|
|
sprites/dogse1.ppm
|
|
sprites/dogse2.ppm
|
|
sprites/dogse3.ppm
|
|
sprites/dogse4.ppm
|
|
sprites/dogse5.ppm
|
|
sprites/dogse6.ppm
|
|
sprites/dogse7.ppm
|
|
sprites/dogse8.ppm
|
|
sprites/dogsf1.ppm
|
|
sprites/dogsf2.ppm
|
|
sprites/dogsf3.ppm
|
|
sprites/dogsf4.ppm
|
|
sprites/dogsf5.ppm
|
|
sprites/dogsf6.ppm
|
|
sprites/dogsf7.ppm
|
|
sprites/dogsf8.ppm
|
|
sprites/dogsg1.ppm
|
|
sprites/dogsg2.ppm
|
|
sprites/dogsg3.ppm
|
|
sprites/dogsg4.ppm
|
|
sprites/dogsg5.ppm
|
|
sprites/dogsg6.ppm
|
|
sprites/dogsg7.ppm
|
|
sprites/dogsg8.ppm
|
|
sprites/dogsh1.ppm
|
|
sprites/dogsh2.ppm
|
|
sprites/dogsh3.ppm
|
|
sprites/dogsh4.ppm
|
|
sprites/dogsh5.ppm
|
|
sprites/dogsh6.ppm
|
|
sprites/dogsh7.ppm
|
|
sprites/dogsh8.ppm
|
|
sprites/dogsi0.ppm
|
|
sprites/dogsj0.ppm
|
|
sprites/dogsk0.ppm
|
|
sprites/dogsl0.ppm
|
|
sprites/dogsm0.ppm
|
|
sprites/dogsn0.ppm
|
|
)
|
|
set(SPRITEP
|
|
${SPRITEP}
|
|
"33,66,sprites/dogsa1.ppm"
|
|
"33,66,sprites/dogsa2.ppm"
|
|
"33,66,sprites/dogsa3.ppm"
|
|
"33,66,sprites/dogsa4.ppm"
|
|
"33,66,sprites/dogsa5.ppm"
|
|
"33,66,sprites/dogsa6.ppm"
|
|
"33,66,sprites/dogsa7.ppm"
|
|
"33,66,sprites/dogsa8.ppm"
|
|
"33,66,sprites/dogsb1.ppm"
|
|
"33,66,sprites/dogsb2.ppm"
|
|
"33,66,sprites/dogsb3.ppm"
|
|
"33,66,sprites/dogsb4.ppm"
|
|
"33,66,sprites/dogsb5.ppm"
|
|
"33,66,sprites/dogsb6.ppm"
|
|
"33,66,sprites/dogsb7.ppm"
|
|
"33,66,sprites/dogsb8.ppm"
|
|
"33,66,sprites/dogsc1.ppm"
|
|
"33,66,sprites/dogsc2.ppm"
|
|
"33,66,sprites/dogsc3.ppm"
|
|
"33,66,sprites/dogsc4.ppm"
|
|
"33,66,sprites/dogsc5.ppm"
|
|
"33,66,sprites/dogsc6.ppm"
|
|
"33,66,sprites/dogsc7.ppm"
|
|
"33,66,sprites/dogsc8.ppm"
|
|
"33,66,sprites/dogsd1.ppm"
|
|
"33,66,sprites/dogsd2.ppm"
|
|
"33,66,sprites/dogsd3.ppm"
|
|
"33,66,sprites/dogsd4.ppm"
|
|
"33,66,sprites/dogsd5.ppm"
|
|
"33,66,sprites/dogsd6.ppm"
|
|
"33,66,sprites/dogsd7.ppm"
|
|
"33,66,sprites/dogsd8.ppm"
|
|
"33,66,sprites/dogse1.ppm"
|
|
"33,66,sprites/dogse2.ppm"
|
|
"33,66,sprites/dogse3.ppm"
|
|
"33,66,sprites/dogse4.ppm"
|
|
"33,66,sprites/dogse5.ppm"
|
|
"33,66,sprites/dogse6.ppm"
|
|
"33,66,sprites/dogse7.ppm"
|
|
"33,66,sprites/dogse8.ppm"
|
|
"33,66,sprites/dogsf1.ppm"
|
|
"33,66,sprites/dogsf2.ppm"
|
|
"33,66,sprites/dogsf3.ppm"
|
|
"33,66,sprites/dogsf4.ppm"
|
|
"33,66,sprites/dogsf5.ppm"
|
|
"33,66,sprites/dogsf6.ppm"
|
|
"33,66,sprites/dogsf7.ppm"
|
|
"33,66,sprites/dogsf8.ppm"
|
|
"33,66,sprites/dogsg1.ppm"
|
|
"33,66,sprites/dogsg2.ppm"
|
|
"33,66,sprites/dogsg3.ppm"
|
|
"33,66,sprites/dogsg4.ppm"
|
|
"33,66,sprites/dogsg5.ppm"
|
|
"33,66,sprites/dogsg6.ppm"
|
|
"33,66,sprites/dogsg7.ppm"
|
|
"33,66,sprites/dogsg8.ppm"
|
|
"33,66,sprites/dogsh1.ppm"
|
|
"33,66,sprites/dogsh2.ppm"
|
|
"33,66,sprites/dogsh3.ppm"
|
|
"33,66,sprites/dogsh4.ppm"
|
|
"33,66,sprites/dogsh5.ppm"
|
|
"33,66,sprites/dogsh6.ppm"
|
|
"33,66,sprites/dogsh7.ppm"
|
|
"33,66,sprites/dogsh8.ppm"
|
|
"33,67,sprites/dogsi0.ppm"
|
|
"33,67,sprites/dogsj0.ppm"
|
|
"33,67,sprites/dogsk0.ppm"
|
|
"33,67,sprites/dogsl0.ppm"
|
|
"33,68,sprites/dogsm0.ppm"
|
|
"33,69,sprites/dogsn0.ppm"
|
|
)
|
|
|
|
set(SPRITES
|
|
${SPRITES}
|
|
sprites/pls1a0.ppm
|
|
sprites/pls1b0.ppm
|
|
sprites/pls1c0.ppm
|
|
sprites/pls1d0.ppm
|
|
sprites/pls1e0.ppm
|
|
sprites/pls1f0.ppm
|
|
sprites/pls1g0.ppm
|
|
sprites/pls2a0.ppm
|
|
sprites/pls2b0.ppm
|
|
sprites/pls2c0.ppm
|
|
sprites/pls2d0.ppm
|
|
sprites/pls2e0.ppm
|
|
)
|
|
set(SPRITEP
|
|
${SPRITEP}
|
|
"9,11,sprites/pls1a0.ppm"
|
|
"8,11,sprites/pls1b0.ppm"
|
|
"9,11,sprites/pls1c0.ppm"
|
|
"8,11,sprites/pls1d0.ppm"
|
|
"16,27,sprites/pls1e0.ppm"
|
|
"16,27,sprites/pls1f0.ppm"
|
|
"18,27,sprites/pls1g0.ppm"
|
|
"9,11,sprites/pls2a0.ppm"
|
|
"8,13,sprites/pls2b0.ppm"
|
|
"11,18,sprites/pls2c0.ppm"
|
|
"16,27,sprites/pls2d0.ppm"
|
|
"18,27,sprites/pls2e0.ppm"
|
|
)
|
|
|
|
set(WAD_SRC
|
|
${PALETTE}
|
|
${LUMPS}
|
|
${COLORMAPS}
|
|
${TABLES}
|
|
${SOUNDS}
|
|
${GRAPHICS}
|
|
${FLATS}
|
|
${SPRITES}
|
|
)
|
|
|
|
set(WAD_CMDLINE
|
|
-palette ${PALETTE}
|
|
-lumps ${LUMPS}
|
|
-marker C_START -lumps ${COLORMAPS} -marker C_END
|
|
-marker B_START -lumps ${TABLES} -marker B_END
|
|
-sounds ${SOUNDS}
|
|
-graphics ${GRAPHICS}
|
|
-marker FF_START -flats ${FLATS} -marker FF_END
|
|
-marker SS_START -sprites ${SPRITEP} -marker SS_END
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT "${WAD_DATA_PATH}"
|
|
COMMAND rdatawad -I "${CMAKE_CURRENT_SOURCE_DIR}" ${WAD_CMDLINE} -o "${WAD_DATA_PATH}"
|
|
DEPENDS rdatawad ${WAD_SRC}
|
|
)
|
|
add_custom_target(prboomwad DEPENDS ${WAD_DATA_PATH})
|
|
install(FILES ${WAD_DATA_PATH} DESTINATION ${PRBOOMDATADIR} COMPONENT "PrBoom-Plus internal WAD")
|