[CMake] Changes made for Mac fixup_bundle
Clinton Stimpson
clinton at elemtech.com
Thu Nov 7 10:12:02 EST 2013
BundleUtilities.cmake assumes a bundle layout, which is
App.app/
Contents/
MacOS/
Frameworks/
Instead, you have
install/
bin/TestApp
Frameworks/
MacOS/
Which does not work. You could try overriding the relative placement of
libraries with something like this:
function(gp_item_default_embedded_path_override item path)
set(path @executable_path PARENT_SCOPE)
endfunction()
Or modify the layout of your install tree.
Clint
On Wednesday, October 23, 2013 04:07:01 PM Yoon, Jong Seo wrote:
> The command I pass to fixup_bundle is
>
> fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${LIBRARY_DIRS}\")
>
> The arguments printed out is
>
> APPS =
> /Users/jongseoyoon/jsy/crkit/builds/release-1.6_build_2.8.3_2nd/crkit_build
> /install/bin/TestApp QTPLUGINS =
> LIBRARY_DIRS =
> /Users/foo/build/install/itk/lib/InsightToolkit/Users/foo/build/install/vtk
> /lib/vtk-5.6/Users/foo/build/install/qt-4.8.4/Users/foo/build/install/Framew
> orks/vtk-5.6.1/lib//Users/foo/build/install/Frameworks/qt-4.8.4/lib/Users/fo
> o/build/install/Frameworks/InsightToolkit
>
> The QTPLUGINS are empty for both cmake 2.8.3 and cmake 2.8.11.2.
> I don't use QTPLUGINS, but does this need to be not empty?
>
> Regarding the item_substring, that is not a typo. It does come out that way,
> and I tried to find where that is occurring, but I couldn't. Could that be
> the reason by it's failing to execute fixup_bundle?
>
> Thank you so much for helping me out!
>
> Sincerely,
>
> Jong
>
> -----Original Message-----
> From: Clinton Stimpson [mailto:clinton at elemtech.com]
> Sent: Tuesday, October 22, 2013 5:02 PM
> To: cmake at cmake.org
> Cc: Yoon, Jong Seo
> Subject: Re: [CMake] Changes made for Mac fixup_bundle
>
>
> Is this a typo?
> item_substring='/Users/foo/build /install/MacO'
>
> Can you please post the arguments you are passing to fixup_bundle()? The
> arguments are also printed out, for example: fixup_bundle
> app='/.../cmake/build/Tests/BundleUtilities/testdir2/testbundleutils2'
> libs='/.../cmake/build/Tests/BundleUtilities/testdir2/module2.so'
> dirs='/.../cmake/build/Tests/BundleUtilities'
>
> Clint
>
> On Tuesday, October 22, 2013 05:16:20 PM Yoon, Jong Seo wrote:
> > Hi Everyone,
> >
> > I have a question regarding the changes cmake changes from 2.8.3 to
> > 2.8.4 and above.
> >
> > I am getting this error when I try to make a dmg file for Mac using
> > cmake 2.8.11.2.
> >
> > exe_dotapp_dir/='/Users/foo/build/install/bin/'
> > item_substring='/Users/foo/build /install/MacO'
> > resolved_embedded_item='/Users/foo/build/install/MacOS/libITKBasicFilters.
> > 3. 20.dylib'
> >
> > Install or copy the item into the bundle before calling fixup_bundle.
> > Or maybe there's a typo or incorrect path in one of the args to
> > fixup_bundle?
> >
> > CMake Error at
> > /Users/foo/build/install/cmake/share/cmake-2.8/Modules/BundleUtilities
> > .cmak
> > e:568 (message): cannot fixup an item that is not in the bundle...
> > Call Stack (most recent call first):
> > /Users/foo/build/install/cmake/share/cmake-2.8/Modules/BundleUtilities
> > .cmake
> >
> > :656 (fixup_bundle_item)
> >
> > /Users/foo/build/bingcc/cmake_install.cmake:39
> > (fixup_bundle)
> >
> > The package I am trying to build works for cmake 2.8.3, but the error
> > message above shows up when I try to build it with cmake 2.8.4 and above.
> > Was there any changes to fixup_bundle from cmake 2.8.3 to cmake 2.8.4?
> >
> > Can anyone tell me what the error means?
> >
> > I am making this package with itk 3.20.1, vtk 5.6.1, and qt 4.8.4.
> >
> > Thank you so much for your help!
> >
> > Sincerely,
> >
> > Jong
--
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
More information about the CMake
mailing list