XcodeIOSInstallCombinedPrune.cmake 1003 B

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