From bc9bb15239fa73ebbc08e15007e24f6197acafe4 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Mon, 10 Jan 2022 14:15:11 +0100 Subject: [PATCH] support ParaView 5.10.0 --- products/ParaView.pyconf | 65 +++++ products/compil_scripts/ParaView-5.10.0.bat | 222 ++++++++++++++++ products/compil_scripts/ParaView-5.10.0.sh | 271 ++++++++++++++++++++ 3 files changed, 558 insertions(+) create mode 100644 products/compil_scripts/ParaView-5.10.0.bat create mode 100755 products/compil_scripts/ParaView-5.10.0.sh diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index 8318e09..dd26006 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -30,6 +30,71 @@ default : } } +version_5_10_0 : +{ + compil_script : 'ParaView-5.10.0.sh' + archive_info : {archive_name : "ParaView-5.10.0-lata.tar.gz"} + # two other LATA patches already included in archive + patches : ['paraview.0003-ParaViewClient.patch', + 'paraview.0004-ParaView_hdf5.patch', + 'paraview.0005-ParaView_find_cgns.patch', + 'paraview.0006-ParaView_find_libxml2.patch', + 'paraview.0007-ParaView_find_freetype.patch', + 'paraview.0010-ParaView_CATALYST_cmake.patch', + 'paraview.0008-ParaView_coincident_rendering.patch', + 'paraview.0011-ParaView_protobuf_crash.patch', + 'paraview.0015-Paraview_VTKM_ioss.patch' + ] +} + +version_5_10_0_win : +{ + compil_script : 'ParaView-5.10.0.bat' + archive_info : {archive_name : "ParaView-5.10.0-lata.tar.gz"} + depend : [ + 'Python', + 'hdf5', + 'qt', + 'boost', + 'libxml2', + 'freetype', + 'matplotlib', + 'cgns', + 'Pygments', + 'pthreads', + 'zlib' + ] + patches : ['paraview.0003-ParaViewClient.patch', + 'paraview.0004-ParaView_hdf5.patch', + 'paraview.0005-ParaView_find_cgns.patch', + 'paraview.0006-ParaView_find_libxml2.patch', + 'paraview.0007-ParaView_find_freetype.patch', + 'paraview.0009-ParaView_find_zlib.patch', + 'paraview.0010-ParaView_CATALYST_cmake.patch', + 'paraview.1001-ParaView_windows_catalyst_cmake.patch', + 'paraview.0008-ParaView_coincident_rendering.patch', + 'paraview.0011-ParaView_protobuf_crash.patch' + ] +} + +version_5_10_0_MPI : +{ + compil_script : 'ParaView-5.10.0.sh' + archive_info : {archive_name : "ParaView-5.10.0-lata.tar.gz"} + patches : ['paraview.0003-ParaViewClient.patch', + 'paraview.0004-ParaView_hdf5.patch', + 'paraview.0005-ParaView_find_cgns.patch', + 'paraview.0006-ParaView_find_libxml2.patch', + 'paraview.0007-ParaView_find_freetype.patch', + 'paraview-5.9-VTKM_MPI.patch', + 'paraview.0010-ParaView_CATALYST_cmake.patch', + 'paraview.0008-ParaView_coincident_rendering.patch', + 'paraview.0011-ParaView_protobuf_crash.patch', + 'paraview.0015-Paraview_VTKM_ioss.patch', + 'paraview.0017-VTK-openMPI-if-devtoolset.patch' + ] +} + version_5_9_1 : { compil_script : 'ParaView-5.9.1.sh' diff --git a/products/compil_scripts/ParaView-5.10.0.bat b/products/compil_scripts/ParaView-5.10.0.bat new file mode 100644 index 0000000..8370ffb --- /dev/null +++ b/products/compil_scripts/ParaView-5.10.0.bat @@ -0,0 +1,222 @@ +@echo off + +echo ########################################################################## +echo ParaView %VERSION% %PYTHON_VERSION% %PYTHON_VERSION:.=% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +SET PRODUCT_BUILD_TYPE=Release +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +set PVLIBVERSION=5.9 + +set python_name=python%PYTHON_VERSION% + +set CMAKE_OPTIONS= +REM common compiler and install settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_VERBOSE_MAKEFILE=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE% + +REM common ParaView settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_LIBDIR:STRING=lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_TESTING:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON + +REM OpenGL settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenGL_GL_PREFERENCE:STRING=LEGACY + +REM Ray-tracing settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_ENABLE_RAYTRACING:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_ENABLE_OSPRAY:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dospray_DIR:PATH=%OSPRAY_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dembree_DIR:PATH=%EMBREE_ROOT_DIR:\=/% + +REM Paraview general settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_PYTHON_FULL_THREADSAFE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_PYTHON_VERSION:STRING=3 + +REM VTK general settings + +REM Use 64 bits IDS on request +if DEFINED SALOME_USE_64BIT_IDS ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_USE_64BIT_IDS:BOOL=ON +) else ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_USE_64BIT_IDS:BOOL=OFF +) + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_INSTALL_LIBRARY_DIR=lib/paraview-%PVLIBVERSION% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_INSTALL_ARCHIVE_DIR=lib/paraview-%PVLIBVERSION% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_PYTHON_SITE_PACKAGES_SUFFIX=site-packages +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTKm_INSTALL_LIB_DIR=lib/paraview-%PVLIBVERSION% + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_RenderingLOD:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_FiltersCore:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_CommonCore:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_IOCore:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_IOEnSight:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_VTK_IOInfovis:INTERNAL=YES + +REM TBB settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT:PATH=%TBB_ROOT_DIR:\=/% + +REM Qt settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_USE_QT:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF + +REM Python settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_USE_PYTHON:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_WRAP_PYTHON:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_INCLUDE_DIR:STRING=%PYTHON_ROOT_DIR:\=/%/include +if %SAT_DEBUG% == 0 ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_LIBRARY:STRING=%PYTHON_ROOT_DIR:\=/%/libs/python%PYTHON_VERSION:.=%.lib +) else ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_LIBRARY:STRING=%PYTHON_ROOT_DIR:\=/%/libs/python%PYTHON_VERSION:.=%_d.lib +) +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_PYTHON_FULL_THREADSAFE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_NO_PYTHON_THREADS:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_PYTHON_VERSION:STRING=3 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_WINDOWS_PYTHON_DEBUGGABLE:BOOL=OFF + +REM Java settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_WRAP_JAVA:BOOL=OFF + +REM MPI settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_USE_MPI:BOOL=OFF + +REM HDF5 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_DIR:PATH=%HDF5_ROOT_DIR:\=/%/cmake/hdf5 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_INCLUDE_DIRS:PATH=%HDF5_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF + +REM CGNS +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_ParaView_cgns:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_LIBRARY:STRING=%CGNS_ROOT_DIR:\=/%/lib/cgnsdll.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_ParaView_cgns:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_ParaView_VTKExtensionsCGNSReader:INTERNAL=YES +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_ENABLE_ParaView_VTKExtensionsCGNSWriter:INTERNAL=YES + +REM VisIt Database bridge settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_ENABLE_VISITBRIDGE:BOOL=ON + +REM Boost settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_ADDITIONAL_VERSIONS="1.67.0 1.67" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_INCLUDEDIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_INCLUDE_DIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_BOOST_CMAKE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_SYSTEM_PATHS:BOOL=ON + +REM libxml2 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_INCLUDE_DIR:STRING=%LIBXML2_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARIES:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_XMLLINT_EXECUTABLE=%LIBXML2_ROOT_DIR:\=/%/bin/xmllint.exe + +REM gl2ps settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF + +REM freetype settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_freetype:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DFREETYPE_INCLUDE_DIRS:PATH=%FREETYPE_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DFREETYPE_INCLUDE_DIR_freetype2:PATH=%FREETYPE_ROOT_DIR:\=/%/include/freetype2 +if %SAT_DEBUG% == 0 ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DFREETYPE_LIBRARY:STRING=%FREETYPE_ROOT_DIR:\=/%/lib/freetype.lib +) else ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DFREETYPE_LIBRARY:STRING=%FREETYPE_ROOT_DIR:\=/%/lib/freetyped.lib +) +REM ZLIB settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_zlib:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DZLIB_INCLUDE_DIR:STRING=%ZLIB_ROOT_DIR:\=/%/include +if %SAT_DEBUG% == 0 ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DZLIB_LIBRARY:STRING=%ZLIB_ROOT_DIR:\=/%/bin/zlib.lib +) else ( + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DZLIB_LIBRARY:STRING=%ZLIB_ROOT_DIR:\=/%/bin/zlibd.lib +) + +REM Extra options (switch off non-used Paraview plug-ins) +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGINS_DEFAULT:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGIN_ENABLE_Moments:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGIN_ENABLE_SLACTools:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGIN_ENABLE_SierraPlotTools:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGIN_ENABLE_PacMan:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_PLUGIN_ENABLE_pvblot:BOOL=OFF + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPARAVIEW_USE_CATALYST:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCATALYST_BUILD_STUB_IMPLEMENTATION:BOOL=ON + +REM allow additional plugins +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR="Visual Studio 15 2017 Win64" + +cd %BUILD_DIR% +echo. +echo INFO: running command: %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR% + +%CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR% +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on cmake" + exit 1 +) + +echo. +echo -------------------------------------------------------------------------- +echo *** msbuild %MAKE_OPTIONS% ALL_BUILD.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 +echo -------------------------------------------------------------------------- + +msbuild %MAKE_OPTIONS% ALL_BUILD.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild ALL_BUILD.vcxproj + exit 2 +) + +echo. +echo -------------------------------------------------------------------------- +echo *** msbuild %MAKE_OPTIONS% INSTALL.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 +echo -------------------------------------------------------------------------- + +msbuild %MAKE_OPTIONS% INSTALL.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild INSTALL.vcxproj + exit 3 +) + +REM in order to fullfill some prerequistes by GUI! +cd %PRODUCT_INSTALL%\bin +mkdir Lib +MOVE /Y site-packages Lib\site-packages + +REM move +set MSBUILDDISABLENODEREUSE=1 + +REM In debug mode, we need to rename all .pyd to _d.pyd... don't ask why. Seems like a known bug in OmniORB. +if %SAT_DEBUG% == 1 ( + cd %PRODUCT_INSTALL%\bin\Lib\site-packages + powershell -Command "Get-ChildItem -File -Recurse *.pyd| ForEach-Object {if ((!$_.Name.EndsWith('_d.pyd'))) { $_ | Copy-Item -Destination {$_.Name -replace '.pyd','_d.pyd'}}}" +) + +echo. +echo -------------------------------------------------------------------------- +echo *** Post processing +echo -------------------------------------------------------------------------- +echo. + +echo +echo "########## END" + diff --git a/products/compil_scripts/ParaView-5.10.0.sh b/products/compil_scripts/ParaView-5.10.0.sh new file mode 100755 index 0000000..f782c2d --- /dev/null +++ b/products/compil_scripts/ParaView-5.10.0.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +echo "##########################################################################" +echo "ParaView" $VERSION +echo "##########################################################################" + + +PVLIBVERSION=`echo ${VERSION} | awk -F. '{printf("%d.%d",$1,$2)}'` + +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" +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" + +### common ParaView settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_INSTALL_LIBDIR:STRING=lib" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DBUILD_TESTING:BOOL=OFF" +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} -DCATALYST_BUILD_STUB_IMPLEMENTATION:BOOL=ON" +### 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" ] +then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_RAYTRACING:BOOL=ON" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_ENABLE_OSPRAY:BOOL=ON" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -Dospray_DIR:PATH=${OSPRAY_ROOT_DIR}/lib/cmake/ospray-${OSPRAY_VERSION}" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -Dembree_DIR:PATH=${EMBREE_ROOT_DIR}/lib/cmake/embree-${EMBREE_VERSION}" +else + echo "WARNING: Paraview will be built without OSPRAY support!" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_RAYTRACING:BOOL=OFF" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_OSPRAY:BOOL=OFF" +fi + +### VTK general settings +if [ -n "$SALOME_USE_64BIT_IDS" ] +then + echo "WARNING: user requested VTK 64 bits encoding..." + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_USE_64BIT_IDS:BOOL=ON" +else + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_USE_64BIT_IDS:BOOL=OFF" +fi +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_PYTHON_SITE_PACKAGES_SUFFIX=site-packages" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTKm_INSTALL_LIB_DIR=lib/paraview-${PVLIBVERSION}" + +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_REPORT_OPENGL_ERRORS:BOOL=OFF" + +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_RenderingLOD:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_FiltersCore:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_CommonCore:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_IOCore:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_IOEnSight:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_IOInfovis:INTERNAL=YES" + +### TBB settings (in case of a system installation, TBB will be detected automatically) +if [ -n "$TBB_ROOT_DIR" ] +then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DTBB_ROOT:PATH=${TBB_ROOT_DIR}" +fi + +### Qt settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_QT:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_BUILD_QT_DESIGNER_PLUGIN:BOOL=OFF" + +### Python settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_PYTHON:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_WRAP_PYTHON:BOOL=ON" +if [ "${PYTHON_ROOT_DIR}" != "/usr" ] +then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPython3_INCLUDE_DIR:STRING=${PYTHON_ROOT_DIR}/include/python${PYTHON_VERSION}" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPython3_LIBRARY:STRING=${PYTHON_ROOT_DIR}/lib/libpython${PYTHON_VERSION}.so" +fi +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_PYTHON_FULL_THREADSAFE:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_NO_PYTHON_THREADS:BOOL=OFF" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_PYTHON_VERSION:STRING=3" + +### Java settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_WRAP_JAVA:BOOL=OFF" + +### MPI settings +if [ -n "$SAT_HPC" ] +then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_USE_MPI:BOOL=ON" + 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" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_FiltersParallelMPI=YES" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_VTK_ParallelMPI=YES" +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" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_CXX_COMPILER:STRING=`which g++`" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCMAKE_C_COMPILER:STRING=`which gcc`" +fi + +### HDF5 settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR}" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_hl_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_CXX_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_cpp.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include" +### CGNS +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_ParaView_cgns:BOOL=ON" +if [ "$CGNS_ROOT_DIR" != "/usr" ] +then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCGNS_INCLUDE_DIR:PATH=${CGNS_ROOT_DIR}/include" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DCGNS_LIBRARY:PATH=${CGNS_ROOT_DIR}/lib/libcgns.so" +fi +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_ParaView_cgns:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_ParaView_VTKExtensionsCGNSReader:INTERNAL=YES" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_ENABLE_ParaView_VTKExtensionsCGNSWriter:INTERNAL=YES" + +### VisIt Database bridge settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_VISITBRIDGE:BOOL=ON" + +### Boost settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DBOOST_ROOT:PATH=${BOOST_ROOT_DIR}" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DBoost_NO_BOOST_CMAKE:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DBoost_NO_SYSTEM_PATHS:BOOL=ON" + +### gl2ps settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF" + +### libxml2 settings +if [ -n "$LIBXML2_ROOT_DIR" ] +then + # with a native libxml2, do not use these options + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON" + if [ "${LIBXML2_ROOT_DIR}" != "/usr" ] + then + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint" + fi +fi + +### freetype settings +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_VTK_freetype:BOOL=ON" +if [ -n "$FREETYPE_ROOT_DIR" ] +then + # with a native freetype, do not use these options + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DFREETYPE_INCLUDE_DIRS:STRING=${FREETYPE_ROOT_DIR}/include/freetype2" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DFREETYPE_LIBRARY:STRING=${FREETYPE_ROOT_DIR}/lib/libfreetype.so" +fi + +### Extra options +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGINS_DEFAULT:BOOL=ON" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGIN_ENABLE_Moments:BOOL=OFF" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGIN_ENABLE_SLACTools:BOOL=OFF" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGIN_ENABLE_PacMan:BOOL=OFF" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGIN_ENABLE_pvblot:BOOL=OFF" + +# allow additional plugins +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON" + +# Openturns: +if [ -n "$OPENTURNS_VERSION" ]; then + function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; } + if version_ge $OPENTURNS_VERSION "1.17" ; then + echo "INFO: Adding OpenTURNS version ${OPENTURNS_VERSION} support..." + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_OPENTURNS=ON" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DOpenTURNS_DIR=$OPENTURNS_ROOT_DIR/lib/cmake/openturns" + else + echo "WARNING: OpenTURNS ${OPENTURNS_VERSON} is not supported with current ParaView build..." + fi +else + echo "WARNING: No OpenTURNS environment variable is found..." +fi + +echo +echo "*** cmake" ${CMAKE_OPTIONS} +cmake ${CMAKE_OPTIONS} $SOURCE_DIR +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi + +# SPN #18779 +MEMTOTAL=$(cat /proc/meminfo | grep MemTotal | awk ' {print $2}') +MEMTHRESHOLD=15000000 +if [ "$MEMTOTAL" -lt "$MEMTHRESHOLD" ] || [ -n "$SAT_PARAVIEW_FORCE_MAKE_J1" ]; then + echo "WARNING: ParaView build requires large memory for VTKm compilation step..." + echo "WARNING: ParaView build requires large memory for VTKm compilation step..." + echo "WARNING: Available RAM is smaller than 16GB... using -j 1" + MAKE_OPTIONS="-j 1 " +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "########## END" -- 2.39.2