Thanks for your help. Things are better, but far from perfect, see below

Le 21/05/10 22:34, Werner Smekal a écrit :

Hi Jerome,

On 5/21/10 4:42 PM, Jérôme VERNET wrote:
# copy SDL frameworks into app bundle for Mac OS X
if(APPLE)
        INSTALL(DIRECTORY /Users/smekal/Library/Frameworks/SDL.framework
                                        DESTINATION 
xrick.app/Contents/Frameworks)
        INSTALL(DIRECTORY /Users/smekal/Library/Frameworks/SDL_mixer.framework
                                        DESTINATION 
xrick.app/Contents/Frameworks)
        INSTALL(DIRECTORY /Users/smekal/Library/Frameworks/SDL_ttf.framework
                                        DESTINATION 
xrick.app/Contents/Frameworks)
endif(APPLE)

I tried that.
if(ENABLE_OSX_BUNDLE)
    message("***Install for MacOsX***")
    install(TARGETS hatari BUNDLE DESTINATION /Applications)
    INSTALL(DIRECTORY /Library/Frameworks/SDL.framework
DESTINATION /Applications/hatari.app/Contents/Resources) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gui-osx/French.lproj DESTINATION /Applications/hatari.app/Contents/Resources/) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gui-osx/English.lproj DESTINATION /Applications/hatari.app/Contents/Resources/)
endif(ENABLE_OSX_BUNDLE)

It worked. Great.

But... it's awfull ! Hard coded links (may be the path to SDL Framework can be found, there is PATH variable somewhere)... Need to do make install.... As the project have also other library, docs, etc...

I though that cmake can handle, automatically, all these things, but cannot find how... May be not.
I don't know where the localized resource should go into (resource
directory?), but again e.g. I do:
Yes.
if(APPLE)
        add_executable(
                xrick MACOSX_BUNDLE
                        ${xrick_SRCS}
                        ${xrick_data}
                        ${xrick_RSRCS}
        )

        # Mac OS X bundle specific settings
        set(MACOSX_BUNDLE true)
        set(MACOSX_BUNDLE_BUNDLE_NAME xrick)
        set(MACOSX_BUNDLE_INFO_STRING "xrick ${xrick_VERSION}")
        set(MACOSX_BUNDLE_LONG_VERSION_STRING "${xrick_VERSION}")
        set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${xrick_VERSION}")
        set(MACOSX_BUNDLE_BUNDLE_VERSION "${xrick_VERSION}")
   set(MACOSX_BUNDLE_ICON_FILE xrick.icns)

   # paths for data files in bundle
   set_source_files_properties(
     ${xrick_RSRCS}
     PROPERTIES
       MACOSX_PACKAGE_LOCATION Resources
   )
   set_source_files_properties(
     ${xrick_data}
     PROPERTIES
       MACOSX_PACKAGE_LOCATION MacOS
   )
endif(APPLE)

Resources etc. get copied in to the app bundle "automatically".


That's not working with folder. Hélas....

Read the BundleUtilities.cmake module in the cmake.app - there is a lot
of documentation. Short example

Cannot understand all what is supposed to do "fix_bundle", but, sure, it's not finished. Yes, it does copy Library and Framework (i test it), but do not work with SDL. And do not handle Localized Resources....

make two build directories. in one run cmake with

How do you do that ? I tried to change the Binaries path in CMake GUI, got 1234 errors....
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_OSX_ARCHITECTURES=i386 ..

and in the other

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=i386;ppc ..

I'll be back to XCode project as fast as I try to fix Hatari cmake build system.



Jerome
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to