ubicacion secundario ruta programas por otro office instalar instalación instalacion elegir duro donde disco defecto cómo cambiar aplicaciones makefile cmake configure build-system

makefile - secundario - instalar programas por defecto en otro disco



cómo modificar la ruta de instalación sin volver a ejecutar el script de configuración/cmake (5)

Ejecutar CMake con -DCMAKE_INSTALL_PREFIX=<somewhere different to last time> no debería hacer que tu proyecto necesite ser recompilado. Si pasa otros parámetros de la línea de comandos a CMake que, por ejemplo, modifican los indicadores del compilador, eso forzaría una reconstrucción de los objetivos afectados, pero simplemente no cambiaría el prefijo de instalación.

Estoy trabajando en un proyecto que toma un tiempo considerable para construir (10-15) minutos. He recompilado para verificar si hay un error de compilación. Ahora quiero cambiar el directorio de instalación para tener una nueva versión del ejecutable con los nuevos cambios. ¿Existe un método para modificar la ruta de instalación de manera que ''make install'' se instale en una nueva ubicación en lugar de la anterior?


En caso de que alguien no esté usando CMake, entonces hay un método para hacerlo en Makefile. Si tiene el archivo Makefile.config generado en su directorio de compilación, busque el prefix . Este prefix es la path instalación donde se instalarán los binarios / encabezados, etc. Cambiar esto instalará los binarios / encabezados a la path modificada.


La definición canónica de DESTDIR y prefijo es: los archivos se instalan con el prefijo $ DESTDIR $, pero se preparan como si su ubicación de instalación final fuera solo $ prefijo.

Por lo tanto, DESTDIR es solo para personas que construyen paquetes o archivos comprimidos de binarios; CMAKE_INSTALL_PREFIX es para cualquier persona que quiera especificar dónde deben residir los binarios construidos al final.


No sé si esto es generalmente cierto, pero puedo dar un ejemplo de una aplicación para la cual la respuesta aceptada de sakra no funciona correctamente. Si modifica el directorio de instalación modificando DESTDIR al instalar ITK, simplemente DESTDIR a su ruta de instalación ya formada:

make install DESTDIR=/opt/local

[...]

-- Installing: /opt/local/usr/local/lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...]

Por otro lado, siguiendo esta respuesta de Fraser obtendrán rutas de instalación adecuadas sin recompilación:

cmake -DCMAKE_INSTALL_PREFIX=/opt/local /path/to/ITK_source make install

[...]

-- Installing: /opt/local/lib/cmake/ITK-4.4/WrapITK/Configuration/Typedefs/itkRenyiEntropy[...]


Los makefiles generados por CMake son compatibles con la convención de codificación DESTDIR para los makefiles. Por lo tanto, puede anular la ubicación de instalación predeterminada configurando la variable DESTDIR al invocar make:

$ make install DESTDIR=/opt/local

No hay necesidad de volver a ejecutar CMake.