Building a cmake-based package

Randolph M. Fritz RFritz at
Mon Aug 6 15:32:11 PDT 2012

I followed your suggestion, and it almost worked.  But...

> :info:destroot -- fixup_bundle
> :info:destroot --   app='/opt/local/bin/rvu'
> :info:destroot --   
> libs='/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqgif.dylib;/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqico.dylib;/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqjpeg.dylib;/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqmng.dylib;/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqsvg.dylib;/opt/local/var/macports/build/_Users_rfritz_MacPorts_science_radiance/radiance/work/destroot/opt/local/bin/plugins/imageformats/libqtiff.dylib' 
> :info:destroot --   dirs='/opt/local/lib;/opt/local/lib;/opt/local/lib'
> :info:destroot -- warning: *NOT* handled - directory/file does not exist...
> :info:destroot CMake Error at 
> /opt/local/share/cmake-2.8/Modules/BundleUtilities.cmake:668 (message):
> :info:destroot   error: fixup_bundle: not a valid bundle
> :info:destroot Call Stack (most recent call first):
> :info:destroot   InstallRules/dependencies.cmake:20 (fixup_bundle)
> :info:destroot   InstallRules/cmake_install.cmake:31 (INCLUDE)
> :info:destroot   cmake_install.cmake:160 (INCLUDE)

It looks like the "dirs" parameter of fixup_bundle is not picking up 
the destroot, and instead pointing at the install directory.  But I 
could be wrong about this; cmake is very complicated and I do not have 
the doc set that goes with it?

Anyone seen anything like this?


On 2012-08-04 01:14:47 +0000, Ryan Schmidt said:

> Being a question about how to develop Portfiles, this thread should 
> occur on the macports-dev list, not the macports-users list.
> On Aug 3, 2012, at 19:00, Randolph M. Fritz 
> <RFritz at> wrote:
>> The shell commands I'd like to write for the configure step are:
>> cd ${worksrcpath}
>> cmake -G 'Unix Makefiles'
>> After that, I think everything will just drop into place.
>> So far, though, I can't figure out what to write in the "configure" 
>> step to get this to happen.  I've tried numerous variations on:
>> configure	    {
>> cd ${worksrcpath}
>> exec cmake -G {Unix Makefiles}
>> }
>> but so far no joy.
> In the top part of the Portfile, after the "PortSystem 1.0" line, add 
> the line "PortGroup cmake 1.0". This will add a cmake build dependency, 
> set up the configure phase to run cmake instead of ./configure, and in 
> other ways set the port up for standard cmake operating procedure. The 
> cmake portgroup is not described in the MacPorts Guide, so I also 
> recommend you just read the cmake-1.0.tcl source file to see what all 
> it does for you.
> Then in the configure area of the Portfile, you can add the line:
> configure.args-append -G 'Unix Makefiles'
> if that is truly required. (Try it without that line first and see what 
> happens.)

Randolph M. Fritz

More information about the macports-dev mailing list