[cmake-developers] install bug on windows
Eric Noulard
eric.noulard at gmail.com
Mon Sep 20 12:54:51 EDT 2010
2010/9/20 Bill Hoffman <bill.hoffman at kitware.com>:
>
> Eric,
>
> This commit is breaking windows installs:
>
> commit 6a521f8604ee4e6a757109e731a36fdc5575f6c8
> Author: Eric NOULARD <eric.noulard at gmail.com>
> Date: Mon Aug 23 17:38:33 2010 +0200
>
> CPack Enable better handling of absolute installed files
>
> The idea of the patch is to let the install generator define
> CPACK_ABSOLUTE_INSTALL_FILES then when CMake is installing
> project he will concatenate the list of files and give
> it to specific CPack Generator by defining CPACK_ABSOLUTE_INSTALL_FILES
> to be the list of ALL files that were installed using absolute
> destination.
> An example of use has been applied to RPM generator which now
> tries to automatically build a relocatable package.
>
> It creates a cmake_install file like this:
>
> IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL
> "Unspecified")
> list(APPEND CPACK_ABSOLUTE_DESTINATION_FILES
> "/usr/local\CTest.c")
> FILE(INSTALL DESTINATION "/usr/local" TYPE FILE FILES
> "C:/Users/hoffman/Max/tm/src/CTest.c")
> ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL
> "Unspecified")
>
> Which causes this error:
>
> 1> -- Install configuration: "Debug"
> 1> CMake Warning (dev) at cmake_install.cmake:31 (list):
> 1> Syntax error in cmake code at
> 1>
> 1> C:/work-c/T/CMake/cmake_install.cmake:32
> 1>
> 1> when parsing string
> 1>
> 1> /usr/local\CTest.conf
>
>
> Why do you convert the / to an output path?
I do not remember ... :-(
I'm looking into this just now, give half an hour and I'll come
with some answer.
> 6a521f86 (Eric NOULARD 2010-08-23 17:38:33 +0200 71) os << dest <<
> cmSystemTools::ConvertToOutputPath("/");
> 6a521f86 (Eric NOULARD 2010-08-23 17:38:33 +0200 72) if (rename &&
> *rename)
>
> All paths in the cmake_install file should be cmake paths as cmake is going
> to consume them.
Off course, you are right.
> All that said, I am not sure why no test failed from this ????
May be because there is no test with absolutely installed file
in the test suite?
I'll have a look too.
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
More information about the cmake-developers
mailing list