X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=dependencies%2FcpPlugins_Install_Dependencies.py;fp=dependencies%2FcpPlugins_Install_Dependencies.py;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=b1d7813c580f0e4440ca74f0619531ddf3df3f11;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/dependencies/cpPlugins_Install_Dependencies.py b/dependencies/cpPlugins_Install_Dependencies.py deleted file mode 100644 index b1d7813..0000000 --- a/dependencies/cpPlugins_Install_Dependencies.py +++ /dev/null @@ -1,383 +0,0 @@ -#!/usr/bin/python - -import glob, multiprocessing, os, platform, readline -from distutils import spawn - -## -------------------- -## -- Various values -- -## -------------------- - -system_name = platform.system( ) -process_count = multiprocessing.cpu_count( ) / 2 -home_dir = os.environ[ "HOME" ] - -## ------------------------ -## -- Filename completer -- -## ------------------------ - -def filename_completer( text, state ): - return ( glob.glob( text + '*' ) + [ None ] )[ state ] -# fed - -def get_filepath( message ): - readline.set_completer_delims( ' \t\n;' ) - readline.parse_and_bind( "tab: complete" ) - readline.set_completer( filename_completer ) - return os.path.abspath( raw_input( message ) ) -# fed - -## -------------------- -## -- File extractor -- -## -------------------- - -def file_extract( filename, outdir ): - real_ext = None - for ext in [ ".zip", ".tar", ".tar.gz", ".tar.bz2" ]: - if filename[ len( filename ) - len( ext ) : ] == ext: - real_ext = ext - # fi - # rof - command = None - if real_ext == ".zip": - command = "unzip " + filename + " -d " + outdir - elif real_ext == ".tar": - command = "tar xf " + filename + " -C " + outdir + " --strip-components=1" - elif real_ext == ".tar.gz": - command = "tar xzf " + filename + " -C " + outdir + " --strip-components=1" - elif real_ext == ".tar.bz2": - command = "tar xjf " + filename + " -C " + outdir + " --strip-components=1" - # fi - if command <> None: - print( "\tExtracting " + filename + "..." ) - res = os.system( "mkdir -p " + outdir + " && " + command ) - print( "\t\tdone." ) - if res == 0: - return True - else: - return False - else: - return False - # fi -# fed - -## ------------------ -## -- Look for Qt4 -- -## ------------------ - -qmake_locations = [] -qmake_progs = [] -if system_name == "Linux": - qmake_locations = [ - "/usr/bin", - "/usr/local/bin", - home_dir + "/bin", - home_dir + "/local/bin" - ] - qmake_progs = [ "qmake", "qmake-qt4" ] -# fi - -qmake_paths = [] -for prog in qmake_progs: - for loc in qmake_locations: - path = spawn.find_executable( loc + "/" + prog ) - if path <> None: - qmake_paths.append( path ) - # rof -# rof - -print( "Please choose one configuration for Qt4:" ) -for i in range( len( qmake_paths ) ): - print( "\t" + str( i ) + ": " + qmake_paths[ i ] ) -# rof -print( "\t" + str( len( qmake_paths ) + 0 ) + ": Give another installation path (path to qmake)." ) -print( "\t" + str( len( qmake_paths ) + 1 ) + ": Build from scratch." ) -qmake_opt = -1 -while qmake_opt == -1: - qmake_opt = int( raw_input( "\t---> " ) ) - if qmake_opt < 0 or qmake_opt > len( qmake_paths ) + 1: - qmake_opt = -1 - # fi -# elihw - -qmake_exec = None -qmake_src = None -if qmake_opt == len( qmake_paths ): - qmake_exec = get_filepath( "Choose your own Qt4 installation: " ) - while not os.path.isfile( qmake_exec ): - qmake_exec = get_filepath( "Choose your own Qt4 installation: " ) - # elihw -elif qmake_opt == len( qmake_paths ) + 1: - qmake_src = get_filepath( "Choose your own Qt4 source file: " ) - while not os.path.isfile( qmake_src ): - qmake_src = get_filepath( "Choose your own Qt4 source file: " ) - # elihw -else: - qmake_exec = qmake_paths[ qmake_opt ] -# fi - -## -------------------- -## -- Look for CMake -- -## -------------------- - -cmake_locations = [] -cmake_progs = [] -if system_name == "Linux": - cmake_locations = [ - "/usr/bin", - "/usr/local/bin", - home_dir + "/bin", - home_dir + "/local/bin" - ] - cmake_progs = [ "cmake" ] -# fi - -cmake_paths = [] -for prog in cmake_progs: - for loc in cmake_locations: - path = spawn.find_executable( loc + "/" + prog ) - if path <> None: - cmake_paths.append( path ) - # rof -# rof - -print( "Please choose one configuration for CMake:" ) -for i in range( len( cmake_paths ) ): - print( "\t" + str( i ) + ": " + cmake_paths[ i ] ) -# rof -print( "\t" + str( len( cmake_paths ) + 0 ) + ": Give another installation path (path to cmake)." ) -print( "\t" + str( len( cmake_paths ) + 1 ) + ": Build from scratch." ) -cmake_opt = -1 -while cmake_opt == -1: - cmake_opt = int( raw_input( "\t---> " ) ) - if cmake_opt < 0 or cmake_opt > len( cmake_paths ) + 1: - cmake_opt = -1 - # fi -# elihw - -cmake_exec = None -cmake_src = None -if cmake_opt == len( cmake_paths ): - cmake_exec = get_filepath( "Choose your own CMake installation: " ) - while not os.path.isfile( cmake_exec ): - cmake_exec = get_filepath( "Choose your own CMake installation: " ) - # elihw -elif cmake_opt == len( cmake_paths ) + 1: - cmake_src = get_filepath( "Choose your own CMake source file: " ) - while not os.path.isfile( cmake_src ): - cmake_src = get_filepath( "Choose your own CMake source file: " ) - # elihw -else: - cmake_exec = cmake_paths[ cmake_opt ] -# fi - -## ------------------ -## -- Look for ITK -- -## ------------------ - -itk_src = get_filepath( "Choose your own ITK source file: " ) -while not os.path.isfile( itk_src ): - itk_src = get_filepath( "Choose your own ITK source file: " ) -# elihw - -## ------------------ -## -- Look for VTK -- -## ------------------ - -vtk_src = get_filepath( "Choose your own VTK source file: " ) -while not os.path.isfile( vtk_src ): - vtk_src = get_filepath( "Choose your own VTK source file: " ) -# elihw - -## -------------------------- -## -- Miscelaneous options -- -## -------------------------- - -build_prefix = get_filepath( "Build prefix: " ) -install_prefix = get_filepath( "Installation prefix: " ) -build_type = raw_input( "Build type [release/debug]: " ).lower( ) - -os.system( "mkdir -p " + build_prefix ) -os.system( "mkdir -p " + install_prefix ) - -## ------------------- -## -- Extract files -- -## ------------------- - -print( "Extracting source code... " ) -if qmake_src <> None: - file_extract( qmake_src, build_prefix + "/qt4-source" ) -# fi -if cmake_src <> None: - file_extract( cmake_src, build_prefix + "/cmake-source" ) -# fi -file_extract( itk_src, build_prefix + "/itk-source" ) -file_extract( vtk_src, build_prefix + "/vtk-source" ) -print( " done!" ) - -## --------------- -## -- Build Qt4 -- -## --------------- - -if qmake_src <> None: - full = raw_input( "\tWould you like to perform a full Qt4 build [y/n]? " ) - full.lower( ) - - qt4_source = os.path.abspath( build_prefix + "/qt4-source" ) - qt4_build = os.path.abspath( build_prefix + "/qt4-build" ) - os.system( "mkdir -p " + qt4_build ) - - config_command = qt4_source + "/configure" - config_command += " -prefix " + install_prefix - config_command += " -" + build_type - config_command += " -opensource -shared -fast -no-webkit -optimized-qmake -confirm-license" - if full[ 0 ] == "n": - config_command += " -no-phonon -no-phonon-backend -no-openvg -nomake demos -nomake examples" - # fi - ## MACOS: -no-framework - - ## Build and install - res = os.system( "cd " + qt4_build + " && " + config_command ) - if res <> 0: - print( "Error configuring Qt4." ) - exit( 1 ) - # fi - res = os.system( "cd " + qt4_build + " && make -j" + str( process_count ) ) - if res <> 0: - print( "Error compiling Qt4." ) - exit( 1 ) - # fi - res = os.system( "cd " + qt4_build + " && make -j install" ) - if res <> 0: - print( "Error installing Qt4." ) - exit( 1 ) - # fi - qmake_exec = install_prefix + "/bin/qmake" -# fi - -## ----------------- -## -- Build CMake -- -## ----------------- - -if cmake_src <> None: - cmake_source = os.path.abspath( build_prefix + "/cmake-source" ) - cmake_build = os.path.abspath( build_prefix + "/cmake-build" ) - os.system( "mkdir -p " + cmake_build ) - - config_command = cmake_source + "/bootstrap" - config_command += " --prefix " + install_prefix - if qmake_exec <> None: - config_command += " --qt-gui --qt-qmake=" + qmake_exec - else: - config_command += " --no-qt-gui" - # fi - - ## Build and install - res = os.system( "cd " + cmake_build + " && " + config_command ) - if res <> 0: - print( "Error configuring CMake." ) - exit( 1 ) - # fi - res = os.system( "cd " + cmake_build + " && make -j" + str( process_count ) ) - if res <> 0: - print( "Error compiling CMake." ) - exit( 1 ) - # fi - res = os.system( "cd " + cmake_build + " && make -j install" ) - if res <> 0: - print( "Error installing CMake." ) - exit( 1 ) - # fi - cmake_exec = install_prefix + "/bin/cmake" -# fi - -## --------------- -## -- Build VTK -- -## --------------- - -vtk_source = os.path.abspath( build_prefix + "/vtk-source" ) -vtk_build = os.path.abspath( build_prefix + "/vtk-build" ) -os.system( "mkdir -p " + vtk_build ) - -kitware_build = "MinSizeRel" -if build_type == "debug": - kitware_build = "Debug" -# fi - -vtk_configure = cmake_exec -vtk_configure += " -DCMAKE_CXX_FLAGS:STRING=-std=c++11" -vtk_configure += " -DBUILD_DOCUMENTATION:BOOL=OFF" -vtk_configure += " -DBUILD_EXAMPLES:BOOL=OFF" -vtk_configure += " -DBUILD_SHARED_LIBS:BOOL=ON" -vtk_configure += " -DBUILD_TESTING:BOOL=OFF" -vtk_configure += " -DCMAKE_BUILD_TYPE:STRING=" + kitware_build -if qmake_exec <> None: - vtk_configure += " -DQT_QMAKE_EXECUTABLE:PATH=" + qmake_exec - vtk_configure += " -DModule_vtkGUISupportQt:BOOL=ON" - vtk_configure += " -DModule_vtkGUISupportQtOpenGL:BOOL=ON" - vtk_configure += " -DModule_vtkGUISupportQtSQL:BOOL=OFF" - vtk_configure += " -DModule_vtkGUISupportQtWebkit:BOOL=OFF" -# fi -vtk_configure += " -DCMAKE_INSTALL_PREFIX:PATH=" + install_prefix -vtk_configure += " " + vtk_source - -## Build and install -res = os.system( "cd " + vtk_build + " && " + vtk_configure ) -if res <> 0: - print( "Error configuring VTK." ) - exit( 1 ) -# fi -res = os.system( "cd " + vtk_build + " && make -j" + str( process_count ) ) -if res <> 0: - print( "Error compiling VTK." ) - exit( 1 ) -# fi -res = os.system( "cd " + vtk_build + " && make -j install" ) -if res <> 0: - print( "Error installing VTK." ) - exit( 1 ) -# fi - -## --------------- -## -- Build ITK -- -## --------------- - -itk_source = os.path.abspath( build_prefix + "/itk-source" ) -itk_build = os.path.abspath( build_prefix + "/itk-build" ) -os.system( "mkdir -p " + itk_build ) - -kitware_build = "MinSizeRel" -if build_type == "debug": - kitware_build = "Debug" -# fi - -itk_configure = cmake_exec -itk_configure += " -DCMAKE_CXX_FLAGS:STRING=-std=c++11" -itk_configure += " -DBUILD_DOCUMENTATION:BOOL=OFF" -itk_configure += " -DBUILD_EXAMPLES:BOOL=OFF" -itk_configure += " -DBUILD_SHARED_LIBS:BOOL=ON" -itk_configure += " -DBUILD_TESTING:BOOL=OFF" -itk_configure += " -DCMAKE_BUILD_TYPE:STRING=" + kitware_build -itk_configure += " -DModule_ITKReview:BOOL=ON" -itk_configure += " -DModule_ITKVtkGlue:BOOL=OFF" -itk_configure += " -DModule_ParabolicMorphology:BOOL=ON" -itk_configure += " -DCMAKE_INSTALL_PREFIX:PATH=" + install_prefix -itk_configure += " " + itk_source - -## Build and install -res = os.system( "cd " + itk_build + " && " + itk_configure ) -if res <> 0: - print( "Error configuring ITK." ) - exit( 1 ) -# fi -res = os.system( "cd " + itk_build + " && make -j" + str( process_count ) ) -if res <> 0: - print( "Error compiling ITK." ) - exit( 1 ) -# fi -res = os.system( "cd " + itk_build + " && make -j install" ) -if res <> 0: - print( "Error installing ITK." ) - exit( 1 ) -# fi - -## eof - $RCSfile$