Non capisco l'utilizzo di INSTALL_DIR nel comando ExternalProject_Add. Provo ad usarlo ma non sembra funzionare. Ecco un esempio di una CMakeLists.txt, utilizzando biblioteca Eigen che compila velocemente:Che cosa è utile INSTALL_DIR nel comando ExternalProject_Add?
cmake_minimum_required (VERSION 2.6)
project (example CXX)
include(ExternalProject)
include(ProcessorCount)
set(CMAKE_VERBOSE_MAKEFILE ON)
ProcessorCount(N)
if(NOT N EQUAL 0)
set(CMAKE_BUILD_FLAGS -j${N})
endif()
ExternalProject_Add
(
mylib
PREFIX myprefix
DOWNLOAD_COMMAND wget http://bitbucket.org/eigen/eigen/get/3.2.4.tar.gz && tar xvzf 3.2.4.tar.gz -C mylib --strip-components=1
)
ho scelto la gerarchia seguente progetto:
project
CMakeLists.txt
build/
dal repository di compilazione, digito:
cmake ..
make
Il processo di installazione non riesce con il seguente messaggio:
Il filenon può creare la directory:/usr/local/include/eigen3.
Forse hanno bisogno di privilegi amministrativi.
Per quanto ho capito, significa che ho bisogno di definire un "prefisso" durante la fase di configurazione:
cmake -D CMAKE_INSTALL_PREFIX=$INSTALL_DIR ..
Ma, la variabile INSTALL_DIR è già definita nel comando ExternalProject_Add. Tuttavia, ottengo lo stesso errore quando modifico il valore di INSTALL_DIR aggiungendo
INSTALL_DIR myprefix/src/install
nel comando ExternalProject_Add.
Quindi, a cosa serve INSTALL_DIR? Cosa sto sbagliando?
Naturalmente, so come fornire il mio comando di configurazione per aggiungere un prefisso e risolvere il problema. Ma non è una mia domanda. La mia domanda è: se devo farlo, qual è lo scopo di INSTALL_DIR?
'cmake -D CMAKE_INSTALL_PREFIX = $ INSTALL_DIR ..' Qui si sta inserendo una variabile d'ambiente dalla shell non una variabile CMake. – drescherjm
Sì, lo so. Volevo solo dire che il problema deriva dalla fase di configurazione. – Aleph