]> Creatis software - creaToolsTools.git/blobdiff - Linux/menu.sh
Feature #1773 Add licence terms for all files.
[creaToolsTools.git] / Linux / menu.sh
index 78252d59aa425a3bef72a6c0f3666251af6742ec..680658a20ced04439f061bd526a02d4026b3f35e 100644 (file)
@@ -1,3 +1,27 @@
+# ---------------------------------------------------------------------
+#
+# 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
 
   if [ -f scripts/CreaTools-configure.sh ]
@@ -26,6 +50,7 @@ do
       echo " Get, Compile, Install vtk   .......1.1"                
       echo " Get, Compile, Install gdcm :.. .  .1.2" 
       echo " Get, Compile, Install itk  :.......1.3"
+      echo " Get, Compile, Install Wx (for Mac Users)  :…....1.4"
 
    else
       echo " Install Third Party Libraries :....1 (as root)"   
@@ -33,19 +58,19 @@ do
      
    if [ $expanded = "YES" ]
    then
-   echo " Get the 'CreaTools' source files :.2.1 (CVS : as user!)" 
-   echo " Compile   the CreaTools :..........2.2"
-# Install creatools as user (no longer as root) // JPR 2/5/2011   
-   echo " Install   the CreaTools :..........2.3"
+      echo " Get the 'CreaTools' source files :.2.1 (CVS : as user!)" 
+      echo " Compile   the CreaTools :..........2.2"
+      # Install creatools as user (no longer as root) // JPR 2/5/2011   
+      echo " Install   the CreaTools :..........2.3"
    else
-   echo " Get and Install the 'CreaTools':...2"
+      echo " Get and Install the 'CreaTools':...2"
    fi
    echo
    if [ $expanded = "NO" ]
    then
-   echo " Use Expanded menu :................5 "
+      echo " Use Expanded menu :................5 "
    else
-   echo " Use compact menu :.................5 "
+      echo " Use compact menu :.................5 "
    fi
    echo " Uninstall the CreaTools :..........6 "
    echo " Help ..............................7 Help about this menu"   
@@ -60,6 +85,22 @@ do
 
   case $i in
   0)
+
+  # Do it, while we are under user, not under root! # JPR
+             if [ -f $HOME/.bashrc ]
+             then
+                export ETC_BASHRC=$HOME/.bashrc
+             else
+                if [ -f $HOME/.profile ]
+                    then
+                   export ETC_BASHRC=$HOME/.profile
+                    else
+                       echo "======================== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found"
+                       echo "======================== You'd better to abort the program and (try to) fix the issue"
+                       read a # just to let the user time enough to read the message...
+                    fi
+          fi
+
   clear
   suitable=XXX
   #ls -l  scripts/CreaTools-configure.sh
@@ -72,35 +113,24 @@ do
               "$suitable" != "NO"  && \
               "$suitable" != "no"  ]]
      do          
-        echo "'Configure' already done : "
+        echo "'Configure' already done; Content of scripts/CreaTools-configure.sh :"
         echo "------------------------"
         more scripts/CreaTools-configure.sh
         echo "------------------------"
        
-       # WARNING : $installPrefixThird is taken from CreaTools-configure.sh
-        # if user configured without installing third party library,
-        # Last third party library is still in use!  JPR
-
+           # WARNING : $installPrefixThird is taken from CreaTools-configure.sh
+        # If user configured without installing third party library,
+        # last third party library is still in use!  JPR
 
         if [ ! -f $installPrefixThird/share/creatools_third_party_library_config.sh ]
         then
