XcodeBundles.cmake 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # check if Xcode and CMake have the same understanding of Bundle layout
  2. cmake_minimum_required(VERSION 3.3)
  3. enable_language(C)
  4. if(TEST_IOS)
  5. set(CMAKE_OSX_SYSROOT iphoneos)
  6. set(CMAKE_OSX_ARCHITECTURES "armv7")
  7. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
  8. set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
  9. endif(TEST_IOS)
  10. # App Bundle
  11. add_executable(AppBundle MACOSX_BUNDLE main.m)
  12. add_custom_target(AppBundleTest ALL
  13. COMMAND ${CMAKE_COMMAND} -E copy
  14. "$<TARGET_FILE:AppBundle>" "$<TARGET_FILE:AppBundle>.old")
  15. add_dependencies(AppBundleTest AppBundle)
  16. # Framework (not supported for iOS on Xcode < 6)
  17. if(NOT TEST_IOS OR NOT XCODE_VERSION VERSION_LESS 6)
  18. add_library(Framework SHARED main.c)
  19. set_target_properties(Framework PROPERTIES FRAMEWORK TRUE)
  20. add_custom_target(FrameworkTest ALL
  21. COMMAND ${CMAKE_COMMAND} -E copy
  22. "$<TARGET_FILE:Framework>" "$<TARGET_FILE:Framework>.old")
  23. add_dependencies(FrameworkTest Framework)
  24. endif()
  25. # Bundle
  26. add_library(Bundle MODULE main.c)
  27. set_target_properties(Bundle PROPERTIES BUNDLE TRUE)
  28. add_custom_target(BundleTest ALL
  29. COMMAND ${CMAKE_COMMAND} -E copy
  30. "$<TARGET_FILE:Bundle>" "$<TARGET_FILE:Bundle>.old")
  31. add_dependencies(BundleTest Bundle)