mirror of
https://github.com/mwpenny/portal64-still-alive.git
synced 2024-10-19 22:27:36 -04:00
Start to hook up code generation with CMake builds
Automatically generate material, sound, and level data. Generated code is not currently linked.
This commit is contained in:
parent
51e7e001a5
commit
6a14db3a16
|
@ -185,7 +185,7 @@ function(_add_extract_frame_command INPUT_FILE OUTPUT_FILE SECONDS)
|
|||
COMMAND
|
||||
${IMAGEMAGICK_CONVERT} ${OUTPUT_FILE} -crop 491x369+265+202 -resize 160x120 ${OUTPUT_FILE}
|
||||
COMMENT
|
||||
"Converting $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||
"Extracting frame from $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||
VERBATIM
|
||||
)
|
||||
endfunction()
|
||||
|
@ -455,8 +455,7 @@ foreach(MATERIAL ${MATERIALS})
|
|||
_add_material_generate_command(${MATERIAL} GENERATED_MATERIALS)
|
||||
endforeach()
|
||||
|
||||
# TODO: proper dependencies from consumers
|
||||
add_custom_target(
|
||||
all_materials
|
||||
materials
|
||||
DEPENDS ${GENERATED_MATERIALS}
|
||||
)
|
||||
|
|
|
@ -29,7 +29,7 @@ function(_add_extract_video_audio_command INPUT_FILE OUTPUT_FILE)
|
|||
COMMAND
|
||||
${FFMPEG} -i ${INPUT_FILE} -vn -loglevel error -y ${OUTPUT_FILE}
|
||||
COMMENT
|
||||
"Converting $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||
"Extracting audio from $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||
VERBATIM
|
||||
)
|
||||
endfunction()
|
||||
|
@ -327,7 +327,6 @@ endforeach()
|
|||
######################
|
||||
|
||||
function(_add_sound_convert_command INPUT_FILE OUTPUT_LIST)
|
||||
# TODO: change output to PAK_MODIFIED_SOUND_DIR once makefile is no longer in use
|
||||
cmake_path(
|
||||
REPLACE_EXTENSION INPUT_FILE
|
||||
".aifc"
|
||||
|
@ -434,17 +433,14 @@ add_custom_command(
|
|||
VERBATIM
|
||||
)
|
||||
|
||||
# TODO: proper dependencies from consumers
|
||||
add_custom_target(
|
||||
sound_data_tables
|
||||
sound_tables
|
||||
DEPENDS
|
||||
# Sound data
|
||||
${SOUND_TABLE_SOUNDS}
|
||||
${SOUND_TABLE_TBL}
|
||||
)
|
||||
|
||||
add_custom_target(
|
||||
sound_lookup_tables
|
||||
DEPENDS
|
||||
# Lookup tables
|
||||
${CLIPS_H}
|
||||
${LANGUAGES_H}
|
||||
${LANGUAGES_C}
|
||||
|
|
|
@ -158,7 +158,6 @@ add_custom_command(
|
|||
VERBATIM
|
||||
)
|
||||
|
||||
# TODO: remove
|
||||
add_custom_target(
|
||||
level_list
|
||||
DEPENDS ${LEVEL_LIST}
|
||||
|
|
|
@ -6,6 +6,15 @@ target_include_directories(portal PRIVATE
|
|||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
# Generated code
|
||||
add_dependencies(portal
|
||||
materials
|
||||
sound_tables
|
||||
|
||||
# TODO: rework when including chambers in compilation
|
||||
level_list
|
||||
)
|
||||
|
||||
###############
|
||||
## Game code ##
|
||||
###############
|
||||
|
|
Loading…
Reference in a new issue