Why are KDE includes installed with COMPONENT Devel?

Alexander Neundorf neundorf at kde.org
Mon Jun 20 21:29:44 CEST 2011


On Monday 20 June 2011, Stephen Kelly wrote:
> Andreas Pakulat wrote:
> > No, its also usable on the commandline with a make install
> > CMAKE_INSTALL_COMPONENT=Devel. This could in theory be used to make it
> > easier to generate binary packages in distro scripts, since there don't
> > need to be any manual selection of files/folders to fetch only parts of
> > a full install tree for the -devel package.
> 
> Could you say more exactly home to do a component installation?
> 
> I tried
> 
> cmake -DCMAKE_INSTALL_COMPONENT=Devel && make && make install
> 
> But that seems to install everything.

Yes. CMAKE_INSTALL_COMPONENT is a variable just used in the 
cmake_install.cmake script, so it must be given when running this script.
"make install" basically does "cmake -P cmake_install.cmake".

In script mode (-P) no cache or anything is read, just the given script file 
is executed, so at this moment it doesn't matter whether 
CMAKE_INSTALL_COMPONENT is in the cache or not.

> I also found:
> 
> http://www.cmake.org/pipermail/cmake/2006-October/011362.html
> 
> But when I run
> 
> cmake -DCOMPONENT=Runtime -P cmake_install.cmake
> 
> it does not also install the dependency component of Runtime. Ie, set with:
> 
> set(CPACK_COMPONENT_RUNTIME_DEPENDS OtherComponent)

Puh, don't know about that one.
Did you have a look at the cmake_install.cmake script already ?
They are quite straightforward.
I guess that CPACK_COMPONENT_RUNTIME_DEPENDS is used by cpack and then calls 
cmake -P cmake_install.cmake multiple times. 
grep says it is used in cmPackGenerator.cxx.
So, when you set this variable, and then run cpack/make package  with 
component support I think it should be used.
 
> That's an old thread, so if there's a more modern way of doing this I'd
> like to try it before filing a bug.

I didn't follow the cpack development too closely since Eric Noulard is 
basically taking care of it.

Alex


More information about the Kde-buildsystem mailing list