[CMake] macosx fix bundle problems

David Cole david.cole at kitware.com
Tue Sep 8 17:22:28 EDT 2009


These lines of output near the beginning:
-- warning: *NOT* handled - .app directory case...
-- error: fixup_bundle: not a valid bundle

...indicate that fixup_bundle is not getting a .app bundle as its input...

The assumption made by fixup_bundle is that there is an executable in the
.app/Contents/MacOS folder to begin analyzing. Then, based on what its
prerequisites are, various libraries get copied into the bundle as well.
This output looks like that initial executable is not there yet.

Looks like your "INSTALL(SCRIPT" snippet occurs before the install rule for
the bundle executable. Make sure they both occur in the same CMakeLists.txt
file and that the script snippet comes after the install rule for the
executable. Then it should work like you expect...


HTH,
David


On Sat, Sep 5, 2009 at 4:15 PM, Petr Vanek <petr at scribus.info> wrote:

> 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)
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090908/869c8f80/attachment-0001.htm>


More information about the CMake mailing list