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
|
COMMAND
|
||||||
${IMAGEMAGICK_CONVERT} ${OUTPUT_FILE} -crop 491x369+265+202 -resize 160x120 ${OUTPUT_FILE}
|
${IMAGEMAGICK_CONVERT} ${OUTPUT_FILE} -crop 491x369+265+202 -resize 160x120 ${OUTPUT_FILE}
|
||||||
COMMENT
|
COMMENT
|
||||||
"Converting $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
"Extracting frame from $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -455,8 +455,7 @@ foreach(MATERIAL ${MATERIALS})
|
||||||
_add_material_generate_command(${MATERIAL} GENERATED_MATERIALS)
|
_add_material_generate_command(${MATERIAL} GENERATED_MATERIALS)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# TODO: proper dependencies from consumers
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
all_materials
|
materials
|
||||||
DEPENDS ${GENERATED_MATERIALS}
|
DEPENDS ${GENERATED_MATERIALS}
|
||||||
)
|
)
|
||||||
|
|
|
@ -29,7 +29,7 @@ function(_add_extract_video_audio_command INPUT_FILE OUTPUT_FILE)
|
||||||
COMMAND
|
COMMAND
|
||||||
${FFMPEG} -i ${INPUT_FILE} -vn -loglevel error -y ${OUTPUT_FILE}
|
${FFMPEG} -i ${INPUT_FILE} -vn -loglevel error -y ${OUTPUT_FILE}
|
||||||
COMMENT
|
COMMENT
|
||||||
"Converting $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
"Extracting audio from $<PATH:RELATIVE_PATH,${INPUT_FILE},${PROJECT_SOURCE_DIR}>"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -327,7 +327,6 @@ endforeach()
|
||||||
######################
|
######################
|
||||||
|
|
||||||
function(_add_sound_convert_command INPUT_FILE OUTPUT_LIST)
|
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(
|
cmake_path(
|
||||||
REPLACE_EXTENSION INPUT_FILE
|
REPLACE_EXTENSION INPUT_FILE
|
||||||
".aifc"
|
".aifc"
|
||||||
|
@ -434,17 +433,14 @@ add_custom_command(
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: proper dependencies from consumers
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
sound_data_tables
|
sound_tables
|
||||||
DEPENDS
|
DEPENDS
|
||||||
|
# Sound data
|
||||||
${SOUND_TABLE_SOUNDS}
|
${SOUND_TABLE_SOUNDS}
|
||||||
${SOUND_TABLE_TBL}
|
${SOUND_TABLE_TBL}
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_target(
|
# Lookup tables
|
||||||
sound_lookup_tables
|
|
||||||
DEPENDS
|
|
||||||
${CLIPS_H}
|
${CLIPS_H}
|
||||||
${LANGUAGES_H}
|
${LANGUAGES_H}
|
||||||
${LANGUAGES_C}
|
${LANGUAGES_C}
|
||||||
|
|
|
@ -158,7 +158,6 @@ add_custom_command(
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: remove
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
level_list
|
level_list
|
||||||
DEPENDS ${LEVEL_LIST}
|
DEPENDS ${LEVEL_LIST}
|
||||||
|
|
|
@ -6,6 +6,15 @@ target_include_directories(portal PRIVATE
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Generated code
|
||||||
|
add_dependencies(portal
|
||||||
|
materials
|
||||||
|
sound_tables
|
||||||
|
|
||||||
|
# TODO: rework when including chambers in compilation
|
||||||
|
level_list
|
||||||
|
)
|
||||||
|
|
||||||
###############
|
###############
|
||||||
## Game code ##
|
## Game code ##
|
||||||
###############
|
###############
|
||||||
|
|
Loading…
Reference in a new issue