Salome HOME
qt: clean build directory
[tools/sat_salome.git] / products / compil_scripts / ParaView.sh
index 7816c571b977ed05ff18786f83228a57ff6533ff..452cbf0c5af1e0836751c590703f3f76bf0e6d22 100755 (executable)
@@ -12,7 +12,12 @@ CMAKE_OPTIONS=""
 ### common compiler and install settings
 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}"
 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
-CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_BUILD_TYPE:STRING=Release"
+if [ -n "$SAT_DEBUG" ]
+then
+    CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+    CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_FLAGS:STRING=-m64"
 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_FLAGS:STRING=-m64"
 
@@ -24,6 +29,31 @@ CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON"
 
 ### OpenGL settings
 CMAKE_OPTIONS="${CMAKE_OPTIONS} -DOpenGL_GL_PREFERENCE:STRING=LEGACY"
+CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_CATALYST:BOOL=OFF"
+CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCATALYST_BUILD_STUB_IMPLEMENTATION:BOOL=OFF"
+### spns #20550 - Headless mode
+if [ -n "$PARAVIEW_HEADLESS_MODE" ]
+then
+    EGL_FOUND=false
+    LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
+    case $LINUX_DISTRIBUTION in
+        CO6|CO7|FD26|FD30|FD32)
+            if [ -f /usr/include/EGL/egl.h ] && [ -f /usr/lib64/libEGL.so ] && [ -f /usr/lib64/libOpenGL.so ]
+            then
+                EGL_FOUND=true
+            fi
+            ;;
+        *)
+            ;;
+    esac
+    if [ $EGL_FOUND == "true" ]; then
+        echo "WARNING: Building with headless mode support..."
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_OPENGL_HAS_EGL:BOOL=ON"
+    else
+        echo "FATAL: Headless mode cannot be set on node $LINUX_DISTRIBUTION! Please expand the PARAVIEW_HEADLESS_MODE section in script: $0"
+        exit 1
+    fi
+fi
 
 ### Ray-tracing settings
 if [ -n "$OSPRAY_ROOT_DIR" ] 
@@ -95,6 +125,30 @@ then
     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpic++"
     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_COMPILER:STRING=${MPI_ROOT_DIR}/bin/mpicc"
     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP=ON"
+elif [ -n "$VTK_SMP_IMPLEMENTATION_TYPE" ]
+then
+    echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE environment variable was found...."
+    CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_MPI:BOOL=OFF"
+    CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=`which g++`"
+    CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_COMPILER:STRING=`which gcc`"
+    if [[ $VTK_SMP_IMPLEMENTATION_TYPE = "sequential" ]]
+    then
+        echo "WARNING: sequential approach will be used..."
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_MPI:BOOL=OFF"
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=`which g++`"
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_COMPILER:STRING=`which gcc`"
+    elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "TBB" ]]
+    then
+        echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
+    elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "OpenMP" ]]
+    then
+        echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
+        CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"
+    else
+        echo "ERROR: Unknown ${VTK_SMP_IMPLEMENTATION_TYPE} option.... aborting!"
+        exit 1
+    fi
 else
     echo "WARNING: MPI will not be supported!"
     CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_MPI:BOOL=OFF"