X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Linux%2Finstallscript;h=9c2ef2b2570bb93d6a159b9048ea09e95964fca9;hb=96ba0c7c5b92d1d728f1f786282a198c0d7f001e;hp=c5611a751a7debbf2677f9c4b877a6aa412fd4b2;hpb=6a4393e29e2ad4c755ff2d31d53e0f9823ddd1bd;p=creaToolsTools.git diff --git a/Linux/installscript b/Linux/installscript index c5611a7..9c2ef2b 100755 --- a/Linux/installscript +++ b/Linux/installscript @@ -1,5 +1,30 @@ +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ + #!/bin/bash -e +scriptDirName=$(dirname $(readlink -f $0) ) + ######################################################################### ############ Local Functions ####################################### ######################################################################### @@ -96,9 +121,6 @@ function printconfig { echo " Install Prefix for CreaTools : $installPrefix" echo " Boolean for Doc Generation : $docgeneration" echo " Where do you want to get source files from : $sourcesFrom" - if [ $sourcesFrom = CVS ] ; then - echo " CVS User Name : $cvsUserName" - fi echo " Login User Name : $loginUserName" echo " Login Group Name : $loginGroupName" echo " Build type : $buildType" @@ -123,26 +145,25 @@ configureFile="scripts/CreaTools-configure.sh" # default configuration parameters OperatingSystem=`getDistrib` corenumber=`getncore` -generationdir=$HOME/CreatoolsGenerationDir +generationdir=$HOME/Creatis/creaTools installPrefixThird= installPrefix= docgeneration=OFF -sourcesFrom=HTML +sourcesFrom=GIT -cvsUserName= loginUserName=$USER loginGroupName=`groups | awk '{print $1}'` -buildType=RelWithDebug +buildType=Release gdcmVersion=GDCM1 ITKVersion=ITK3 -export ETC_BASHRC=`getbashrc` +export ETC_BASHRC=~/.bashrc function usage { - echo "menu.sh [options] command" + echo "installscript [options] command" echo "creatools configure/compile/install script" echo "" echo "" @@ -150,27 +171,34 @@ function usage { echo "" echo "" echo " command:" - echo " all : configure / compile / install" - echo " " - echo " config : set the configuration parameters only" + echo "" + echo " as a normal user:" + echo " config : set the configuration parameters only" echo " " - echo " 3rd : Get, Compile, Install all 3rd party library " - echo " 3rd-base : Install basic tools (cmake, doxygen...)" - echo " 3rd-vtk : Get, Compile, Install vtk" - echo " 3rd-itk : Get, Compile, Install itk" - echo " 3rd-gdcm : Get, Compile, Install gdcm" - echo " 3rd-wx : Get, Compile, Install wx widget (for Mac Users)" + echo " need root password:" + echo " 3rd : Get, Compile, Install all 3rd party library " + echo " 3rd-base : Install basic tools (cmake, doxygen...)" + echo " 3rd-vtk : Get, Compile, Install vtk" + echo " 3rd-itk : Get, Compile, Install itk" + echo " 3rd-gdcm : Get, Compile, Install gdcm" + echo " 3rd-wx : Get, Compile, Install wx widget (for Mac Users)" + echo " " + echo " as a normal user:" + echo " creatools : Get Compile and Install the CreaTools" + echo " creatools-get : Get the CreaTools" + echo " creatools-cmp : Compile the CreaTools" + echo " creatools-install : Install the CreaTools" echo " " - echo " creatools : Get Compile and Install the CreaTools" - echo " creatools-get : Get the CreaTools" - echo " creatools-cmp : Compile the CreaTools" - echo " creatools-install : Install the CreaTools" + echo " creatools-generateBinTGZ : generation of CreaTools.tgz (binary version)" echo " " - echo " uninstall : uninstall the creatools" + echo " uninstall : uninstall the creatools" echo " " - echo " printconfig : print the configuration" - echo " help : print help" - echo " env : print some environnement variables" + echo " printconfig : print the configuration" + echo " help : print help" + echo " env : print some environnement variables" + echo "" + echo " all : configure / compile / install" + echo " " echo " " echo " " echo " " @@ -181,7 +209,9 @@ function usage { echo " -gdir : generation directory (default $generationdir)" echo " -instprefix : creatools install prefix" echo " -instprefix3 : 3rd party library install prefix" - echo " -cvs : get creatools from cvs (CREATIS user only)" + echo " -html : get creatools from HTML" + echo " -git : get creatools from git (CREATIS user only)" + echo " -git-read-only : get creatools from git (anonymously, no write access)" echo " -build : build type Release, RelWithDebug or Debug (default RelWithDebug)" echo "" echo " experimental configure options (use at your own risk!!):" @@ -202,7 +232,10 @@ while [ $# -ge 1 ] ; do -instprefix) installPrefix=$2; shift 2;; -instprefix3) installPrefixThird=$2; shift 2;; -doc) docgeneration=ON; shift 1;; - -cvs) sourcesFrom=CVS; cvsUserName=$2; shift 2;; + -html) sourcesFrom=HTML; shift 1;; + -git) sourcesFrom=GIT; shift 1;; + -git-read-only) sourcesFrom=GIT-READ-ONLY; +shift 1;; -gdcm2) gdcmVersion=GDCM2; shift 1;; -itk4) ITKVersion=ITK4; shift 1;; -build) buildType=$2; shift 2;; @@ -215,7 +248,7 @@ if [ $# -le 0 ] ; then usage; fi command=$1 # check that command is valid -if [ `checkVal $command all config 3rd 3rd-base 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx creatools creatools-get creatools-cmp creatools-install uninstall printconfig help env` == "false" ] ; then +if [ `checkVal $command all config 3rd 3rd-base 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx creatools creatools-get creatools-cmp creatools-install creatools-generateBinTGZ uninstall printconfig help env` == "false" ] ; then echo "Unrecognized command: $command" echo "" usage @@ -266,7 +299,7 @@ fi if [ `checkVal $command config all` == true ] ; then echo "#!/bin/bash" > $configureFile echo >> $configureFile - echo "#File generated by 'menu.sh'" >> $configureFile + echo "#File generated by 'installscript'" >> $configureFile echo "#DO NOT edit !" >> $configureFile echo "#(except if you *do* know what you do)" >> $configureFile echo >> $configureFile @@ -277,7 +310,6 @@ if [ `checkVal $command config all` == true ] ; then echo "installPrefixThird=$installPrefixThird" >> $configureFile echo "docgeneration=$docgeneration" >> $configureFile echo "sourcesFrom=$sourcesFrom" >> $configureFile - echo "cvsUserName=$cvsUserName" >> $configureFile echo "loginUserName=$loginUserName" >> $configureFile echo "loginGroupName=$loginGroupName" >> $configureFile echo "buildType=$buildType" >> $configureFile @@ -305,13 +337,20 @@ if [ `checkVal $command config printconfig` == true ] ; then exit fi +################################################################################## creatools +# download creatools +if [ `checkVal $command all creatools creatools-get` == true ] ; then + bigDisplay "DOWNLOAD CREATOOLS" + bash scripts/CreaTools-load.sh +fi ################################################################################## 3rd library # install packaged dependencies as root if [ `checkVal $command all 3rd 3rd-base` == true ] ; then bigDisplay "INSTALL PACKAGES DEPENDENCIES" if [ "`whoami`" == root ] ; then - bash scripts/ThirdParty-install-Base-Stuff.sh + echo ThirdParty-install-Base-Stuff + bash scripts/ThirdParty-install-Base-Stuff.sh else # must log as root echo "Please enter the root passwd to add necessary packages:"; @@ -320,16 +359,20 @@ if [ `checkVal $command all 3rd 3rd-base` == true ] ; then bash scripts/ThirdParty-install.sh fi + + # vtk if [ `checkVal $command all 3rd 3rd-vtk` == true ] ; then bigDisplay "INSTALL VTK" - bash scripts/ThirdParty-install-VTK.sh + source scripts/ThirdParty-install-VTK.sh + cd $scriptDirName fi # gdcm if [ `checkVal $command all 3rd 3rd-gdcm` == true ] ; then bigDisplay "INSTALL $gdcmVersion" - bash scripts/ThirdParty-install-gdcm.sh + source scripts/ThirdParty-install-gdcm.sh + cd $scriptDirName fi # itk @@ -347,7 +390,6 @@ fi if [ `checkVal $command all 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx ` == true ] ; then bigDisplay "FINALIZE 3RD PARTY LIBRARY INSTALLATION" bash scripts/ThirdParty-install-Finalize.sh - source $ETC_BASHRC if [ `checkVal $command 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx ` == true ] ; then bigDisplay "Third Party Install Done" bigDisplay "Please copy paste the following command or open a new terminal: source ~/.bashrc" @@ -355,13 +397,6 @@ if [ `checkVal $command all 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx ` == true ] ; th fi ################################################################################## creatools - -# download creatools -if [ `checkVal $command all creatools creatools-get` == true ] ; then - bigDisplay "DOWNLOAD CREATOOLS" - bash scripts/CreaTools-load.sh -fi - # compile creatools if [ `checkVal $command all creatools creatools-cmp` == true ] ; then bigDisplay "COMPILE CREATOOLS" @@ -388,10 +423,23 @@ if [ `checkVal $command all creatools creatools-install` == true ] ; then source $ETC_BASHRC bash scripts/CreaTools-install.sh source $ETC_BASHRC + echo " " + echo " " + echo " " + echo " " + echo "Open a new terminal to run creatools." + echo "(Close this window and continue....) " + echo " " + echo " " + read -p "Press [Enter] key to continue..." fi -################################################################################## uninstall +#generate TGZ version of the bin (Creatools and ThirdParty) +if [ `checkVal $command creatools-generateBinTGZ` == true ] ; then + bash scripts/CreaTools-GenerateBinTGZ.sh +fi +################################################################################## uninstall if [ `checkVal $command uninstall` == true ] ; then bigDisplay "UNINSTALL CREATOOLS" bash scripts/CreaTools-uninstall.sh