fixbundle.cmake.in 1.96 KB
Newer Older
Jan Möbius's avatar
Jan Möbius committed
1 2 3
# Interpret booleans directly without dereferencing them
cmake_policy(SET CMP0012 NEW)

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
# gp_item_default_embedded_path_override item default_embedded_path_var
#
# Return the path that others should refer to the item by when the item
# is embedded inside a bundle.
#
# This is a project-specific override of BundleUtilities.cmake's
# gp_item_default_embedded_path
#
function(gp_item_default_embedded_path_override item default_embedded_path_var)

  # By default, embed items as set by gp_item_default_embedded_path:
  #
  set(path "${${default_embedded_path_var}}")

  # But for OpenFlipper...
  #
  # ...embed *.dylib in the Libraries folder:
  #
  if(item MATCHES "\\.dylib$")
    set(path "@executable_path/../Libraries")
  endif()

  # ...embed qt plugins in the Libraries folder:
  #
  if(item MATCHES "@QT_PLUGINS_DIR@" AND item MATCHES "\\.bundle")
    file (RELATIVE_PATH _plugin "@QT_PLUGINS_DIR@" "${item}")
    get_filename_component(_dir "${_plugin}" PATH)
    set(path "@executable_path/../Resources/QtPlugins/${_dir}")
  endif()

  # ...embed *.so in the Plugins folder:
  #
  if(item MATCHES "\\.so$")
    set(path "@executable_path/../Resources/Plugins")
  endif()

  set(${default_embedded_path_var} "${path}" PARENT_SCOPE)
endfunction(gp_item_default_embedded_path_override)

include (BundleUtilities)

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
#if ( @BUILD_APPS@ )
#  message("Fixing up bundle ...")
#
#  # copy qt plugins to bundle
#  file (GLOB _plugins "@CMAKE_BINARY_DIR@/Build/OpenFlipper.app/Contents/Resources/Plugins/*.so")
#  file (GLOB_RECURSE _qtplugins "@QT_PLUGINS_DIR@/*.bundle")
#  foreach (_qtp ${_qtplugins})
#    get_filename_component(_dir "${_qtp}" PATH)
#    list(APPEND _qtdirs "${_dir}")
#  endforeach ()

#  # fix all dependencies
#  fixup_bundle (@CMAKE_BINARY_DIR@/Build/bin/QtViewer "${_qtplugins}" "/usr/lib;${_qtdirs};${_GlutDir}")
#
#endif()
60 61

# create qt plugin configuration file
62
# file(WRITE "@CMAKE_BINARY_DIR@/Build/OpenMesh.app/Contents/Resources/qt.conf" "[Paths]\nPlugins = Resources/QtPlugins")
63