diff --git a/CMakeLists.txt b/CMakeLists.txt index c96c4be03..26f9a64f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,7 @@ add_custom_target( # CMake versions prior to 3.17 do not have the rm command, use remove instead for older versions COMMAND ${CMAKE_COMMAND} -E $,remove,rm> -f oot.otr oot-mq.otr soh.otr COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$" --non-interactive - COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake + COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter COMMENT "Running asset extraction..." DEPENDS ZAPD diff --git a/copy-existing-otrs.cmake b/copy-existing-otrs.cmake index b700e9de5..aa4b739cc 100644 --- a/copy-existing-otrs.cmake +++ b/copy-existing-otrs.cmake @@ -1,18 +1,37 @@ +message(STATUS "Copying otr files...") + if(EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${BINARY_DIR}/soh/) + message(STATUS "Copied oot.otr") endif() if(EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/) + message(STATUS "Copied oot-mq.otr") endif() if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr) execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/) + message(STATUS "Copied soh.otr") endif() + +# Additionally for Windows, copy the otrs to the target dir, side by side with soh.exe +if(SYSTEM_NAME MATCHES "Windows") + if(EXISTS ${SOURCE_DIR}/OTRExporter/oot.otr) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot.otr ${TARGET_DIR}) + endif() + if(EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${TARGET_DIR}) + endif() + if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${TARGET_DIR}) + endif() +endif() + if(NOT EXISTS ${SOURCE_DIR}/oot.otr AND NOT EXISTS ${SOURCE_DIR}/oot-mq.otr) - message(FATAL_ERROR, "No OTR files found.") + message(FATAL_ERROR "Failed to copy. No OTR files found.") endif() if(NOT EXISTS ${SOURCE_DIR}/soh.otr) - message(FATAL_ERROR, "No soh OTR found.") -endif() \ No newline at end of file + message(FATAL_ERROR "Failed to copy. No soh OTR found.") +endif()