[cmake-developers] [CMake 0015833]: Support creating of Framework for iOS

Mantis Bug Tracker mantis at public.kitware.com
Thu Nov 5 11:29:30 EST 2015


The following issue has been SUBMITTED. 
====================================================================== 
https://public.kitware.com/Bug/view.php?id=15833 
====================================================================== 
Reported By:                gang65
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   15833
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2015-11-05 11:29 EST
Last Modified:              2015-11-05 11:29 EST
====================================================================== 
Summary:                    Support creating of Framework for iOS
Description: 
The framework from Apple is specific directory structure. 

For OS X it is using versioned directory structue.
The directory structure looks like:
MyFramework.framework/
    MyFramework  -> Versions/Current/MyFramework
    Resources    -> Versions/Current/Resources
    Versions/
        A/
            MyFramework
            Headers
            Resources/
                English.lproj/
                    InfoPlist.strings
                Info.plist
        Current  -> A


More info:
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html#//apple_ref/doc/uid/20002253-BAJEJJAB


These structure is used when you specify following target variables:
set_target_properties(MyFramework PROPERTIES
  FRAMEWORK TRUE
  FRAMEWORK_VERSION A
  MACOSX_FRAMEWORK_IDENTIFIER com.cmake.myframework
)


For iOS the "flat" directory structure is used.
It looks like:
iOSFramework.framework/
      iOSFramework
      Info.plist
      Headers
      Resources/
            English.lproj/
                 InfoPlist.strings

Currently it is not possible to create "flat" directory structure which could be
used for iOS.

Solution proposal:
Allow possibility to create "flat" framework.
The flat framework will be produced when  IOS_FRAMEWORK will be set to TRUE
For example:

set_target_properties(MyFramework PROPERTIES
  IOS_FRAMEWORK TRUE
  MACOSX_FRAMEWORK_IDENTIFIER com.cmake.myframework
)

I would like to implement that, and provide patches to cmake.
I need some architectural support from you.




Additional Information: 
Maybe also I could fix:
https://public.kitware.com/Bug/view.php?id=15820
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2015-11-05 11:29 gang65         New Issue                                    
======================================================================



More information about the cmake-developers mailing list