XcodeBundles.cmake 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
  8. set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
  9. set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
  10. endif(TEST_IOS)
  11. # App Bundle
  12. add_executable(AppBundle MACOSX_BUNDLE main.m)
  13. add_custom_target(AppBundleTest ALL
  14. COMMAND ${CMAKE_COMMAND} -E copy
  15. "$<TARGET_FILE:AppBundle>" "$<TARGET_FILE:AppBundle>.old")
  16. add_dependencies(AppBundleTest AppBundle)
  17. # Framework (not supported for iOS on Xcode < 6)
  18. if(NOT TEST_IOS OR NOT XCODE_VERSION VERSION_LESS 6)
  19. add_library(Framework SHARED main.c)
  20. set_target_properties(Framework PROPERTIES FRAMEWORK TRUE)
  21. add_custom_target(FrameworkTest ALL
  22. COMMAND ${CMAKE_COMMAND} -E copy
  23. "$<TARGET_FILE:Framework>" "$<TARGET_FILE:Framework>.old")
  24. add_dependencies(FrameworkTest Framework)
  25. endif()
  26. # Bundle
  27. add_library(Bundle MODULE main.c)
  28. set_target_properties(Bundle PROPERTIES BUNDLE TRUE)
  29. add_custom_target(BundleTest ALL
  30. COMMAND ${CMAKE_COMMAND} -E copy
  31. "$<TARGET_FILE:Bundle>" "$<TARGET_FILE:Bundle>.old")
  32. add_dependencies(BundleTest Bundle)