-              echo WARNING
-              echo
-# Install creatools as user (no longer as root) // JPR 2/5/2011              
-              #if [ ! -f /etc/bashrc ]
-              #then
-               #  export ETC_BASHRC="/etc/bash.bashrc"
-               #else
-                #  export ETC_BASHRC="/etc/bashrc"
-               #fi
-             export ETC_BASHRC=$HOME/.bashrc         
-              echo "the curently used Third Party libraries are NOT in $installPrefixThird but in :"
-                
-              grep "installPrefixThird=" $ETC_BASHRC 
-              echo "VTK_DIR  : " $VTK_DIR
-              echo "ITK_DIR  : " $ITK_DIR
-              echo "GDCM_DIR : " $GDCM_DIR
-             echo "(Have a look at $ETC_BASHRC=, edit it or run again Install Third Party Libraries if you disagree)"
+           echo WARNING
+           echo "the curently used Third Party libraries are NOT in $installPrefixThird but ... in :"
+           grep "installPrefixThird=" $ETC_BASHRC
+           echo "VTK_DIR  : " $VTK_DIR
+           echo "ITK_DIR  : " $ITK_DIR
+           echo "GDCM_DIR : " $GDCM_DIR
+           echo "(Have a look at $ETC_BASHRC=, edit it or run again Install Third Party Libraries if you disagree)"
         fi
        echo    
         echo "Are these values suitable for you : YES/NO? (default is YES)"
@@ -113,7 +143,7 @@ do
   else
      suitable="NO"
   fi
-  
+
   if [[ "$suitable" = "YES" || "$suitable" = "Y" || "$suitable" = "yes" || "$suitable" = "y" ]]
   then
      source scripts/CreaTools-configure.sh
@@ -162,7 +192,6 @@ do
         read generationdir
         if [ "$generationdir" = "" ]
         then
-          
            generationdir=$racine
         fi
         echo "you said : [" $generationdir "]"
@@ -201,11 +230,11 @@ then
         do
            echo "Boolean For Doc Generation : ON/OFF (default is OFF)"
            read docgeneration
-          if [ "$docgeneration" = "" ]
-          then
-             docgeneration="OFF"
-          fi
-          echo "you said : [" $docgeneration "]"
+           if [ "$docgeneration" = "" ]
+           then
+              docgeneration="OFF"
+           fi
+           echo "you said : [" $docgeneration "]"
         done
         echo
         echo
@@ -247,24 +276,24 @@ docgeneration="OFF"
         # ------------------
 
 
-        loginUserName=""
-        while [ "$loginUserName" == "" ]
-        do 
+        #loginUserName=""
+           loginUserName=$USER
+        #while [ "$loginUserName" == "" ]
+        #do 
            echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'"
            ls -l menu.sh
-           echo "Login User Name (mandatory!)"
-           read loginUserName  
-           echo "you said : [" $loginUserName "]"  
-        done
+         #  echo "Login User Name (mandatory!)"
+         #  read loginUserName  
+         #  echo "you said : [" $loginUserName "]"  
+        #done
         echo
         echo
 
         loginGroupName=""
         while [ "$loginGroupName" == "" ]
         do
-            #echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'"
-            #echo "Login Group Name (mandatory!)"
-          echo "Login Group Name (mandatory!)"
+           echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'"
+              echo "Login Group Name (mandatory!)"
            read loginGroupName  
            echo "you said : [" $loginGroupName "]"  
         done
@@ -288,7 +317,7 @@ docgeneration="OFF"
         # ------------------
 
         gdcmVersion="___"
-        while [[ "$gdcmVersion" != "GDCM1"  && "$gdcmVersion " != "GDCM2" ]]
+        while [[ "$gdcmVersion" != "GDCM1"  && "$gdcmVersion" != "GDCM2" ]]
         do
            echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)"
            read gdcmVersion
@@ -298,6 +327,20 @@ docgeneration="OFF"
            fi
            echo "you said : [" $gdcmVersion "]"
         done
+
+# NOT YET CHECKED ! JPR
+        ITKVersion="___"
+        while [[ "$ITKVersion" != "ITK3"  && "$ITKVersion" != "ITK4" ]]
+        do
+           echo "ITK version : ITK3/ITK4 (default is ITK3)"
+           read ITKVersion
+           if [ "$ITKVersion" = "" ]
+           then
+              ITKVersion="ITK3"
+           fi
+           echo "you said : [" $ITKVersion "]"
+        done
+
         echo
         echo
         echo
@@ -318,6 +361,7 @@ docgeneration="OFF"
         echo "  Login Group Name                           : $loginGroupName"
         echo "  Build type                                 : $buildType"          
         echo "  Gdcm version                               : $gdcmVersion"
