XcodeIOSInstallCombinedPrune.cmake 1.1 KB

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