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.