Working multi-arch archiving

-Working multi arch compile
-Required assets now copy to the app bundle
TODO: Make the logic to wrap around whether its multi arch
-The changes in torqumacosconfigs.cmake are not required if we are only building one architecture, also if it is x86_64 we can drop min deployment target to 10.13
This commit is contained in:
marauder2k7 2023-10-20 12:04:56 +01:00
parent e381bf4838
commit b6617b1b0f
4 changed files with 32 additions and 9 deletions

View file

@ -55,8 +55,10 @@ endforeach()
set(CMAKE_FRAMEWORK_PATH "/Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks")
set(CMAKE_FIND_FRAMEWORK FIRST)
# minimum for multi arch build is 11.
set(CMAKE_OSX_DEPLOYMENT_TARGET "11" CACHE STRING "" FORCE)
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "" FORCE)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "" FORCE)
set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET[arch=arm64] "11.0" CACHE STRING "arm 64 minimum deployment target" FORCE)
set(CMAKE_XCODE_ATTRIBUTE_SDKROOT macosx)
set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
set(CMAKE_SYSTEM_NAME Darwin)
@ -69,6 +71,11 @@ set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
set(CMAKE_SHARED_MODULE_PREFIX "lib")
set(CMAKE_SHARED_MODULE_SUFFIX ".so")
set(CMAKE_C_COMPILER_TARGET x86_64-arm64-apple-macosx11)
set(CMAKE_CXX_COMPILER_TARGET x86_64-arm64-apple-macosx11)
set(CMAKE_ASM_COMPILER_TARGET x86_64-arm64-apple-macosx11)
set(CMAKE_C_COMPILER_ABI ELF)
set(CMAKE_CXX_COMPILER_ABI ELF)
set(CMAKE_C_HAS_ISYSROOT 1)
@ -121,6 +128,7 @@ endif()
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 "@loader_path/../Frameworks")
# Enable codesigning with secure timestamp when not in Debug configuration (required for Notarization)
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=Release] "--timestamp")

View file

@ -128,6 +128,6 @@ endmacro (filterOut)
################# apple frameworks ###################
macro(addFramework framework)
if (APPLE)
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} "${CMAKE_FRAMEWORK_PATH}/${framework}.framework")
set(TORQUE_LINK_FRAMEWORKS ${TORQUE_LINK_FRAMEWORKS} "${CMAKE_FRAMEWORK_PATH}/${framework}.framework")
endif()
endmacro()