Skip to content

Commit

Permalink
Add support for setting the output directory to create_pbp_file macro
Browse files Browse the repository at this point in the history
  • Loading branch information
sharkwouter committed Oct 31, 2024
1 parent 6638c67 commit 64ea2da
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/base/CreatePBP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ macro(create_pbp_file)
PREVIEW_PATH # optional, absolute path to .png file, 480x272
MUSIC_PATH # optional, absolute path to .at3 file
VERSION # optional, adds version information to PARAM.SFO
OUTPUT_DIR # optional, set the output directory for the EBOOT.PBP
)
set(options
BUILD_PRX # optional, generates and uses PRX file instead of ELF in EBOOT.PBP
Expand All @@ -30,6 +31,20 @@ macro(create_pbp_file)
set(ARG_VERSION "")
endif()

# set output directory to where the target is build if not set
if (NOT DEFINED ARG_OUTPUT_DIR)
set(ARG_OUTPUT_DIR $<TARGET_FILE_DIR:${ARG_TARGET}>)
endif()

# Make sure the output directory exists
if(NOT IS_DIRECTORY ${ARG_OUTPUT_DIR})
add_custom_command(
TARGET ${APP} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${ARG_OUTPUT_DIR}
)
endif()

# As pack-pbp takes undefined arguments in form of "NULL" string,
# set each undefined macro variable to such value:
foreach(arg ${oneValueArgs})
Expand Down Expand Up @@ -146,6 +161,13 @@ macro(create_pbp_file)
)
endif()

add_custom_command(
TARGET ${APP} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove
${ARG_OUTPUT_DIR}/PARAM.SFO
COMMENT "Cleaning up PARAM.SFO for target ${ARG_TARGET}"
)

add_custom_command(
TARGET ${ARG_TARGET}
POST_BUILD COMMAND
Expand Down

0 comments on commit 64ea2da

Please sign in to comment.