mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
Add houses to CMake
This commit is contained in:
@@ -562,13 +562,111 @@ add_custom_command(
|
|||||||
# COMMAND ConvertColorCursors
|
# COMMAND ConvertColorCursors
|
||||||
# )
|
# )
|
||||||
|
|
||||||
|
set(HOUSE_FILES)
|
||||||
|
|
||||||
|
function(add_house NAME)
|
||||||
|
cmake_parse_arguments(PARSE_ARGV 0 ARG
|
||||||
|
""
|
||||||
|
PATCH
|
||||||
|
""
|
||||||
|
)
|
||||||
|
|
||||||
|
if(ARG_PATCH)
|
||||||
|
set(PATCH_ARGS -patch "${CMAKE_SOURCE_DIR}/HousePatches/${ARG_PATCH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(BASE_PATH "Packaged/Houses/${NAME}")
|
||||||
|
list(APPEND HOUSE_FILES "${BASE_PATH}.gpf")
|
||||||
|
|
||||||
|
set(BYPRODUCTS "${BASE_PATH}.gpr" "${BASE_PATH}.gpa" "${BASE_PATH}.gpd")
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT
|
||||||
|
"${BASE_PATH}.gpf"
|
||||||
|
BYPRODUCTS
|
||||||
|
${BYPRODUCTS}
|
||||||
|
DEPENDS hqx2gp gpr2gpa MergeGPF
|
||||||
|
COMMAND hqx2gp
|
||||||
|
"${CMAKE_SOURCE_DIR}/GliderProData/Houses/${NAME}.binhex"
|
||||||
|
"${CMAKE_SOURCE_DIR}/DefaultTimestamp.timestamp"
|
||||||
|
"${BASE_PATH}"
|
||||||
|
COMMAND gpr2gpa
|
||||||
|
"${BASE_PATH}.gpr"
|
||||||
|
"${CMAKE_SOURCE_DIR}/DefaultTimestamp.timestamp"
|
||||||
|
"${BASE_PATH}.gpa"
|
||||||
|
${PATCH_ARGS}
|
||||||
|
${HOUSE_EXTRA_COMMANDS}
|
||||||
|
COMMAND MergeGPF
|
||||||
|
"${BASE_PATH}.gpf"
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E rm
|
||||||
|
${BYPRODUCTS}
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
|
if(EXISTS "${CMAKE_SOURCE_DIR}/GliderProData/ConvertedMovies/${NAME}.mov.gpa")
|
||||||
|
list(APPEND HOUSE_FILES "${BASE_PATH}.mov.gpf")
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT
|
||||||
|
"${BASE_PATH}.mov.gpf"
|
||||||
|
BYPRODUCTS
|
||||||
|
"${BASE_PATH}.mov.gpa"
|
||||||
|
COMMAND FTagData
|
||||||
|
"${CMAKE_SOURCE_DIR}/DefaultTimestamp.timestamp"
|
||||||
|
"${BASE_PATH}.mov.gpf"
|
||||||
|
MooV ozm5 0 0 locked
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E copy
|
||||||
|
-t "Packaged/Houses"
|
||||||
|
"${CMAKE_SOURCE_DIR}/GliderProData/ConvertedMovies/${NAME}.mov.gpa"
|
||||||
|
COMMAND MergeGPF
|
||||||
|
"${BASE_PATH}.mov.gpf"
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E rm
|
||||||
|
"${BASE_PATH}.mov.gpa"
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
set(HOUSE_FILES "${HOUSE_FILES}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
add_house("Art Museum")
|
||||||
|
add_house("California or Bust!")
|
||||||
|
|
||||||
|
set(HOUSE_EXTRA_COMMANDS
|
||||||
|
DEPENDS HouseTool
|
||||||
|
COMMAND HouseTool
|
||||||
|
patch "Packaged/Houses/Castle o' the Air.gpd" .firstRoom 77
|
||||||
|
)
|
||||||
|
add_house("Castle o' the Air")
|
||||||
|
unset(HOUSE_EXTRA_COMMANDS)
|
||||||
|
|
||||||
|
add_house("CD Demo House")
|
||||||
|
add_house("Davis Station")
|
||||||
|
add_house("Demo House")
|
||||||
|
add_house("Fun House")
|
||||||
|
add_house("Grand Prix" PATCH "GrandPrix.json")
|
||||||
|
add_house("ImagineHouse PRO II" PATCH "ImagineHousePROII.json")
|
||||||
|
add_house("In The Mirror" PATCH "InTheMirror.json")
|
||||||
|
add_house("Land of Illusion")
|
||||||
|
add_house("Leviathan" PATCH "Leviathan.json")
|
||||||
|
add_house("Metropolis")
|
||||||
|
add_house("Nemo's Market")
|
||||||
|
add_house("Rainbow's End" PATCH "RainbowsEnd.json")
|
||||||
|
add_house("Slumberland")
|
||||||
|
add_house("SpacePods")
|
||||||
|
add_house("Teddy World")
|
||||||
|
add_house("The Asylum Pro")
|
||||||
|
add_house("Titanic")
|
||||||
|
|
||||||
add_custom_target(Resources ALL
|
add_custom_target(Resources ALL
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${DATA_FILES}
|
${DATA_FILES}
|
||||||
|
${HOUSE_FILES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
list(TRANSFORM DATA_FILES PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
list(TRANSFORM DATA_FILES PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||||
|
list(TRANSFORM HOUSE_FILES PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||||
|
|
||||||
install(TARGETS "${EXECNAME}" COMPONENT Executable)
|
install(TARGETS "${EXECNAME}" COMPONENT Executable)
|
||||||
install(FILES ${DATA_FILES} DESTINATION lib/aerofoil/Packaged COMPONENT Resources)
|
install(FILES ${DATA_FILES} DESTINATION lib/aerofoil/Packaged COMPONENT Resources)
|
||||||
|
install(FILES ${HOUSE_FILES} DESTINATION lib/aerofoil/Packaged/Houses COMPONENT Resources)
|
||||||
|
Reference in New Issue
Block a user