[CMake] some comments to the new INSTALL() command
Brad King
brad.king at kitware.com
Wed Mar 8 00:28:01 EST 2006
Alexander Neundorf wrote:
> some thoughts to the new INSTALL command:
>
> -with the old INSTALL commands the paths were always interpreted relative
> to CMAKE_INSTALL_PREFIX. At least I got used to writing "/bin", "/lib"
> etc. I.e. that the install dir always starts with a "/", so that
> "${CMAKE_INSTALL_PREFIX}${LIB_INSTALL_DIR}" gives the absolute target
> directory.
> Now it is very nice that one can specify different install paths with the
> new INSTALL command. But in order to be installed relative to
> CMAKE_INSTALL_PREFIX, now "bin" and "lib" have to be used instead of
> "/bin" and "/lib". Just because people are used to start the path with a
> "/" I think this may lead to problems for many people where stuff is
> suddenly installed to /bin and /lib instead of
> ${CMAKE_INSTALL_PREFIX}/[bin|lib].
> Maybe it would be better to have two different arguments, "DESTINATION"
> and "ABS_DESTINATION" or something like this.
New people learning CMake will just use the new INSTALL command and
learn the new interface. Current users that change to the INSTALL
command will probably do so to use some of its features and will thus
have read the documentation. A few people might mistakenly install
things to the wrong place the first time they write the call to the
command but will quickly discover the mistake and fix it. I don't want
to skrew with the nice new interface to save a few people 5 minutes of
debugging. I always thought the old interface's leading slash was both
confusing and unnecessary anyway which is why the new interface does not
have it.
> -it is not possible to set the owner and group, at least I didn't find it
>
> -how about a INSTALL( [REMOVE|REMOVE_DIR] ...) to remove files during
> installation ?
I've updated the generic install feature request bug entry with these:
http://www.cmake.org/Bug/bug.php?op=show&bugid=2691
For now you should be able to use the INSTALL(SCRIPT) mode to run
whatever you want. CMAKE_COMMAND is now available from these scripts.
-Brad
More information about the CMake
mailing list