XcodeIOSInstallCombinedPrune.cmake 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. cmake_minimum_required(VERSION 3.3)
  2. project(XcodeIOSInstallCombinedPrune CXX)
  3. # due to lack of toolchain file it might point to running macOS version
  4. unset(CMAKE_OSX_DEPLOYMENT_TARGET CACHE)
  5. set(CMAKE_OSX_SYSROOT iphoneos)
  6. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
  7. set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
  8. add_library(foo SHARED foo.cpp)
  9. install(TARGETS foo DESTINATION lib)
  10. add_library(baz SHARED foo.cpp)
  11. set_target_properties(
  12. foo baz
  13. PROPERTIES
  14. XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] armv7
  15. XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] armv7
  16. XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] x86_64
  17. XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] x86_64
  18. )
  19. add_library(boo SHARED foo.cpp)
  20. set_target_properties(
  21. boo
  22. PROPERTIES
  23. XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] arm64
  24. XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] arm64
  25. XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] i386
  26. XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] i386
  27. )
  28. add_custom_command(
  29. TARGET foo
  30. POST_BUILD
  31. COMMAND lipo -create $<TARGET_FILE:baz> $<TARGET_FILE:boo> -output $<TARGET_FILE:foo>
  32. )