parent
34a268624b
commit
a0141624b9
4 changed files with 175 additions and 24 deletions
43
client/cmake/ios-arch-fixup.cmake
Normal file
43
client/cmake/ios-arch-fixup.cmake
Normal 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()
|
Loading…
Add table
Add a link
Reference in a new issue