]> Creatis software - creaToolsTools.git/blobdiff - Linux/installscript
#2493 creaToolsTools Feature New Normal - Prepare and Install binary CreaTools...
[creaToolsTools.git] / Linux / installscript
index c20e72e7a930687a90710e2328f88c33e2e5eab6..9c2ef2b2570bb93d6a159b9048ea09e95964fca9 100755 (executable)
@@ -23,6 +23,8 @@
 
 #!/bin/bash -e
 
+scriptDirName=$(dirname $(readlink -f $0) )
+
 #########################################################################
 ############     Local Functions  #######################################
 #########################################################################
@@ -143,18 +145,18 @@ 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
 
 loginUserName=$USER
 loginGroupName=`groups | awk '{print $1}'`
-buildType=RelWithDebug
+buildType=Release
 gdcmVersion=GDCM1
 ITKVersion=ITK3
-export ETC_BASHRC=`getbashrc`
+export ETC_BASHRC=~/.bashrc
 
 
 
@@ -171,29 +173,31 @@ 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 "   "
     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 "         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 "         all                       : configure / compile / install" 
     echo "         "                 
     echo "   "
     echo "   "
@@ -205,7 +209,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 "        -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!!):"
@@ -226,7 +232,10 @@ 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;;
         -gdcm2)             gdcmVersion=GDCM2;                         shift 1;;
         -itk4)              ITKVersion=ITK4;                           shift 1;;
         -build)             buildType=$2;                              shift 2;;
@@ -239,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
@@ -328,32 +337,42 @@ 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:"; 
-        sudo su -c "bash scripts/ThirdParty-install-Base-Stuff.sh"   
+        su -c "bash scripts/ThirdParty-install-Base-Stuff.sh"   
     fi
     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
@@ -371,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" 
@@ -379,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"
@@ -412,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