]> Creatis software - creaToolsTools.git/blobdiff - Linux/installscript
#3183 creaToolsTools Feature New Normal - install prefix name
[creaToolsTools.git] / Linux / installscript
index 851dce2046dae9c5df81dc4c1ca7c72b558f5814..b7c2f492c9209ee9dd3f42ab0e1f1a398675e40a 100755 (executable)
@@ -29,115 +29,8 @@ scriptDirName=$(dirname $(readlink -f $0) )
 ############     Local Functions  #######################################
 #########################################################################
 
-##########################################
-# check that $1 is one of $2, $3, ...
-function checkVal  {
-    local val=$1
-    shift
-    for x in $* ; do
-        if [ "$val" == "$x" ] ; then
-            echo "true"
-            return
-        fi
-    done
-    echo "false"
-}
-
-###########################################
-function bigDisplay {
-    echo " ================================================================================================"
-    echo " ================================================================================================"
-    echo " ======= $1"                                       
-    echo " ================================================================================================"
-    echo " ================================================================================================"
-}
-
-###########################################
-function checkDistrib {
-    local OS=$1
-
-    if [ "`checkVal $OS MacOS Fedora Ubuntu Mandriva`" == "false" ] ; then
-        echo "Operating System not supported: $OS"
-        echo "Currently supported system: Fedora Ubuntu MacOS"
-        exit 1
-    fi
-}
-
-###########################################
-function getDistrib {
-    local OS=`uname`
-
-      if [ "$OS" == Darwin ] ; then OS=MacOS;
-    elif [ "$OS" == Linux  ] ; then OS=`awk 'NR==1{print $1}' /etc/issue`
-    else OS=""
-    fi
-
-#    checkDistrib $OS
-
-    echo $OS
-}
-
-###########################################
-function getncore {
-    if [ `uname` == Darwin ] ; then # MacOS
-        system_profiler | grep Processor | awk '$1=="Number" {print $4}'
-    else
-        cat /proc/cpuinfo | grep processor | wc -l
-    fi
-}
-
-###########################################
-function getbashrc {
-    if [ ! -f $HOME/.bashrc ] ; then
-        touch $HOME/.bashrc
-    fi
-    echo $HOME/.bashrc
-
-
-#    # Do it, while we are under user, not under root! # JPR
-#    if [ -f $HOME/.bashrc ] ; then
-#        echo $HOME/.bashrc
-#    else
-#        if [ -f $HOME/.profile ] ; then
-#            echo $HOME/.profile
-#        else
-#            echo "=============== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found" > /dev/stderr
-#            echo "=============== You'd better abort the program and (try to) fix the issue" > /dec/stderr
-#            read a # just to let the user time enough to read the message...
-#        fi
-#    fi
-}
-
-
-###########################################
-function printconfig {
-
-    echo
-    echo "Current Configuration:"
-    echo "  Operating System                           : $OperatingSystem"
-    echo "  Number of Cores                            : $corenumber"  
-    echo "  Name of the Generation Directory           : $generationdir"
-    echo "  Install Prefix for Third Party Libraries   : $installPrefixThird"  
-    echo "  Install Prefix for CreaTools               : $installPrefix"
-    echo "  Boolean for Doc Generation                 : $docgeneration"
-    echo "  Where do you want to get source files from : $sourcesFrom"
-    echo "  Login User Name                            : $loginUserName"
-    echo "  Login Group Name                           : $loginGroupName"
-    echo "  Build type                                 : $buildType"          
-    echo "  Gdcm version                               : $gdcmVersion"
-    echo "  ITK version                                : $ITKVersion"
-    echo
-
-}
-
 
-
-##################################################################################################
-##################################################################################################
-##################################################################################################
-##################################################################################################
-##################################################################################################
-##################################################################################################
+source scripts/LocalFunctions.sh
 
 configureFile="scripts/CreaTools-configure.sh"
 
@@ -145,7 +38,7 @@ configureFile="scripts/CreaTools-configure.sh"
 # default configuration parameters
 OperatingSystem=`getDistrib`
 corenumber=`getncore`
-generationdir=$HOME/CreatoolsGenerationDir
+generationdir=$HOME/Creatis/creaTools
 installPrefixThird=
 installPrefix=
 docgeneration=OFF
@@ -156,10 +49,7 @@ loginGroupName=`groups | awk '{print $1}'`
 buildType=Release
 gdcmVersion=GDCM1
 ITKVersion=ITK3
