mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Support generation of working Xcode project for signature purposes on MacOS (#15303)
This commit is contained in:
parent
ec7738934b
commit
e55ba9c390
13 changed files with 309 additions and 30 deletions
24
util/ci/build_xcode.sh
Executable file
24
util/ci/build_xcode.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_FIND_FRAMEWORK=LAST \
|
||||
-DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE \
|
||||
-DFREETYPE_LIBRARY=/opt/homebrew/lib/libfreetype.a \
|
||||
-DGETTEXT_INCLUDE_DIR=/path/to/include/dir \
|
||||
-DGETTEXT_LIBRARY=/opt/homebrew/lib/libintl.a \
|
||||
-DLUA_LIBRARY=/opt/homebrew/lib/libluajit-5.1.a \
|
||||
-DOGG_LIBRARY=/opt/homebrew/lib/libogg.a \
|
||||
-DVORBIS_LIBRARY=/opt/homebrew/lib/libvorbis.a \
|
||||
-DVORBISFILE_LIBRARY=/opt/homebrew/lib/libvorbisfile.a \
|
||||
-DZSTD_LIBRARY=/opt/homebrew/lib/libzstd.a \
|
||||
-DGMP_LIBRARY=/opt/homebrew/lib/libgmp.a \
|
||||
-DENABLE_SYSTEM_JSONCPP=OFF \
|
||||
-DENABLE_LEVELDB=OFF \
|
||||
-DENABLE_POSTGRESQL=OFF \
|
||||
-DENABLE_REDIS=OFF \
|
||||
-DJPEG_LIBRARY=/opt/homebrew/lib/libjpeg.a \
|
||||
-DPNG_LIBRARY=/opt/homebrew/lib/libpng.a \
|
||||
-DCMAKE_EXE_LINKER_FLAGS=-lbz2\
|
||||
-GXcode
|
||||
xcodebuild -project luanti.xcodeproj -scheme luanti -configuration Release build
|
||||
xcodebuild -project luanti.xcodeproj -scheme luanti -archivePath ./luanti.xcarchive archive
|
3
util/xcode/capture_env.sh
Normal file
3
util/xcode/capture_env.sh
Normal file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
env > $1
|
63
util/xcode/install_resources.cmake
Normal file
63
util/xcode/install_resources.cmake
Normal file
|
@ -0,0 +1,63 @@
|
|||
|
||||
# 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"
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue