[cmake-developers] CMAKE_INSTALL_PREFIX vs CMAKE_SYSROOT ?

Brad King brad.king at kitware.com
Wed Jul 10 11:31:25 EDT 2013


On 07/10/2013 11:17 AM, Stephen Kelly wrote:
> Brad King wrote:
> 
>> On 7/4/2013 4:29 AM, Stephen Kelly wrote:
>>> I can't think of anything that can be done with CMAKE_FIND_ROOT_PATH
>>> which can't be done with CMAKE_PREFIX_PATH (with a bit more repetition on
>>> the command line, I think). Should we enumerate the use cases to consider
>>> documenting it obsolete?
>>
>> One could have several roots in which target-arch packages
>> are installed.  CMAKE_FIND_ROOT_PATH can list all of them.
>> The others are not lists.
> 
> I don't understand. CMAKE_PREFIX_PATH is a list.

Oops, I misread it as CMAKE_INSTALL_PREFIX for some reason.
Anyway, IIUC CMAKE_FIND_ROOT_PATH can be used to map *all*
searches with CMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY, not
just those whose locations come from CMAKE_PREFIX_PATH, no?

> Even if we simplify and only install one target library (and build nothing 
> for the host), I don't know what values are appropriate. If I set 
> 
>  CMAKE_INSTALL_PREFIX -> /opt/kf5
>  DESTDIR -> $HOME/dev/kf5

DESTDIR is only for packaging so we need a solution that works
without that anyway.

To install to $HOME/dev/kf5 on the host then CMAKE_INSTALL_PREFIX
should be $HOME/dev/kf5 currently.  What is wrong with that?
Any project-specific place that needs to know the on-target path
can us a project-specific variable.  CMake-generated export files
are relocatable and do not even know the original install prefix
(except for the /lib->/usr/lib symlink hack, is this all for that?).

-Brad



More information about the cmake-developers mailing list