]> Creatis software - creaToolsTools.git/blobdiff - Linux/installscript
#2493 creaToolsTools Feature New Normal - Prepare and Install binary CreaTools...
[creaToolsTools.git] / Linux / installscript
index b8251243d5cbf96277d89677bb6a4530aa0e7483..51cd51b6489a0c5d36b8f1057af18b60a2c99cbd 100755 (executable)
@@ -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=$GROUP
-buildType=RelWithDebug
+loginGroupName=`groups | awk '{print $1}'`
+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,10 +171,11 @@ function usage {
     echo "" 
     echo "" 
     echo "    command:" 
-    echo "         all               : configure / compile / install
-    echo "         "                 
+    echo "" 
+    echo "    as a normal user:" 
     echo "         config            : set the configuration parameters only" 
     echo "         "                 
+    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"
@@ -161,6 +183,7 @@ function usage {
     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"
@@ -171,6 +194,9 @@ function usage {
     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 +207,9 @@ function usage {
     echo "        -gdir <dir>           : generation directory (default $generationdir)"
     echo "        -instprefix <dir>     : creatools install prefix" 
     echo "        -instprefix3 <dir>    : 3rd party library install prefix" 
-    echo "        -cvs <cvsusername>    : 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 +230,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;;
@@ -266,7 +297,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 +308,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 +335,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 +357,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 +388,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 +395,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"
@@ -391,7 +424,6 @@ if [ `checkVal $command all creatools creatools-install` == true ] ; then
 fi
 
 ################################################################################## uninstall
-
 if [ `checkVal $command uninstall` == true ] ; then
     bigDisplay "UNINSTALL CREATOOLS"
     bash scripts/CreaTools-uninstall.sh