Build fix for iOS
This commit is contained in:
Shahzain Ali 2023-02-15 20:41:18 +05:00 committed by GitHub
parent 34a268624b
commit a0141624b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 175 additions and 24 deletions

View file

@ -0,0 +1,43 @@
if(NOT XCODE)
return()
endif()
## Enumerate all the targets in the project
get_directory_property(IOS_SUBDIRS SUBDIRECTORIES)
get_directory_property(IOS_TARGETS BUILDSYSTEM_TARGETS)
while(IOS_SUBDIRS)
list(POP_FRONT IOS_SUBDIRS SUBDIR)
get_directory_property(SUBDIR_TARGETS DIRECTORY ${SUBDIR} BUILDSYSTEM_TARGETS)
list(APPEND IOS_TARGETS ${SUBDIR_TARGETS})
get_directory_property(SUBDIR_NESTED DIRECTORY ${SUBDIR} SUBDIRECTORIES)
list(APPEND IOS_SUBDIRS ${SUBDIR_NESTED})
endwhile()
## The set of target types that we want to modify.
set(IOS_TARGET_COMPILED_TYPES
STATIC_LIBRARY
MODULE_LIBRARY
SHARED_LIBRARY
OBJECT_LIBRARY
EXECUTABLE
)
## Inspect all the targets, and add extra properties if necessary.
while(IOS_TARGETS)
list(POP_FRONT IOS_TARGETS TARGET_NAME)
get_target_property(TARGET_TYPE ${TARGET_NAME} TYPE)
list(FIND IOS_TARGET_COMPILED_TYPES ${TARGET_TYPE} IOS_TARGET_TYPE_INDEX)
if(IOS_TARGET_TYPE_INDEX LESS 0)
continue()
endif()
## I just want to say it's amazing this doesn't explode with syntax errors.
message("Patching architectures for ${TARGET_NAME}")
set_target_properties(${TARGET_NAME} PROPERTIES
XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "arm64"
XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64"
)
endwhile()