XcodeIOSInstallCombined.cmake 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 3.3)
  2. project(IOSInstallCombined CXX)
  3. set(maybe_armv7 armv7)
  4. set(maybe_i386 i386)
  5. if(XCODE_VERSION VERSION_GREATER_EQUAL 14)
  6. set(CMAKE_OSX_DEPLOYMENT_TARGET 16)
  7. set(maybe_armv7 "")
  8. set(maybe_i386 "")
  9. elseif(XCODE_VERSION VERSION_GREATER_EQUAL 9)
  10. set(CMAKE_OSX_DEPLOYMENT_TARGET 10)
  11. endif()
  12. if(NOT IOS)
  13. message(FATAL_ERROR "IOS variable is not set")
  14. endif()
  15. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "NO")
  16. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
  17. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
  18. set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf")
  19. set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
  20. set(CMAKE_OSX_ARCHITECTURES ${maybe_armv7} arm64 ${maybe_i386} x86_64)
  21. add_executable(foo_app MACOSX_BUNDLE main.cpp)
  22. install(TARGETS foo_app BUNDLE DESTINATION bin)
  23. add_library(foo_static STATIC foo.cpp)
  24. install(TARGETS foo_static ARCHIVE DESTINATION lib)
  25. add_library(foo_shared SHARED foo.cpp)
  26. install(TARGETS foo_shared LIBRARY DESTINATION lib)
  27. add_library(foo_bundle MODULE foo.cpp)
  28. set_target_properties(foo_bundle PROPERTIES BUNDLE TRUE)
  29. install(TARGETS foo_bundle LIBRARY DESTINATION lib)
  30. add_library(foo_framework SHARED foo.cpp)
  31. set_target_properties(foo_framework PROPERTIES FRAMEWORK TRUE)
  32. install(TARGETS foo_framework FRAMEWORK DESTINATION lib)