Building a cmake-based package
Randolph M. Fritz
RFritz at lbl.gov
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?
Randolph
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 lbl.gov> 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