+        echo "  ITK version                                : $ITKVersion"
         echo
         echo
      
@@ -329,11 +373,7 @@ docgeneration="OFF"
        fi
    done
 
- # GROS SOUCIS : Ou generer le fichier CreaTools-configure.sh?
- # dans $generationdir/creatools_bin ?
- # -> il n'est pas encore cree !
- # dans ./Linux/scripts?
- # ==> On le genere chez l'utilisateur (no choice!)...
+ # ==> On genere le fichier CreaTools-configure.sh genere chez l'utilisateur (no choice!)...
  # 
 
    configureFile="scripts/CreaTools-configure.sh"
@@ -356,7 +396,9 @@ docgeneration="OFF"
    echo "loginGroupName=$loginGroupName"         >> $configureFile
    echo "buildType=$buildType"                   >> $configureFile
    echo "gdcmVersion=$gdcmVersion"               >> $configureFile
-   
+   echo "ITKVersion=$ITKVersion"                 >> $configureFile
+   echo "ETC_BASHRC=$ETC_BASHRC"                 >> $configureFile
+
   # ------------------      
   # endif 'suitable'
   fi 
@@ -370,24 +412,26 @@ docgeneration="OFF"
      bash scripts/ThirdParty-install-gdcm.sh
      bash scripts/ThirdParty-install-ITK.sh
      bash scripts/ThirdParty-install.sh
-     bash scripts/ThirdParty-install-Finalize.sh     
+     bash scripts/ThirdParty-install-Finalize.sh
 
      if [ "$sourcesFrom" = "CVS" ]
      then
         echo "----------------------------------------------------------------------"
         echo OK
         echo "To go on, run again 'bash menu.sh' as '$loginUserName', in a new window"
-        echo "---------------------------------------------------------------------"
+        echo "----------------------------------------------------------------------"
      else
         echo "----------------------------------------------------------------------"
         echo OK
         echo "To go on, run again 'bash menu.sh'  in a new window"
-        echo "---------------------------------------------------------------------"
+        echo "----------------------------------------------------------------------"
      fi
      echo
+     echo "==>"
      echo "==> You HAVE to leave current window to continue!" 
+     echo "==>"
+     source $ETC_BASHRC
      read a
-     kill $PPID    
   ;;
 
   1.0)
@@ -399,30 +443,32 @@ docgeneration="OFF"
 
   1.1)
      echo "========================== 1.1 "
-     source scripts/Check-if-root.sh 
-         read a   
-     bash scripts/ThirdParty-install-VTK.sh
-      read a            
-     bash scripts/ThirdParty-install-Finalize.sh      
-     read a       
+     #source scripts/Check-if-root.sh 
+     bash scripts/ThirdParty-install-VTK.sh  
+     bash scripts/ThirdParty-install-Finalize.sh
   ;;
 
   1.2)
      echo "========================== 1.2 "
-     source scripts/Check-if-root.sh
+     #source scripts/Check-if-root.sh
      bash scripts/ThirdParty-install-gdcm.sh
      bash scripts/ThirdParty-install-Finalize.sh
   ;;
 
   1.3)
      echo "========================== 1.3 "
-     source scripts/Check-if-root.sh
-     bash scripts/ThirdParty-install-ITK.sh     
+     #source scripts/Check-if-root.sh
+     bash scripts/ThirdParty-install-ITK.sh
+     bash scripts/ThirdParty-install-Finalize.sh         
+  ;;
+  1.4)
+    echo "========================== 1.4 "
+     #source scripts/Check-if-root.sh
+     bash scripts/ThirdParty-install-WX.sh     
      bash scripts/ThirdParty-install-Finalize.sh         
      read a
   ;;
 
-
   2)
      #2.1
      bash scripts/CreaTools-load.sh
@@ -431,9 +477,12 @@ docgeneration="OFF"
      bash scripts/CreaTools-compile.sh
      #2.3
      bash scripts/CreaTools-install.sh
