[CMake] macosx fix bundle problems

Petr Vanek petr at scribus.info
Sat Sep 5 16:15:43 EDT 2009


hi all,

I have a Qt4 application with bundle build support taken from cmake  
wiki example.

When I run "deploy" phase with make install, the correct structure is  
created in CMAKE_INSTALL_PREFIX.

But it looks like cmake's fixup_bundle function from BundleUtilities  
does its job only partially.

All Qt frameworks are fixed correctly to use @executable_path, but the  
main binary still contains links to my development environment.

What could be the issue?

thanks,
Petr Vanek


code:
http://tora.svn.sourceforge.net/viewvc/tora/trunk/tora/

1st make install run:

rimmer:build-bundle pvanek$ make install
[  1%] Built target tora_loki_lib
[100%] Built target tora
Install the project...
-- Install configuration: "RELEASE"
Removing Previous TOra.app bundle at /Users/pvanek/oss/tora/bundle/
Copying TOra.app from the build tree to /Users/pvanek/oss/tora/bundle/
-- fixup_bundle
--   app='/Users/pvanek/oss/tora/bundle/TOra.app'
--   libs=''
--   dirs='Plugins'
-- warning: *NOT* handled - .app directory case...
-- error: fixup_bundle: not a valid bundle
-- fixup_bundle: done
CMake Warning (dev) at cmake_install.cmake:31 (INCLUDE):
  Policy CMP0011 is not set: Included scripts do automatic  
cmake_policy PUSH
  and POP.  Run "cmake --help-policy CMP0011" for policy details.  Use  
the
  cmake_policy command to set the policy and suppress this warning.

  The included script

    /Users/pvanek/oss/tora/trunk/tora/build-bundle/ 
TOra_OSX_MakeStandAloneBundle.cmake

  affects policy settings.  CMake is implying the NO_POLICY_SCOPE  
option for
  compatibility, so the effects are applied to the including context.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Installing: /Users/pvanek/oss/tora/bundle/tora.app
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/ 
Info.plist
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/MacOS
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/MacOS/ 
tora
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/Resources
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/ 
Resources/tora.icns

2nd make install
rimmer:build-bundle pvanek$ make install
[  1%] Built target tora_loki_lib
[100%] Built target tora
Install the project...
-- Install configuration: "RELEASE"
Removing Previous TOra.app bundle at /Users/pvanek/oss/tora/bundle/
Copying TOra.app from the build tree to /Users/pvanek/oss/tora/bundle/
-- fixup_bundle
--   app='/Users/pvanek/oss/tora/bundle/TOra.app'
--   libs=''
--   dirs='Plugins'
-- fixup_bundle: preparing...
-- fixup_bundle: copying...
-- 1/28: *NOT* copying '/Users/pvanek/oss/tora/bundle/TOra.app/ 
Contents/MacOS/tora'
-- 2/28: copying '/opt/local/lib/libcrypto.0.9.8.dylib'
-- 3/28: copying '/opt/local/lib/libpng12.0.dylib'
-- 4/28: copying '/opt/local/lib/libssl.0.9.8.dylib'
-- 5/28: copying '/opt/local/lib/libz.1.dylib'
-- 6/28: copying '/opt/local/lib/oracle/libclntsh.dylib.10.1'
-- 7/28: copying '/opt/local/lib/oracle/libocci.dylib.10.1'
-- 8/28: copying '/opt/local/lib/postgresql83/libpq.5.dylib'
-- 9/28: copying '/opt/local/libexec/qt4-mac/lib/QtCore.framework/ 
Versions/4/QtCore'
-- 10/28: copying '/opt/local/libexec/qt4-mac/lib/QtGui.framework/ 
Versions/4/QtGui'
-- 11/28: copying '/opt/local/libexec/qt4-mac/lib/QtNetwork.framework/ 
Versions/4/QtNetwork'
-- 12/28: copying '/opt/local/libexec/qt4-mac/lib/QtSql.framework/ 
Versions/4/QtSql'
-- 13/28: copying '/opt/local/libexec/qt4-mac/lib/QtXml.framework/ 
Versions/4/QtXml'
-- 14/28: copying '/opt/local/libexec/qt4-mac/lib/ 
libqscintilla2.5.dylib'
-- fixup_bundle: fixing...
-- 15/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
MacOS/tora'
-- 16/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libcrypto.0.9.8.dylib'
-- 17/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libpng12.0.dylib'
-- 18/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libssl.0.9.8.dylib'
-- 19/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libz.1.dylib'
-- 20/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
MacOS/libclntsh.dylib.10.1'
-- 21/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
MacOS/libocci.dylib.10.1'
-- 22/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libpq.5.dylib'
-- 23/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Frameworks/QtCore.framework/Versions/4/QtCore'
-- 24/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Frameworks/QtGui.framework/Versions/4/QtGui'
-- 25/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Frameworks/QtNetwork.framework/Versions/4/QtNetwork'
-- 26/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Frameworks/QtSql.framework/Versions/4/QtSql'
-- 27/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Frameworks/QtXml.framework/Versions/4/QtXml'
-- 28/28: fixing up '/Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
Libraries/libqscintilla2.5.dylib'
-- fixup_bundle: cleaning up...
-- fixup_bundle: verifying...
--  
= 
= 
= 
========================================================================
-- Analyzing app='/Users/pvanek/oss/tora/bundle/TOra.app'
-- bundle='/Users/pvanek/oss/tora/bundle/TOra.app'
-- executable='/Users/pvanek/oss/tora/bundle/TOra.app/Contents/MacOS/ 
tora'
-- valid='1'
-- executable file: /Users/pvanek/oss/tora/bundle/TOra.app/Contents/ 
MacOS/tora
-- verified='1'
-- info='Verified 1 executable files in '/Users/pvanek/oss/tora/bundle/ 
TOra.app''
-- 
-- verified='1'
-- info=''
-- 
-- fixup_bundle: done
CMake Warning (dev) at cmake_install.cmake:31 (INCLUDE):
  Policy CMP0011 is not set: Included scripts do automatic  
