Split res-related CMake functions into their own file
This commit is contained in:
parent
a30aee8b90
commit
7bc21417c5
|
@ -1,112 +1,4 @@
|
|||
function(sprite)
|
||||
set(options "")
|
||||
set(multiValueArgs "")
|
||||
set(oneValueArgs NAME X Y TRANSPARENT BPP CX CY)
|
||||
cmake_parse_arguments(SPRITE "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(PS1_BUILD)
|
||||
if(${SPRITE_TRANSPARENT})
|
||||
set(trans -mpink)
|
||||
endif()
|
||||
|
||||
if(NOT "${SPRITE_BPP}" STREQUAL "16")
|
||||
set(clut "-clut=${SPRITE_CX},${SPRITE_CY}")
|
||||
endif()
|
||||
|
||||
add_custom_target(${SPRITE_NAME}_img ALL
|
||||
bmp2tim ${SPRITE_NAME}.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
${SPRITE_BPP} -org=${SPRITE_X},${SPRITE_Y} ${clut} ${trans}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SPRITE_NAME}.bmp
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME})
|
||||
add_dependencies(iso ${SPRITE_NAME}_img)
|
||||
elseif(SDL1_2_BUILD)
|
||||
if(${SPRITE_TRANSPARENT})
|
||||
set(trans "transparent=1")
|
||||
else()
|
||||
set(trans "transparent=0")
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
COMMAND ${TOOLS_PREFIX}/bin/add-header ${trans} ${SPRITE_NAME}_24.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SPRITE_NAME}_24.bmp
|
||||
VERBATIM)
|
||||
add_custom_target(${SPRITE_NAME}_img
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME})
|
||||
add_dependencies(${SPRITE_NAME}_img tools)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(sound)
|
||||
set(options "")
|
||||
set(multiValueArgs "")
|
||||
set(oneValueArgs NAME LOOP)
|
||||
cmake_parse_arguments(SOUND "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(PS1_BUILD)
|
||||
if(${SOUND_LOOP})
|
||||
set(loop -L)
|
||||
endif()
|
||||
|
||||
add_custom_target(${SOUND_NAME}_snd ALL
|
||||
wav2vag ${SOUND_NAME}.wav
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME} ${loop}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SOUND_NAME}.wav
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME})
|
||||
add_dependencies(iso ${SOUND_NAME}_snd)
|
||||
elseif(SDL1_2_BUILD)
|
||||
if(${SOUND_LOOP})
|
||||
set(loop "loop=1")
|
||||
else()
|
||||
set(loop "loop=0")
|
||||
endif()
|
||||
|
||||
# Reference: https://gist.github.com/socantre/7ee63133a0a3a08f3990
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}
|
||||
COMMAND ${TOOLS_PREFIX}/bin/add-header ${loop} ${SOUND_NAME}.wav ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SOUND_NAME}.wav
|
||||
VERBATIM)
|
||||
add_custom_target(${SOUND_NAME}_snd
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME})
|
||||
add_dependencies(${SOUND_NAME}_snd tools)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(container)
|
||||
set(options "")
|
||||
set(multiValueArgs SPRITES SOUNDS)
|
||||
set(oneValueArgs NAME)
|
||||
cmake_parse_arguments(CONTAINER "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
add_custom_command(OUTPUT ${cdroot}/${CONTAINER_NAME}.cnt
|
||||
COMMAND ${TOOLS_PREFIX}/bin/container ${CONTAINER_SPRITES} ${CONTAINER_SOUNDS}
|
||||
${cdroot}/${CONTAINER_NAME}.cnt
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
VERBATIM)
|
||||
|
||||
add_custom_target(${CONTAINER_NAME}_container
|
||||
DEPENDS ${cdroot}/${CONTAINER_NAME}.cnt)
|
||||
add_dependencies(${PROJECT_NAME} ${CONTAINER_NAME}_container)
|
||||
add_dependencies(${CONTAINER_NAME}_container tools)
|
||||
|
||||
foreach(sprite ${CONTAINER_SPRITES})
|
||||
add_dependencies(${CONTAINER_NAME}_container ${sprite}_img)
|
||||
endforeach()
|
||||
|
||||
foreach(sound ${CONTAINER_SOUNDS})
|
||||
add_dependencies(${CONTAINER_NAME}_container ${sound}_snd)
|
||||
endforeach()
|
||||
|
||||
if(PS1_BUILD)
|
||||
add_dependencies(iso ${CONTAINER_NAME}_container)
|
||||
endif()
|
||||
endfunction()
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/functions.cmake)
|
||||
|
||||
sprite(NAME worker_n
|
||||
X 384
|
||||
|
|
|
@ -0,0 +1,109 @@
|
|||
function(sprite)
|
||||
set(options "")
|
||||
set(multiValueArgs "")
|
||||
set(oneValueArgs NAME X Y TRANSPARENT BPP CX CY)
|
||||
cmake_parse_arguments(SPRITE "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(PS1_BUILD)
|
||||
if(${SPRITE_TRANSPARENT})
|
||||
set(trans -mpink)
|
||||
endif()
|
||||
|
||||
if(NOT "${SPRITE_BPP}" STREQUAL "16")
|
||||
set(clut "-clut=${SPRITE_CX},${SPRITE_CY}")
|
||||
endif()
|
||||
|
||||
add_custom_target(${SPRITE_NAME}_img ALL
|
||||
bmp2tim ${SPRITE_NAME}.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
${SPRITE_BPP} -org=${SPRITE_X},${SPRITE_Y} ${clut} ${trans}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SPRITE_NAME}.bmp
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME})
|
||||
add_dependencies(iso ${SPRITE_NAME}_img)
|
||||
elseif(SDL1_2_BUILD)
|
||||
if(${SPRITE_TRANSPARENT})
|
||||
set(trans "transparent=1")
|
||||
else()
|
||||
set(trans "transparent=0")
|
||||
endif()
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
COMMAND ${TOOLS_PREFIX}/bin/add-header ${trans} ${SPRITE_NAME}_24.bmp ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SPRITE_NAME}_24.bmp
|
||||
VERBATIM)
|
||||
add_custom_target(${SPRITE_NAME}_img
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SPRITE_NAME})
|
||||
add_dependencies(${SPRITE_NAME}_img tools)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(sound)
|
||||
set(options "")
|
||||
set(multiValueArgs "")
|
||||
set(oneValueArgs NAME LOOP)
|
||||
cmake_parse_arguments(SOUND "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(PS1_BUILD)
|
||||
if(${SOUND_LOOP})
|
||||
set(loop -L)
|
||||
endif()
|
||||
|
||||
add_custom_target(${SOUND_NAME}_snd ALL
|
||||
wav2vag ${SOUND_NAME}.wav
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME} ${loop}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SOUND_NAME}.wav
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME})
|
||||
add_dependencies(iso ${SOUND_NAME}_snd)
|
||||
elseif(SDL1_2_BUILD)
|
||||
if(${SOUND_LOOP})
|
||||
set(loop "loop=1")
|
||||
else()
|
||||
set(loop "loop=0")
|
||||
endif()
|
||||
|
||||
# Reference: https://gist.github.com/socantre/7ee63133a0a3a08f3990
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}
|
||||
COMMAND ${TOOLS_PREFIX}/bin/add-header ${loop} ${SOUND_NAME}.wav ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${SOUND_NAME}.wav
|
||||
VERBATIM)
|
||||
add_custom_target(${SOUND_NAME}_snd
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SOUND_NAME})
|
||||
add_dependencies(${SOUND_NAME}_snd tools)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(container)
|
||||
set(options "")
|
||||
set(multiValueArgs SPRITES SOUNDS)
|
||||
set(oneValueArgs NAME)
|
||||
cmake_parse_arguments(CONTAINER "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
add_custom_command(OUTPUT ${cdroot}/${CONTAINER_NAME}.cnt
|
||||
COMMAND ${TOOLS_PREFIX}/bin/container ${CONTAINER_SPRITES} ${CONTAINER_SOUNDS}
|
||||
${cdroot}/${CONTAINER_NAME}.cnt
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
VERBATIM)
|
||||
|
||||
add_custom_target(${CONTAINER_NAME}_container
|
||||
DEPENDS ${cdroot}/${CONTAINER_NAME}.cnt)
|
||||
add_dependencies(${PROJECT_NAME} ${CONTAINER_NAME}_container)
|
||||
add_dependencies(${CONTAINER_NAME}_container tools)
|
||||
|
||||
foreach(sprite ${CONTAINER_SPRITES})
|
||||
add_dependencies(${CONTAINER_NAME}_container ${sprite}_img)
|
||||
endforeach()
|
||||
|
||||
foreach(sound ${CONTAINER_SOUNDS})
|
||||
add_dependencies(${CONTAINER_NAME}_container ${sound}_snd)
|
||||
endforeach()
|
||||
|
||||
if(PS1_BUILD)
|
||||
add_dependencies(iso ${CONTAINER_NAME}_container)
|
||||
endif()
|
||||
endfunction()
|
Loading…
Reference in New Issue