3.1.2 : Le script d'installation
Comme toujours, on indique l'interpreteur de ce script :
1 |
#!/bin/bash
|
Testons le nombre de CPU dont nous disposons (et aussi sur OSX) :
1 2 3 4 5 |
if [[ "${OSTYPE}" == "darwin"* ]]; then export nbproc=`sysctl -n hw.physicalcpu` else export nbproc=`nproc` fi |
Petite mise à jour automatique du prefix d'installation si il n'est pas spécifier par l'utilisateur. Si le script détecte qu'il est dans un environnement anaconda il met à jour le prefix d'installation pour être cohérent avec l'environnement utilisé :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
INSTALL_PREFIX="$1" if [ -z "$1" ] then if [ -z ${CONDA_ENV_PATH} ] then if [ -z ${CONDA_PREFIX} ] then INSTALL_PREFIX="${HOME}/usr" else INSTALL_PREFIX=${CONDA_PREFIX} fi else INSTALL_PREFIX=${CONDA_ENV_PATH} fi fi |
Mise à jour des variables d'environnement :
1 2 3 |
export PATH=${INSTALL_PREFIX}/bin:${PATH} export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH} export DYLD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${DYLD_LIBRARY_PATH} |
On efface le dossier build si il existe :
1 2 3 4 5 |
if [ -d build ] then echo "Remove existing directory build" rm -fr build fi |
On créé le dossier build et on entre dedans :
1 2 |
mkdir -p build cd build |
On appelle CMake :
1 2 3 4 5 6 |
cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} if [ ${?} != 0 ] then echo "Error on cmake : exit -1" exit -1 fi |
Puis Make :
1 2 3 4 5 6 |
make -j ${nbproc} if [ ${?} != 0 ] then echo "Error on make : exit -1" exit -1 fi |
On installe le projet :
1 2 3 4 5 6 |
make install -j ${nbproc} if [ ${?} != 0 ] then echo "Error on install : exit -1" exit -1 fi |
Et éventuellement on source le .bashrc, mais ce n'est pas forcément utile :
1 2 3 |
if [ -f ${HOME}/.bashrc ]; then source ${HOME}/.bashrc fi |
Le fichier install.sh complet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#!/bin/bash if [[ "${OSTYPE}" == "darwin"* ]]; then export nbproc=`sysctl -n hw.physicalcpu` else export nbproc=`nproc` fi INSTALL_PREFIX="$1" if [ -z "$1" ] then if [ -z ${CONDA_ENV_PATH} ] then if [ -z ${CONDA_PREFIX} ] then INSTALL_PREFIX="${HOME}/usr" else INSTALL_PREFIX=${CONDA_PREFIX} fi else INSTALL_PREFIX=${CONDA_ENV_PATH} fi fi export PATH=${INSTALL_PREFIX}/bin:${PATH} export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH} export DYLD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${DYLD_LIBRARY_PATH} if [ -d build ] then echo "Remove existing directory build" rm -fr build fi mkdir -p build cd build cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} if [ ${?} != 0 ] then echo "Error on cmake : exit -1" exit -1 fi make -j ${nbproc} if [ ${?} != 0 ] then echo "Error on make : exit -1" exit -1 fi make install -j ${nbproc} if [ ${?} != 0 ] then echo "Error on install : exit -1" exit -1 fi if [ -f ${HOME}/.bashrc ]; then source ${HOME}/.bashrc fi |
Lien de téléchargement ici.