All:
I am trying to fix one last problem with the bundle being created with Cmake.
This problem is unique to OS X, as the app is being created for Windows, and 
Linux with no problems.
After all the pieces are built and assembled together into the .app bundle we 
call fixup_bundle like so:

IF(APPLE)
# -- Run the BundleUtilities cmake code
  SET(CPACK_BUNDLE_PLIST "${CMAKE_SOURCE_DIR}/buildosx/Info.plist")

  SET(APPS "\${CMAKE_INSTALL_PREFIX}/OpenCPN.app")
  SET(DIRS "")

  SET(LIBS 
"\${CMAKE_INSTALL_PREFIX}/OpenCPN.app/Contents/PlugIns/libdashboard_pi.dylib")
  SET(LIBS
      ${LIBS} 
"\${CMAKE_INSTALL_PREFIX}/OpenCPN.app/Contents/PlugIns/libgrib_pi.dylib")

  INSTALL(CODE "
   include(BundleUtilities)
   fixup_bundle(\"${APPS}\"   \"${LIBS}\"   \"${DIRS}\")
   " COMPONENT Runtime)

Previously we have copied into the .app bundle at location 
OpenCPN.app/Contents/PlugIns the plugins .dylibs with this command:

        foreach(pi 
${CMAKE_CURRENT_BINARY_DIR}/plugins/dashboard_pi/libdashboard_pi.dylib;${CMAKE_CURRENT_BINARY_DIR}/plugins/grib_pi/libgrib_pi.dylib)
                install(PROGRAMS ${pi}
                DESTINATION 
"${MACOSX_PACKAGE_LOCATION}/${PACKAGE_NAME}.app/Contents/PlugIns"
        )
        endforeach()

So far so good, when fixup_bundle runs it completes without any errors.  All 
the .dylibs and the main app have had the paths fixed so they all refer to each 
other or the systems libs which are common to all Macs.

But the plugins .dylibs still have the paths for all dependencies (which are 
wxWidgets .dylibs) still pointing to the place were they were originally built, 
which was built using homebrew.
My question is can I tell Cmake to fix these paths or do I have to do it 
manually with the systems command "install_name_tool".

TIA,
Ed

--

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