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") |