mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
fix packing
now openal and sdl are embedded in the app bundle along with their symlink alternatives clear out the openal framework and use the embedded dll instead archiving works and will produce a notarized app if you provide the correct information and enable hardening.
This commit is contained in:
parent
7177e491dd
commit
9d51fc2830
|
|
@ -199,8 +199,6 @@ add_subdirectory(glad ${TORQUE_LIB_TARG_DIRECTORY}/glad EXCLUDE_FROM_ALL)
|
||||||
if(TORQUE_SFX_OPENAL)
|
if(TORQUE_SFX_OPENAL)
|
||||||
advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON)
|
advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON)
|
||||||
advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32})
|
advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32})
|
||||||
advanced_option(ALSOFT_INSTALL_EXAMPLES "Install example programs (alplay, alstream, ...)" OFF)
|
|
||||||
advanced_option(ALSOFT_INSTALL_UTILS "Install utility programs (openal-info, alsoft-config, ...)" OFF)
|
|
||||||
advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON)
|
advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON)
|
||||||
mark_as_advanced(ALSOFT_BACKEND_COREAUDIO)
|
mark_as_advanced(ALSOFT_BACKEND_COREAUDIO)
|
||||||
mark_as_advanced(ALSOFT_BACKEND_DSOUND)
|
mark_as_advanced(ALSOFT_BACKEND_DSOUND)
|
||||||
|
|
|
||||||
|
|
@ -23,12 +23,8 @@ if (APPLE)
|
||||||
if(NOT TORQUE_DEDICATED)
|
if(NOT TORQUE_DEDICATED)
|
||||||
addFramework("OpenGL")
|
addFramework("OpenGL")
|
||||||
addFramework("CoreVideo")
|
addFramework("CoreVideo")
|
||||||
if(TORQUE_SFX_OPENAL)
|
addFramework("AudioToolbox")
|
||||||
addFramework("OpenAL")
|
addFramework("AudioUnit")
|
||||||
addFramework("CoreAudio")
|
|
||||||
addFramework("AudioUnit")
|
|
||||||
addFramework("AudioToolbox")
|
|
||||||
endif(TORQUE_SFX_OPENAL)
|
|
||||||
endif()
|
endif()
|
||||||
endif (APPLE)
|
endif (APPLE)
|
||||||
|
|
||||||
|
|
@ -40,4 +36,4 @@ if (UNIX AND NOT APPLE)
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} ${FREETYPE_INCLUDE_DIRS})
|
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} ${FREETYPE_INCLUDE_DIRS})
|
||||||
set(TORQUE_LINK_LINUX ${TORQUE_LINK_LINUX} ${FREETYPE_LIBRARIES})
|
set(TORQUE_LINK_LINUX ${TORQUE_LINK_LINUX} ${FREETYPE_LIBRARIES})
|
||||||
endif (UNIX AND NOT APPLE)
|
endif (UNIX AND NOT APPLE)
|
||||||
|
|
|
||||||
|
|
@ -395,17 +395,17 @@ if (APPLE)
|
||||||
MACOSX_BUNDLE true
|
MACOSX_BUNDLE true
|
||||||
MACOSX_BUNDLE_INFO_PLIST "${TORQUE_APP_ROOT_DIRECTORY}/source/Info.plist"
|
MACOSX_BUNDLE_INFO_PLIST "${TORQUE_APP_ROOT_DIRECTORY}/source/Info.plist"
|
||||||
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.torque3d.${TORQUE_APP_NAME}"
|
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.torque3d.${TORQUE_APP_NAME}"
|
||||||
XCODE_ATTRIBUTE_INSTALL_PATH "/Applications"
|
|
||||||
INSTALL_RPATH "@executable_path/../Frameworks"
|
INSTALL_RPATH "@executable_path/../Frameworks"
|
||||||
XCODE_ATTRIBUTE_SKIP_INSTALL "No"
|
XCODE_ATTRIBUTE_SKIP_INSTALL NO
|
||||||
|
BUILD_WITH_INSTALL_RPATH ON
|
||||||
|
XCODE_ATTRIBUTE_INSTALL_PATH "/Applications"
|
||||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon"
|
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon"
|
||||||
XCODE_ATTRIBUTE_LINKER_DISPLAYS_MANGLED_NAMES[variant=Debug] YES
|
XCODE_ATTRIBUTE_LINKER_DISPLAYS_MANGLED_NAMES[variant=Debug] YES
|
||||||
XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] YES
|
XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] YES
|
||||||
XCODE_ATTRIBUTE_ENABLE_TESTABILITY[variant=Debug] YES
|
XCODE_ATTRIBUTE_ENABLE_TESTABILITY[variant=Debug] YES
|
||||||
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=Debug] parent
|
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=Debug] parent
|
||||||
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=RelWithDebInfo] parent
|
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=RelWithDebInfo] parent
|
||||||
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=Release] resource
|
XCODE_ATTRIBUTE_SDL_FILE_DIR[variant=Release] resource)
|
||||||
MACOSX_RPATH TRUE)
|
|
||||||
|
|
||||||
elseif (WIN32)
|
elseif (WIN32)
|
||||||
add_executable(${TORQUE_APP_NAME} WIN32 ${TORQUE_SOURCE_FILES})
|
add_executable(${TORQUE_APP_NAME} WIN32 ${TORQUE_SOURCE_FILES})
|
||||||
|
|
@ -466,6 +466,8 @@ target_link_libraries(${TORQUE_APP_NAME} ${TORQUE_LINK_LIBRARIES})
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
target_link_libraries(${TORQUE_APP_NAME} ${TORQUE_LINK_FRAMEWORKS})
|
target_link_libraries(${TORQUE_APP_NAME} ${TORQUE_LINK_FRAMEWORKS})
|
||||||
|
|
||||||
|
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|
@ -520,9 +522,15 @@ if (UNIX)
|
||||||
# Only pay attention to shared libraries and make them output to the app resources
|
# Only pay attention to shared libraries and make them output to the app resources
|
||||||
if ("${LINK_LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY")
|
if ("${LINK_LIBRARY_TYPE}" STREQUAL "SHARED_LIBRARY")
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
|
set_target_properties(${GAME_LINK_LIBRARY} PROPERTIES
|
||||||
|
XCODE_ATTRIBUTE_SKIP_INSTALL YES
|
||||||
|
)
|
||||||
add_custom_command(TARGET ${TORQUE_APP_NAME} POST_BUILD
|
add_custom_command(TARGET ${TORQUE_APP_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks"
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks"
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${GAME_LINK_LIBRARY}>" "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks/$<TARGET_FILE_NAME:${GAME_LINK_LIBRARY}>")
|
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${GAME_LINK_LIBRARY}>" "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks/$<TARGET_FILE_NAME:${GAME_LINK_LIBRARY}>"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E create_symlink "$<TARGET_FILE:${GAME_LINK_LIBRARY}>" "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks/$<TARGET_LINKER_FILE_NAME:${GAME_LINK_LIBRARY}>"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E create_symlink "$<TARGET_FILE:${GAME_LINK_LIBRARY}>" "${TORQUE_APP_GAME_DIRECTORY}/${TORQUE_APP_NAME}.app/Contents/Frameworks/lib$<TARGET_LINKER_FILE_BASE_NAME:${GAME_LINK_LIBRARY}>.1.dylib"
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
set_target_properties(${GAME_LINK_LIBRARY} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TORQUE_APP_GAME_DIRECTORY}")
|
set_target_properties(${GAME_LINK_LIBRARY} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${TORQUE_APP_GAME_DIRECTORY}")
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -4,6 +4,9 @@ enable_language(OBJC)
|
||||||
enable_language(OBJCXX)
|
enable_language(OBJCXX)
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
|
|
||||||
|
set(CMAKE_SYSTEM_NAME Darwin)
|
||||||
|
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
|
||||||
|
|
||||||
# minimum for multi arch build is 11.
|
# minimum for multi arch build is 11.
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "11" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "11" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "" FORCE)
|
||||||
|
|
@ -25,7 +28,6 @@ endif()
|
||||||
|
|
||||||
# Enable codesigning with secure timestamp when not in Debug configuration (required for Notarization)
|
# Enable codesigning with secure timestamp when not in Debug configuration (required for Notarization)
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=Release] "--timestamp")
|
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=Release] "--timestamp")
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=RelWithDebInfo] "--timestamp")
|
|
||||||
|
|
||||||
# Enable codesigning with hardened runtime option when not in Debug configuration (required for Notarization)
|
# Enable codesigning with hardened runtime option when not in Debug configuration (required for Notarization)
|
||||||
#set(CMAKE_XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME[variant=Release] YES)
|
#set(CMAKE_XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME[variant=Release] YES)
|
||||||
|
|
@ -34,7 +36,12 @@ set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=RelWithDebInfo] "--times
|
||||||
# Disable injection of Xcode's base entitlements used for debugging when not in Debug configuration (required for
|
# Disable injection of Xcode's base entitlements used for debugging when not in Debug configuration (required for
|
||||||
# Notarization)
|
# Notarization)
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_INJECT_BASE_ENTITLEMENTS[variant=Release] NO)
|
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_INJECT_BASE_ENTITLEMENTS[variant=Release] NO)
|
||||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_INJECT_BASE_ENTITLEMENTS[variant=RelWithDebInfo] NO)
|
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
|
||||||
|
# Only create a single Xcode project file
|
||||||
|
set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY TRUE)
|
||||||
|
# Add all libraries to project link phase (lets Xcode handle linking)
|
||||||
|
#set(CMAKE_XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION)
|
||||||
|
#set(CMAKE_XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/../Frameworks")
|
||||||
|
|
||||||
set(_release_configs RelWithDebInfo Release)
|
set(_release_configs RelWithDebInfo Release)
|
||||||
if(CMAKE_BUILD_TYPE IN_LIST _release_configs)
|
if(CMAKE_BUILD_TYPE IN_LIST _release_configs)
|
||||||
|
|
@ -47,7 +54,14 @@ set(CMAKE_USE_WIN32_THREADS_INIT 0)
|
||||||
set(CMAKE_USE_PTHREADS_INIT 1)
|
set(CMAKE_USE_PTHREADS_INIT 1)
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
|
|
||||||
|
# Enable @rpath support
|
||||||
set(CMAKE_MACOSX_RPATH 1)
|
set(CMAKE_MACOSX_RPATH 1)
|
||||||
|
|
||||||
|
set(CMAKE_INSTALL_NAME_DIR "@rpath")
|
||||||
|
|
||||||
|
# Set RPATH for both build and install
|
||||||
set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks")
|
set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks")
|
||||||
|
set(CMAKE_BUILD_RPATH "@executable_path/../Frameworks")
|
||||||
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
|
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
Loading…
Reference in a new issue