minetest/util/xcode/install_resources.cmake

64 lines
2.2 KiB
CMake

# This is only one working solution I found to be working for normal and Archive builds under Xcode 15.4
# I expect higger sensitivity to Xcode version.
if(DEFINED ENV{INSTALL_ROOT} AND EXISTS "$ENV{INSTALL_ROOT}")
set(RESOURCES_DIR "$ENV{INSTALL_ROOT}/Applications/$ENV{PRODUCT_NAME}.app/Contents/Resources")
else()
set(RESOURCES_DIR "$ENV{TARGET_BUILD_DIR}/$ENV{UNLOCALIZED_RESOURCES_FOLDER_PATH}")
endif()
# Write debug information to a file
#file(WRITE "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "INSTALL_ROOT: $ENV{INSTALL_ROOT}\n")
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "RESOURCES_DIR: ${RESOURCES_DIR}\n")
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "TARGET_BUILD_DIR: $ENV{TARGET_BUILD_DIR}\n")
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "BUILT_PRODUCTS_DIR: $ENV{BUILT_PRODUCTS_DIR}\n")
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "SOURCE_ROOT: $ENV{SOURCE_ROOT}\n")
#file(APPEND "$ENV{PROJECT_FILE_PATH}/../debug_output.txt" "PRODUCT_NAME: $ENV{PRODUCT_NAME}\n")
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_directory
"$ENV{SOURCE_ROOT}/builtin"
"${RESOURCES_DIR}/builtin"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_directory
"$ENV{SOURCE_ROOT}/client/shaders"
"${RESOURCES_DIR}/client/shaders"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_directory
"$ENV{SOURCE_ROOT}/fonts"
"${RESOURCES_DIR}/fonts"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_directory
"$ENV{PROJECT_FILE_PATH}/../locale"
"${RESOURCES_DIR}/locale"
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E make_directory
"${RESOURCES_DIR}/$ENV{PRODUCT_NAME}"
)
set(RESOURCE_LUANTI_FILES
"$ENV{SOURCE_ROOT}/README.md"
"$ENV{SOURCE_ROOT}/doc/client_lua_api.md"
"$ENV{SOURCE_ROOT}/doc/lua_api.md"
"$ENV{SOURCE_ROOT}/doc/menu_lua_api.md"
"$ENV{SOURCE_ROOT}/minetest.conf.example"
"$ENV{SOURCE_ROOT}/doc/texture_packs.md"
"$ENV{SOURCE_ROOT}/doc/world_format.md"
)
foreach (file ${RESOURCE_LUANTI_FILES})
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy
"${file}"
"${RESOURCES_DIR}/$ENV{PRODUCT_NAME}/"
)
endforeach()
execute_process(
COMMAND ${CMAKE_COMMAND} -E copy_directory
"$ENV{SOURCE_ROOT}/textures/base/pack"
"${RESOURCES_DIR}/textures/base/pack"
)