El CMake-CPack me ha frustrado durante casi una semana.Ruta de instalación del paquete CMake-CPack Nightmare
Lo malo es que la documentación en línea de CMake-CPack no documenta bien esta parte.
Tras Google, encontré estas variables a utilizar:
CPACK_PACKAGING_PREFIX # NOT documented
CMAKE_INSTALL_PREFIX # Documented, but the behavior seems weird
CPACK_INSTALL_PREFIX # NOT documented
CPACK_PACKAGE_INSTALL_DIRECTORY # Documented, but this variable does NOT work as the online document described
CPACK_PACKAGING_INSTALL_PREFIX # NOT documented
Lo que estoy tratando de hacer es: paquete de un paquete Debian usando fakeroot make package
, cuando el paquete se instala de sudo dpkg -i MyProgramPackageName
, instalar a /usr/local
, con un subdirectorio MyProgramPackageName
. Es decir, todos los archivos deben instalarse en /usr/local/MyProgramPackageName-V.1.2.3
.
He intentado (CMake 2.8.3 y CMake 2.8.5) ajustar estas variables. Intenté tantas combinaciones, pero fallé.
La única forma de éxito es:
Set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/MyProgramPackageName-V.1.2.3)
Pero incluso esta variable no está documentado, y el comportamiento no puede ser garantizada. Si está confundido con mi pregunta, avíseme cuándo utilizar CPACK_PACKAGE_INSTALL_DIRECTORY
? porque la descripción de la documentación sobre esta variable es realmente atractiva, y es realmente lo que quiero, pero no pude hacerlo funcionar.
Por favor, avísenme.
Peter
Estoy confundido. Estoy usando CPACK para empaquetarlo, para que instale la aplicación donde yo quiera. En la directiva 'INSTALL', siempre estoy instalando una carpeta o archivos en una ruta relativa a INSTALL_PREFIX/DIRECTORY. –
Solo desea una ruta relativa en el destino de la instalación: se instalará en relación con el CMAKE_INSTALL_PREFIX automáticamente, sin necesidad de especificarlo. Especificar una ruta absoluta es una forma conveniente de desordenar todo esto de instalación. –