CMake:Bundles And Frameworks: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
Line 56: Line 56:
                                                     version.plist
                                                     version.plist
                                          
                                          
</pre>
===Bundle + Unix tools===
* Bundle stuff in one directory, unix tools in typical unix location
<pre>
/Applications/
            appl1.app/
                      Contents/
                              Info.plist
                              MacOS/
                                  appl1 -> appl1-ver1
                                  appl1-ver2
                                  appl1_aux1
                                  appl1_aux2
                              Resources/
                                  appl1_res1
                                  appl1_res2
/usr/
    bin/
      appl2
    share/
      appl2-version/
                    appl2_aux1
                    appl2_aux2
</pre>
===Framework + Unix tools===
* Framework stuff in one directory, unix tools in typical unix location
<pre>
/Library/
        Frameworks/
                  libr1.framework/
                                libr1 -> Versions/Current/libr1
                                Resources -> Versions/Current/Resources
                                Versions/
                                        Current -> ver2
                                        ver2/
                                            libr1
                                            Resources/
                                                      Info.plist
                                                      version.plist
/usr/
    bin/
      appl1
      appl2 -> /Library/Frameworks/libr1.framework/Commands/appl2
      appl3 -> /Library/Frameworks/libr1.framework/Version/ver1/bin/appl3
    share/
      appl1-version/
                    appl1_aux1
                    appl1_aux2
</pre>
</pre>

Revision as of 20:21, 16 March 2006

Issue

(In all examples, the applications are named appl1, appl2, ..., libraries are named libr1, libr2, ..., header files are named appl1_header1, appl2_header2, libr1_header1, ..., and there are auxilary files associated with application and library appl1_aux1, appl2_aux2, libr1_aux1, .... and some resource files associated with application and library appl1_res1, appl2_res2, libr1_res1, .... All versions are ver1, ver2, ...)

On Mac there are four different cases:

Bundle only

  • Everything in a same directory:
/Applications/
             appl1.app/
                      Contents/
                              Info.plist
                              MacOS/
                                   appl1 -> appl1-1
                                   appl1-1
                                   appl1_aux1
                                   appl1_aux2
                              Resources/
                                   appl1_res1
                                   appl1_res2

Bundle + Framework

  • Bundle stuff in one directory, framework stuff in another one
/Applications/
             appl1.app/
                      Contents/
                              Info.plist
                              MacOS/
                                   appl1 -> appl1-ver1
                                   appl1-ver2
                                   appl1_aux1
                                   appl1_aux2
                              Resources/
                                   appl1_res1
                                   appl1_res2
/Library/
        Framework/
                 libr1.framework/
                                libr1 -> Versions/Current/libr1
                                Resources -> Versions/Current/Resources
                                Versions/
                                        Current -> ver2
                                        ver2/
                                            libr1
                                            Resources/
                                                     Info.plist
                                                     version.plist
                                        

Bundle + Unix tools

  • Bundle stuff in one directory, unix tools in typical unix location
/Applications/
             appl1.app/
                      Contents/
                              Info.plist
                              MacOS/
                                   appl1 -> appl1-ver1
                                   appl1-ver2
                                   appl1_aux1
                                   appl1_aux2
                              Resources/
                                   appl1_res1
                                   appl1_res2

/usr/
    bin/
       appl2
    share/
       appl2-version/
                    appl2_aux1
                    appl2_aux2

Framework + Unix tools

  • Framework stuff in one directory, unix tools in typical unix location
/Library/
        Frameworks/
                  libr1.framework/
                                 libr1 -> Versions/Current/libr1
                                 Resources -> Versions/Current/Resources
                                 Versions/
                                         Current -> ver2
                                         ver2/
                                             libr1
                                             Resources/
                                                      Info.plist
                                                      version.plist
/usr/
    bin/
       appl1
       appl2 -> /Library/Frameworks/libr1.framework/Commands/appl2
       appl3 -> /Library/Frameworks/libr1.framework/Version/ver1/bin/appl3
    share/
       appl1-version/
                    appl1_aux1
                    appl1_aux2