-     echo "You HAVE to leave current window to continue!"
+     echo "==>"
+     echo "==> You HAVE to leave current window to continue!"
+     echo "==>"
+     source $ETC_BASHRC
      read a
-     kill $PPID
+     kill -9 $PPID
   ;;
 
   2.1)
@@ -459,27 +508,10 @@ docgeneration="OFF"
      else
         chown -R $loginUserName  $generationdir/creatools_source
         chgrp -R $loginGroupName $generationdir/creatools_source
-        # Too much time consuming
-        #chown -R $loginUserName $generationdir/creatools_source 
-        #chgrp -R $loginGroupName $generationdir/creatools_source
     fi    
   ;;
-  
-  2.3)
 
-#      if [ $UID != 0 ]
-#      then
-#         echo
-#         echo "..ERROR.."
-#         echo "==================================================="
-#         echo "REMEMBER !"
-#         echo ""
-#         echo "YOU NEED TO RUN THIS ONE AS root"
-#         echo "==================================================="
-#         echo
-#         echo
-#         exit 0
-#      fi
+  2.3)
 
       echo "========================= 4"
       
@@ -491,9 +523,9 @@ docgeneration="OFF"
 #      else
 #        echo "==> Hit any key to close current window"
 #      fi
+     source $ETC_BASHRC
   ;;
 
-
   5)
    if [ $expanded = "NO" ]
    then
@@ -502,7 +534,7 @@ docgeneration="OFF"
      expanded="NO"
    fi
   ;;
-   
+
   6)
      echo "========================= 5"
      bash scripts/CreaTools-uninstall.sh 
@@ -525,8 +557,8 @@ docgeneration="OFF"
      echo "==================================="
      
      # WARNING : $installPrefixThird is taken from CreaTools-configure.sh
-     # if user configured without installing third party library,
-     # Last third party library is still in use!  JPR
+     # If user configured without installing third party library,
+     # last third party library is still in use!  JPR
 
 
      if [ ! -f $installPrefixThird/share/creatools_third_party_library_config.sh ]
@@ -534,7 +566,7 @@ docgeneration="OFF"
         echo WARNING
         echo
         echo "the curently used Third Party libraries are NOT in $installPrefixThird but in :"
-        grep "installPrefixThird=" /etc/bashrc
+        grep "installPrefixThird=" $ETC_BASHRC
         echo "VTK_DIR  : " $VTK_DIR
         echo "ITK_DIR  : " $ITK_DIR
         echo "GDCM_DIR : " $GDCM_DIR
@@ -545,9 +577,9 @@ docgeneration="OFF"
      if [ -f $installPrefixThird/share/creatools_third_party_library_config.sh ]
      then
         echo  "Third party config file : " $installPrefixThird/share/creatools_third_party_library_config.sh
-       echo  ------
-       more $installPrefixThird/share/creatools_third_party_library_config.sh
-       echo  ------
+           echo  ------
+           more $installPrefixThird/share/creatools_third_party_library_config.sh
+           echo  ------
      fi
      
      echo
@@ -555,17 +587,17 @@ docgeneration="OFF"
      if [ -f $installPrefix/share/creatools_base_library_config.sh ]
      then
         echo  "Creatools base library config file : " $installPrefix/share/creatools_base_library_config.sh
-       echo  ------ 
-       more $installPrefix/share/creatools_base_library_config.sh
-       echo  ------ 
-       echo
+           echo  ------ 
+           more $installPrefix/share/creatools_base_library_config.sh
+           echo  ------ 
+           echo
         echo "installPrefix ... " $installPrefix
-     fi 
+     fi
      echo  ------
         echo "VTK_DIR  :                 " $VTK_DIR
         echo "ITK_DIR  :                 " $ITK_DIR
         echo "GDCM_DIR :                 " $GDCM_DIR
-       echo
+        echo
         echo "crea_DIR :                 " $crea_DIR
         echo "BBTK_DIR :                 " $BBTK_DIR
         echo "creaMaracasVisu_DIR :      " $creaMaracasVisu_DIR
@@ -607,3 +639,4 @@ docgeneration="OFF"
 
 done
 
+