linux - gui - descargar cmake 3.2 2
Cómo usar CMAKE_INSTALL_PREFIX (3)
Quiero generar Makefile con destino de instalación, haciendo que la instalación sea / usr en lugar de default / usr / local. Suponiendo que el directorio de compilación se realiza en el subdirectorio fuente, ejecuto:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
CMakeCache.txt contiene: CMAKE_INSTALL_PREFIX:PATH=/usr
(¿OK?)
Ahora ejecuto:
make make install
Todos los archivos todavía están instalados en usr / local. ¿Qué está mal?
Editar: No hay ningún CMAKE_INSTALL_PREFIX en ninguno de los archivos del proyecto CMakeLists.txt. Antes de ejecutar cmake, elimino todo del directorio de salida. las directivas de instalación en CMakeLists.txt se ven así:
install(TARGETS mylibrary DESTINATION lib)
Pero recuerde colocarlo ANTES DEL comando PROYECTO (<nombre del proyecto>), de lo contrario, no funcionará.
Mi primera semana de uso de cmake, después de algunos años de autotools GNU, sigo aprendiendo (mejor que escribir macros m4), pero creo que modificar el CMAKE_INSTALL_PREFIX después de configurar el proyecto es el mejor lugar.
CMakeLists.txt
cmake_minimum_required (VERSION 2.8)
set (CMAKE_INSTALL_PREFIX /foo/bar/bubba)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")
project (BarkBark)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")
set (CMAKE_INSTALL_PREFIX /foo/bar/bubba)
message("CIP = ${CMAKE_INSTALL_PREFIX} (should be /foo/bar/bubba")
Primera ejecución (sin caché)
CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- The C compiler identification is GNU 4.4.7
-- etc, etc,...
CIP = /usr/local (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- Configuring done
-- Generating done
Segunda ejecución
CIP = /foo/bar/bubba (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
CIP = /foo/bar/bubba (should be /foo/bar/bubba
-- Configuring done
-- Generating done
Avíseme si estoy equivocado, tengo mucho que aprender a hacer. Es divertido.
Eso debería ser (ver los docs ):
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
Hay dos formas de usar esta variable:
pasarlo como un argumento de línea de comando al igual que Job mencionó:
cmake -DCMAKE_INSTALL_PREFIX=< install_path > ..
asignándole valor en
CMakeLists.txt
:SET(CMAKE_INSTALL_PREFIX < install_path >)
Pero recuerde colocarlo ANTES
PROJECT(< project_name>)
comandoPROJECT(< project_name>)
, de lo contrario, no funcionará.