py-shiboken cmake

Mark Brethen mark.brethen at gmail.com
Sat Jul 5 07:56:13 PDT 2014


On Jul 5, 2014, at 9:44 AM, Mark Brethen <mark.brethen at gmail.com> wrote:

> 
> On Jul 5, 2014, at 9:16 AM, Mark Moll <mmoll at rice.edu> wrote:
> 
>> 
>> On Jul 5, 2014, at 8:58 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
>> 
>>> 
>>> On Jul 5, 2014, at 8:30 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
>>> 
>>>> The port py-shiboken purposefully deletes the all of the *config.cmake files:
>>>> 
>>>> post-destroot {
>>>>     move ${destroot}${prefix}/bin/shiboken ${destroot}${prefix}/bin/shiboken-${python.branch}
>>>>     move ${destroot}${prefix}/include/shiboken ${destroot}${prefix}/include/shiboken-${python.branch}
>>>>     move ${destroot}${prefix}/share/man/man1/shiboken.1 ${destroot}${prefix}/share/man/man1/shiboken-${python.branch}.1
>>>>     if {${python.version} < 30} {
>>>>         move ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig-python${python.branch}.cmake
>>>>     } else {
>>>>         file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig.cpython-${python.version}m.cmake
>>>>     }
>>>>     file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig.cmake
>>>>     file delete ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfigVersion.cmake
>>>>     file delete ${destroot}${prefix}/lib/pkgconfig/shiboken.pc
>>>> }
>>>> 
>>>> freecad requires them to build. I did not find ${prefix}/lib/cmake/ in my macports tree. Should the files go there or is there another location they should reside?
>>>> 
>>>> 
>>>> Mark
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> Would it make more sense to put:
>>> 
>>> ${destroot}${prefix}/lib/pkgconfig/shiboken.pc --> ${destroot}${prefix}/Library/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig/shiboken.pc
>>> ${destroot}${prefix}/lib/cmake/Shiboken-${version}/ShibokenConfig*.cmake --> ${destroot}${prefix}/Library/Frameworks/Python.framework/Versions/2.7/lib/cmake/Shiboken-${version}/ShibokenConfig*.cmake
>> 
>> That makes some sense, but you’d have to tell cmake and pkg-config explicitly where to find these files. 
>> 
>> My reason for deleting these files was that the different py*-shiboken ports write to the same files. I figure that dependent ports would just do something like:
>> 
>> 	cmake -DSHIBOKEN_INCLUDE_DIRS=…  -DSHIBOKEN_LIBRARIES=…
>> 
>> With your solution you still need to do something like this:
>> 
>> 	cmake -DCMAKE_PREFIX_PATH=${prefix}//Library/Frameworks/Python.framework/Versions/2.7
>> 
>> This might be more robust, though. Unless someone objects, I’ll make the suggested changed to py-shiboken.
>> 
>> -- 
>> Mark Moll
> 
> I looked at the error message again:
> 
> :info:configure   By not providing "FindShiboken.cmake" in CMAKE_MODULE_PATH this project has
> :info:configure   asked CMake to find a package configuration file provided by "Shiboken",
> :info:configure   but CMake did not find one.
> :info:configure 
> :info:configure   Could not find a package configuration file provided by "Shiboken" with any
> :info:configure   of the following names:
> :info:configure 
> :info:configure     ShibokenConfig.cmake
> :info:configure     shiboken-config.cmake
> :info:configure 
> :info:configure   Add the installation prefix of "Shiboken" to CMAKE_PREFIX_PATH or set
> :info:configure   "Shiboken_DIR" to a directory containing one of the above files.  If
> :info:configure   "Shiboken" provides a separate development package or SDK, be sure it has
> :info:configure   been installed.
> :info:configure 
> :info:configure 
> :info:configure -- Configuring incomplete, errors occurred!
> 
> I didn't read it that way at first, but passing the installation directory should work. I wonder why it didn't find them, since the cmake portgroup should be passing this to cmake?
> 
> Mark
> 
> 
> 
> 

setting 

        -DSHIBOKEN_LIBRARIES=${prefix}/lib  \
        -DSHIBOKEN_INCLUDE_DIRS=${prefix}/include/shiboken-2.7

did not work.

Mark






More information about the macports-dev mailing list