tools/CreateMacBundle.cmake.in
changeset 8316 89232b2fa1d6
parent 7817 6cc558a69b58
child 8317 ec9f94ab2737
equal deleted inserted replaced
8315:b3875e10a8ae 8316:89232b2fa1d6
     1 message(STATUS "Performing standalone bundle creation...")
     1 message(STATUS "Performing standalone bundle creation...")
     2 
     2 
     3 execute_process(COMMAND ls ${frameworks_dir} RESULT_VARIABLE doBundle OUTPUT_QUIET ERROR_QUIET)
     3 execute_process(COMMAND stat ${target_library_install_dir} RESULT_VARIABLE doBundle OUTPUT_QUIET ERROR_QUIET)
     4 execute_process(COMMAND mkdir -p ${frameworks_dir})
     4 execute_process(COMMAND mkdir -p ${target_library_install_dir})
     5 # macdeployqt will convert safely any absolute path library for 'hedgewars'
     5 # macdeployqt will convert safely any absolute path library for 'hedgewars'
     6 execute_process(COMMAND ${macdeployqt_executable} ${CMAKE_BINARY_DIR}/${bundle_name} OUTPUT_QUIET ERROR_QUIET)
     6 execute_process(COMMAND ${macdeployqt_executable} ${CMAKE_BINARY_DIR}/Hedgewars.app OUTPUT_QUIET ERROR_QUIET)
     7 
     7 
     8 if(NOT ${NOVIDEOREC})
     8 if(NOT ${NOVIDEOREC})
     9     # but macdeployqt will not work for 'hwengine'; luckily the dylibs were already updated before
     9     # but macdeployqt will not work for 'hwengine'; luckily the dylibs were already updated before
    10     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVCODEC} @executable_path/../Frameworks/libavcodec.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
    10     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVCODEC} @executable_path/../Frameworks/libavcodec.dylib ${CMAKE_INSTALL_PREFIX}/hwengine)
    11     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVFORMAT} @executable_path/../Frameworks/libavformat.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
    11     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVFORMAT} @executable_path/../Frameworks/libavformat.dylib ${CMAKE_INSTALL_PREFIX}/hwengine)
    12     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVUTIL} @executable_path/../Frameworks/libavutil.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
    12     execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVUTIL} @executable_path/../Frameworks/libavutil.dylib ${CMAKE_INSTALL_PREFIX}/hwengine)
    13 endif()
    13 endif()
    14 
    14 
    15 if(NOT ${NOPNG})
    15 if(NOT ${NOPNG})
    16     #same here, for libpng and hwengine, let's assume the version pulled by macdeployqt is the same
    16     #same here, for libpng and hwengine, let's assume the version pulled by macdeployqt is the same
    17     #(yes libpng is pulled by macdeployqt even when NOVIDEOREC is active)
    17     #(yes libpng is pulled by macdeployqt even when NOVIDEOREC is active)
    18     execute_process(COMMAND install_name_tool -change ${PNG_LIBRARY} @executable_path/../Frameworks/${PNG_LIBNAME} ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
    18     execute_process(COMMAND install_name_tool -change ${PNG_LIBRARY} @executable_path/../Frameworks/${PNG_LIBNAME} ${CMAKE_INSTALL_PREFIX}/hwengine)
    19 endif()
    19 endif()
    20 
    20 
    21 if(doBundle EQUAL 1)
    21 if(doBundle EQUAL 1)
    22     execute_process(COMMAND cp -pPR ${sdl_dir}          ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL.framework)
    22     execute_process(COMMAND cp -pPR ${sdl_library_only} ${target_library_install_dir}/SDL.framework)
    23     execute_process(COMMAND cp -pPR ${SDLIMAGE_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_image.framework)
    23     execute_process(COMMAND cp -pPR ${SDLIMAGE_LIBRARY} ${target_library_install_dir}/SDL_image.framework)
    24     execute_process(COMMAND cp -pPR ${SDLNET_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_net.framework)
    24     execute_process(COMMAND cp -pPR ${SDLNET_LIBRARY}   ${target_library_install_dir}/SDL_net.framework)
    25     execute_process(COMMAND cp -pPR ${SDLTTF_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_ttf.framework)
    25     execute_process(COMMAND cp -pPR ${SDLTTF_LIBRARY}   ${target_library_install_dir}/SDL_ttf.framework)
    26     execute_process(COMMAND cp -pPR ${SDLMIXER_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_mixer.framework)
    26     execute_process(COMMAND cp -pPR ${SDLMIXER_LIBRARY} ${target_library_install_dir}/SDL_mixer.framework)
    27     execute_process(COMMAND cp -pPR ${OGG_LIBRARY}      ${CMAKE_BINARY_DIR}/${frameworks_dir}/Ogg.framework)
    27     execute_process(COMMAND cp -pPR ${OGG_LIBRARY}      ${target_library_install_dir}/Ogg.framework)
    28     execute_process(COMMAND cp -pPR ${VORBIS_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/Vorbis.framework)
    28     execute_process(COMMAND cp -pPR ${VORBIS_LIBRARY}   ${target_library_install_dir}/Vorbis.framework)
    29 
    29 
    30     if(${SPARKLE_FOUND})
    30     if(${SPARKLE_FOUND})
    31         execute_process(COMMAND cp -pPR ${SPARKLE_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/Sparkle.framework)
    31         execute_process(COMMAND cp -pPR ${SPARKLE_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/Sparkle.framework)
    32     endif()
    32     endif()
    33     message(STATUS "Bundle frameworks added")
    33     message(STATUS "Bundle frameworks added")