-export ETC_BASHRC=~/.bashrc
-
-
-
+export ETC_BASHRC=`getbashrc`
 
 
 function usage {
@@ -173,29 +63,32 @@ function usage {
     echo "    command:" 
     echo "" 
     echo "    as a normal user:" 
-    echo "         config            : set the configuration parameters only" 
+    echo "         config                    : set the configuration parameters only" 
     echo "         "                 
-    echo "    as root:" 
-    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 "         3rd-wt                    : Get, Compile, Install wt"
     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 "         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 "         uninstall         : uninstall the creatools"
+    echo "         creatools-generateBinTGZ  : generation of CreaTools.tgz (binary version)" 
     echo "   "
-    echo "         printconfig       : print the configuration" 
-    echo "         help              : print help"
-    echo "         env               : print some environnement variables"
+    echo "         uninstall                 : uninstall the creatools"
+    echo "   "
+    echo "         printconfig               : print the configuration" 
+    echo "         help                      : print help"
+    echo "         env                       : print some environnement variables"
     echo "" 
-    echo "         all               : configure / compile / install" 
+    echo "         all                       : configure / compile / install" 
     echo "         "                 
     echo "   "
     echo "   "
@@ -207,6 +100,7 @@ function usage {
     echo "        -gdir <dir>           : generation directory (default $generationdir)"
     echo "        -instprefix <dir>     : creatools install prefix" 
     echo "        -instprefix3 <dir>    : 3rd party library install prefix" 
+    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)"
@@ -229,6 +123,7 @@ while [ $# -ge 1 ] ; do
         -instprefix)        installPrefix=$2;                          shift 2;;
         -instprefix3)       installPrefixThird=$2;                     shift 2;;
         -doc)               docgeneration=ON;                          shift 1;;
+        -html)              sourcesFrom=HTML;                          shift 1;;
         -git)               sourcesFrom=GIT;                           shift 1;;
         -git-read-only)     sourcesFrom=GIT-READ-ONLY;
 shift 1;;
@@ -244,7 +139,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 3rd-wt creatools creatools-get creatools-cmp creatools-install creatools-generateBinTGZ uninstall printconfig help env` == "false" ] ; then
     echo "Unrecognized command: $command"
     echo ""
     usage
@@ -259,7 +154,7 @@ if [ `checkVal $command config all` == false ] ; then
         exit
     fi
     source $configureFile
-    if [ ! -f $installPrefixThird/share/creatools_third_party_library_config.sh ] ; then
+    if [ ! -f $installPrefixThird/share/creatools/creatools_third_party_library_config.sh ] ; then
         echo WARNING
         echo "the curently used Third Party libraries are NOT in $installPrefixThird but ... in :"
         grep "installPrefixThird=" $ETC_BASHRC
@@ -279,8 +174,8 @@ fi
 checkDistrib $OperatingSystem
 
 # complete default install prefix
-if [ -z "$installPrefix" ]      ; then installPrefix=$generationdir/creatools_install; fi
-if [ -z "$installPrefixThird" ] ; then installPrefixThird=$generationdir/thirdparty_install; fi
+if [ -z "$installPrefix" ]      ; then installPrefix=$generationdir/ci; fi
+if [ -z "$installPrefixThird" ] ; then installPrefixThird=$generationdir/tpli; fi
 
 # check build type
 if [ `checkVal $buildType Release Debug RelWithDebug` == "false" ] ; then
@@ -333,24 +228,24 @@ 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
-       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:"; 
-        su -c "bash scripts/ThirdParty-install-Base-Stuff.sh"   
-    fi
+    source scripts/CreaTools-configure.sh
+    cd scripts
+    source ThirdParty-install-Base-Stuff.sh $OperatingSystem
+    cd ..
     bash scripts/ThirdParty-install.sh
 fi
 
-
-
 # vtk
 if [ `checkVal $command all 3rd 3rd-vtk` == true ] ; then
     bigDisplay "INSTALL VTK"
@@ -369,15 +264,18 @@ fi
 if [ `checkVal $command all 3rd 3rd-itk` == true ] ; then
     bigDisplay "INSTALL $ITKVersion"
     bash scripts/ThirdParty-install-ITK.sh
+    cd $scriptDirName
 fi
 
-## ??
-#if [ `checkVal $command all 3rd` == true ] ; then
-#    bash scripts/ThirdParty-install.sh
-#fi
+# wt
+if [ `checkVal $command all 3rd 3rd-wt` == true ] ; then
+    bigDisplay "INSTALL WT"
+    source scripts/ThirdParty-install-WT.sh
+    cd $scriptDirName
+fi
 
 # Setup the user .bashrc correctly
-if [ `checkVal $command all 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx ` == true ] ; then
+if [ `checkVal $command all 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx 3rd-wt ` == true ] ; then
     bigDisplay "FINALIZE 3RD PARTY LIBRARY INSTALLATION"
     bash scripts/ThirdParty-install-Finalize.sh
     if [ `checkVal $command 3rd 3rd-vtk 3rd-itk 3rd-gdcm 3rd-wx ` == true ] ; then
@@ -387,16 +285,11 @@ 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"
+echo "EED installscript compile creatools"
+echo $ETC_BASHRC
     source $ETC_BASHRC
     bash -x scripts/CreaTools-compile.sh
 
@@ -420,10 +313,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 " "
+    ##EED 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