[CMake] osx bundle question
Zaak Beekman
zbeekman at gmail.com
Sun Apr 20 23:01:22 EDT 2014
I compile my Fortran and C project using the GCC and Intel compilers on Mac
OS X. After calls to fixup_bundle the required dynamic libraries get copied
into the Contents/MacOS/ directory, and libgcc_s.1.dylib is copied there
when compiling with either of the compilers. However, the output of otool
-L ...../Contents/MacOS/myapp is different depending on which compiler was
used. For the GCC compiled and fixed up executable the output is:
`@executable_path/../MacOS/libgcc_s.1.dylib (compatibility version 1.0.0,
current version 1.0.0)` whereas for the Intel compiled bundle executable it
is: `/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 2577.0.0)`
So my questions are:
1. Will the present a problem running the packaged binary on other Macs
which may not have compilers installed?
2. Why did this happen?
3. Is there something I can do to fix it, if it is broken.
Bellow is some of the output from the 'install' target, where the
'fixup_bundle' command is called:
Intel:
Install the project...
-- Install configuration: "Release"
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Info.plist
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/MacOS
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/MacOS/myapp
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Resources
-- Installing:
/Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Resources/myapp.icns
-- fixup_bundle
-- app='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- libs=''
-- dirs=''
-- fixup_bundle: preparing...
-- fixup_bundle: copying...
-- 1/6: *NOT* copying
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- 2/6: copying '/usr/local/lib/libgcc_s.1.dylib'
-- 3/6: copying '/usr/local/lib/libstdc++.6.dylib'
-- fixup_bundle: fixing...
-- 4/6: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- 5/6: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/libgcc_s.1.dylib'
-- 6/6: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/libstdc++.6.dylib'
-- fixup_bundle: cleaning up...
-- fixup_bundle: verifying...
--
===========================================================================
-- Analyzing app='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- bundle='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- executable='/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- valid='1'
-- executable file 1:
/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp
-- verified='1'
-- info='Verified 1 executable files in
'/Volumes/MYAPP/legacy/APPLE/myapp.app''
--
-- verified='1'
-- info=''
--
-- fixup_bundle: done
gcc/gfortran:
Install the project...
-- Install configuration: "Release"
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Info.plist
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/MacOS
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/MacOS/myapp
-- Installing: /Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Resources
-- Installing:
/Volumes/MYAPP/legacy/APPLE/./myapp.app/Contents/Resources/myapp.icns
-- fixup_bundle
-- app='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- libs=''
-- dirs=''
-- fixup_bundle: preparing...
-- fixup_bundle: copying...
-- 1/8: *NOT* copying
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- 2/8: copying '/opt/local/lib/libgcc/libgcc_s.1.dylib'
-- 3/8: copying '/opt/local/lib/libgcc/libgfortran.3.dylib'
-- 4/8: copying '/opt/local/lib/libgcc/libquadmath.0.dylib'
-- fixup_bundle: fixing...
-- 5/8: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- 6/8: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/libgcc_s.1.dylib'
-- 7/8: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/libgfortran.3.dylib'
-- 8/8: fixing up
'/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/libquadmath.0.dylib'
-- fixup_bundle: cleaning up...
-- fixup_bundle: verifying...
--
===========================================================================
-- Analyzing app='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- bundle='/Volumes/MYAPP/legacy/APPLE/myapp.app'
-- executable='/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp'
-- valid='1'
-- executable file 1:
/Volumes/MYAPP/legacy/APPLE/myapp.app/Contents/MacOS/myapp
-- verified='1'
-- info='Verified 1 executable files in
'/Volumes/MYAPP/legacy/APPLE/myapp.app''
--
-- verified='1'
-- info=''
--
-- fixup_bundle: done
Thanks,
Izaak Beekman
===================================
(301)244-9367
Princeton University Doctoral Candidate
Mechanical and Aerospace Engineering
ibeekman at princeton.edu
UMD-CP Visiting Graduate Student
Aerospace Engineering
ibeekman at umiacs.umd.edu
ibeekman at umd.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140420/dc037b74/attachment.html>
More information about the CMake
mailing list