tools/CreateMacBundle.cmake.in
author Bryan Dunsmore <dunsmoreb@gmail.com>
Sat, 01 Dec 2012 15:40:10 -0600
changeset 8164 b12634f2e1b2
parent 7817 6cc558a69b58
child 8316 89232b2fa1d6
permissions -rw-r--r--
Move noexecstack flags to Freepascal module and refactor.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4335
c279aeb615df improve mac bundle creation
koda
parents: 2547
diff changeset
     1
message(STATUS "Performing standalone bundle creation...")
c279aeb615df improve mac bundle creation
koda
parents: 2547
diff changeset
     2
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
     3
execute_process(COMMAND ls ${frameworks_dir} RESULT_VARIABLE doBundle OUTPUT_QUIET ERROR_QUIET)
5096
7d588baaff82 small tweak for bundle creation
koda
parents: 5053
diff changeset
     4
execute_process(COMMAND mkdir -p ${frameworks_dir})
7816
a25e943dd4b0 finally videorec on osx
koda
parents: 7112
diff changeset
     5
# macdeployqt will convert safely any absolute path library for 'hedgewars'
7112
38c5d56c4d6e rename a few internal cmake variables (for consistency and readability)
koda
parents: 5096
diff changeset
     6
execute_process(COMMAND ${macdeployqt_executable} ${CMAKE_BINARY_DIR}/${bundle_name} OUTPUT_QUIET ERROR_QUIET)
7817
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
     7
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
     8
if(NOT ${NOVIDEOREC})
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
     9
    # but macdeployqt will not work for 'hwengine'; luckily the dylibs were already updated before
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    10
    execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVCODEC} @executable_path/../Frameworks/libavcodec.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    11
    execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVFORMAT} @executable_path/../Frameworks/libavformat.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    12
    execute_process(COMMAND install_name_tool -change ${FFMPEG_LIBAVUTIL} @executable_path/../Frameworks/libavutil.dylib ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    13
endif()
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    14
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    15
if(NOT ${NOPNG})
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    16
    #same here, for libpng and hwengine, let's assume the version pulled by macdeployqt is the same
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    17
    #(yes libpng is pulled by macdeployqt even when NOVIDEOREC is active)
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    18
    execute_process(COMMAND install_name_tool -change ${PNG_LIBRARY} @executable_path/../Frameworks/${PNG_LIBNAME} ${CMAKE_BINARY_DIR}/${bundle_name}/Contents/MacOS/hwengine)
6cc558a69b58 countless small optimisation for cmake, output messages are now coherent (mostly) and the options get fully respected (eg. skipping library search if not activated)
koda
parents: 7816
diff changeset
    19
endif()
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    20
5096
7d588baaff82 small tweak for bundle creation
koda
parents: 5053
diff changeset
    21
if(doBundle EQUAL 1)
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    22
    execute_process(COMMAND cp -pPR ${sdl_dir}          ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    23
    execute_process(COMMAND cp -pPR ${SDLIMAGE_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_image.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    24
    execute_process(COMMAND cp -pPR ${SDLNET_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_net.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    25
    execute_process(COMMAND cp -pPR ${SDLTTF_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_ttf.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    26
    execute_process(COMMAND cp -pPR ${SDLMIXER_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/SDL_mixer.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    27
    execute_process(COMMAND cp -pPR ${OGG_LIBRARY}      ${CMAKE_BINARY_DIR}/${frameworks_dir}/Ogg.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    28
    execute_process(COMMAND cp -pPR ${VORBIS_LIBRARY}   ${CMAKE_BINARY_DIR}/${frameworks_dir}/Vorbis.framework)
2401
2a694ea2a437 fixes & co.
koda
parents: 2261
diff changeset
    29
5053
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    30
    if(${SPARKLE_FOUND})
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    31
        execute_process(COMMAND cp -pPR ${SPARKLE_LIBRARY} ${CMAKE_BINARY_DIR}/${frameworks_dir}/Sparkle.framework)
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    32
    endif()
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    33
    message(STATUS "Bundle frameworks added")
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    34
else()
a767954cfa03 this should help people hacking the cmake files
koda
parents: 4335
diff changeset
    35
    message(STATUS "Bundle frameworks already present; skipping...")
2401
2a694ea2a437 fixes & co.
koda
parents: 2261
diff changeset
    36
endif()