[CMake] CMAKE_INSTALL_PREFIX problem

Jeremy Ardley jeremy.ardley at gmail.com
Wed Sep 24 03:02:07 EDT 2014


Thanks for assistance. I forgot 'reply all'. Will be better next time :-)

On 24/09/14 14:58, Petr Kmoch wrote:
> I don't know why @ was inserted, but here's why it overrides the
> absolute path: because it has no special meaning. The path then
> becomes "@/sbin", which is not an absolute path (doesn't start with
> '/'), so the install prefix is prepended normally. Bear in mind that
> Unix directory and file names can contain any characters except '/'
> and NUL.
>
> About variable substitution:
>
> ${var} is the normal way to expand variables.
>
> @var@ is primarily intended for use with configure_file(). I believe
> it works during normal CMake runs as well, but don't use it like that,
> it will only add confusion.
>
> Petr
>
> P.S. Please keep the list in copy when replying.
>
> On Wed, Sep 24, 2014 at 8:45 AM, Jeremy Ardley
> <jeremy.ardley at gmail.com <mailto:jeremy.ardley at gmail.com>> wrote:
>
>     It was
>
>     set (BUILD_BIN /sbin)
>
>     Removing that fixed the problem. Thanks!
>
>     Curious why my IDE inserted the '@' (kdevelop 3) And more so why
>     it overrides the absolute path?
>
>     I need to discover more about value substitution :=(
>
>     @somekey@ vs ${somekey}
>
>
>     On 24/09/14 14:39, Petr Kmoch wrote:
>>     Hi Jeremy.
>>
>>     Does ${BUILD_BIN} perhaps start with a slash? If so, it would be
>>     interpreted as an absolute path, which of course ignores
>>     CMAKE_INSTALL_PREFIX.
>>
>>     Petr
>>
>>     On Wed, Sep 24, 2014 at 7:58 AM, Jeremy Ardley
>>     <jeremy.ardley at gmail.com <mailto:jeremy.ardley at gmail.com>> wrote:
>>
>>         I am using cmake 2.8.9 on debian wheezy. I'm fairly new to
>>         using cmake.
>>
>>         My CMakelists.txt file starts with
>>
>>         cmake_minimum_required(VERSION 2.6)
>>         SET(CMAKE_INSTALL_PREFIX /home/jeremy/Projects/local/)
>>         project(myproject)
>>
>>         ....
>>
>>         Finishing with
>>
>>         INSTALL ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/@APPLICATION_NAME@ DESTINATION @${BUILD_BIN} )
>>
>>         which installs in my target directory, but under a tree
>>         prefixed by the '@' character. i.e.
>>         /home/jeremy/Projects/local/@/sbin and equivalent.
>>
>>         I'm guessing that this is a result of the fragment
>>
>>         @${BUILD_BIN}
>>
>>         The problem is that if I remove the '@' the INSTALL ignores
>>         the CMAKE_INSTALL_PREFIX
>>
>>         I've experimented with different variations on the INSTALL
>>         lines to no success.
>>
>>         Any advice on how to get my INSTALLS ending up in
>>         /home/jeremy/Projects/local/sbin and equivalent?
>>
>>         Thanks
>>
>>         -- 
>>         Jeremy Ardley
>>
>>         --
>>
>>         Powered by www.kitware.com <http://www.kitware.com>
>>
>>         Please keep messages on-topic and check the CMake FAQ at:
>>         http://www.cmake.org/Wiki/CMake_FAQ
>>
>>         Kitware offers various services to support the CMake
>>         community. For more information on each offering, please visit:
>>
>>         CMake Support: http://cmake.org/cmake/help/support.html
>>         CMake Consulting: http://cmake.org/cmake/help/consulting.html
>>         CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>>         Visit other Kitware open-source projects at
>>         http://www.kitware.com/opensource/opensource.html
>>
>>         Follow this link to subscribe/unsubscribe:
>>         http://public.kitware.com/mailman/listinfo/cmake
>>
>>
>
>
>     -- 
>     Jeremy Ardley
>
>


-- 
Jeremy Ardley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140924/78cc50c4/attachment.html>


More information about the CMake mailing list