cmake_policy PUSH
  and POP.  Run "cmake --help-policy CMP0011" for policy details.  Use  
the
  cmake_policy command to set the policy and suppress this warning.

  The included script

    /Users/pvanek/oss/tora/trunk/tora/build-bundle/ 
TOra_OSX_MakeStandAloneBundle.cmake

  affects policy settings.  CMake is implying the NO_POLICY_SCOPE  
option for
  compatibility, so the effects are applied to the including context.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Installing: /Users/pvanek/oss/tora/bundle/tora.app
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents
-- Up-to-date: /Users/pvanek/oss/tora/bundle/tora.app/Contents/ 
Info.plist
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/MacOS
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/MacOS/ 
tora
-- Installing: /Users/pvanek/oss/tora/bundle/tora.app/Contents/Resources
-- Up-to-date: /Users/pvanek/oss/tora/bundle/tora.app/Contents/ 
Resources/tora.icns



rimmer:build-bundle pvanek$ otool -L ~/oss/tora/bundle/TOra.app/ 
Contents/MacOS/tora
/Users/pvanek/oss/tora/bundle/TOra.app/Contents/MacOS/tora:
        /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/ 
QtGui (compatibility version 4.5.0, current version 4.5.1)
        /opt/local/lib/libpng12.0.dylib (compatibility version 39.0.0,  
current version 39.0.0)
        /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon  
(compatibility version 2.0.0, current version 136.0.0)
        /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit  
(compatibility version 45.0.0, current version 949.54.0)
        /opt/local/libexec/qt4-mac/lib/QtXml.framework/Versions/4/ 
QtXml (compatibility version 4.5.0, current version 4.5.1)
        /opt/local/libexec/qt4-mac/lib/QtSql.framework/Versions/4/ 
QtSql (compatibility version 4.5.0, current version 4.5.1)
        /opt/local/libexec/qt4-mac/lib/QtNetwork.framework/Versions/4/ 
QtNetwork (compatibility version 4.5.0, current version 4.5.1)
        /usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7,  
current version 0.9.7)
        /opt/local/libexec/qt4-mac/lib/QtCore.framework/Versions/4/ 
QtCore (compatibility version 4.5.0, current version 4.5.1)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current  
version 1.2.3)
        /opt/local/lib/oracle/libocci.dylib.10.1 (compatibility  
version 0.0.0, current version 0.0.0)
        /opt/local/lib/oracle/libclntsh.dylib.10.1 (compatibility  
version 0.0.0, current version 0.0.0)
        /opt/local/libexec/qt4-mac/lib/libqscintilla2.5.dylib  
(compatibility version 5.1.0, current version 5.1.0)
        /opt/local/lib/postgresql83/libpq.5.dylib (compatibility  
version 5.0.0, current version 5.1.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0,  
current version 7.4.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0,  
current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 111.1.4)


More information about the CMake mailing list