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" ]]
+ 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" ]]
+ 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" ]]
+ 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"
CMAKE_OPTIONS+=" -DVTK_WRAP_JAVA:BOOL=OFF"
### MPI settings
-if [ -n "$SAT_HPC" ]
-then
+if [ -n "$SAT_HPC" ]; then
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=ON"
if [ -n "$MPI_ROOT_DIR" ]; then
- # On CentOS, Fedora, hdf5-openmpi-devel system package installs HDF5 headers in the openmpi include directory
- # This screws up ParaView at runtime since xdmf2 is built with the wrong HDF5 files
- # Attempts to fix at Xdmf2 CMakeLists file did not help to resolve this issue
- # tried include_directories(BEFORE "${HDF_INCLUDE_DIRS}")
- if [ "${SAT_openmpi_IS_NATIVE}" == "1" ] && [ -f "${MPI_INCLUDE_DIR}/hdf5.h" ] && [ "$SAT_hdf5_IS_NATIVE" != "1" ]; then
+ # On CentOS, Fedora, hdf5-openmpi-devel system package installs HDF5 headers in the openmpi include directory
+ # This screws up ParaView at runtime since xdmf2 is built with the wrong HDF5 files
+ # Attempts to fix at Xdmf2 CMakeLists file did not help to resolve this issue
+ # tried include_directories(BEFORE "${HDF_INCLUDE_DIRS}")
+ if [ "${SAT_openmpi_IS_NATIVE}" == "1" ] && [ -f "${MPI_INCLUDE_DIR}/hdf5.h" ] && [ "$SAT_hdf5_IS_NATIVE" != "1" ]; then
echo "WARNING: openMPI is system based and hdf5-openmpi-devel is installed on your node (${MPI_INCLUDE_DIR}/hdf5.h detected...)"
- else
+ else
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
- fi
+ fi
+ fi
+ # SMP implementation
+ if [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "sequential" ]; then
+ echo "FATAL: Inconsistent VTK_SMP_IMPLEMENTATION_TYPE!"
+ exit 1
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "OpenMP" ]; then
+ echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
+ CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "TBB" ]; then
+ echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
+ CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
fi
- CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP=ON"
CMAKE_OPTIONS+=" -DVTK_MODULE_ENABLE_VTK_FiltersParallelMPI=YES"
CMAKE_OPTIONS+=" -DVTK_MODULE_ENABLE_VTK_ParallelMPI=YES"
CMAKE_OPTIONS+=" -DMPI_C_FOUND=${MPI_C_FOUND}"
-elif [ -n "$VTK_SMP_IMPLEMENTATION_TYPE" ]
-then
+
+elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" != "" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE environment variable was found...."
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- if [[ $VTK_SMP_IMPLEMENTATION_TYPE = "sequential" ]]
- then
+ if [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "sequential" ]; then
echo "WARNING: sequential approach will be used..."
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "TBB" ]]
- then
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "TBB" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "OpenMP" ]]
- then
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "OpenMP" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"
else
echo
echo "*** cmake" ${CMAKE_OPTIONS}
+
cmake ${CMAKE_OPTIONS} $SOURCE_DIR
if [ $? -ne 0 ]
then
CMAKE_OPTIONS+=" -DVTK_WRAP_JAVA:BOOL=OFF"
### MPI settings
-if [ -n "$SAT_HPC" ]
-then
+if [ -n "$SAT_HPC" ]; then
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=ON"
if [ -n "$MPI_ROOT_DIR" ]; then
- # On CentOS, Fedora, hdf5-openmpi-devel system package installs HDF5 headers in the openmpi include directory
- # This screws up ParaView at runtime since xdmf2 is built with the wrong HDF5 files
- # Attempts to fix at Xdmf2 CMakeLists file did not help to resolve this issue
- # tried include_directories(BEFORE "${HDF_INCLUDE_DIRS}")
- if [ "${SAT_openmpi_IS_NATIVE}" == "1" ] && [ -f "${MPI_INCLUDE_DIR}/hdf5.h" ] && [ "$SAT_hdf5_IS_NATIVE" != "1" ]; then
+ # On CentOS, Fedora, hdf5-openmpi-devel system package installs HDF5 headers in the openmpi include directory
+ # This screws up ParaView at runtime since xdmf2 is built with the wrong HDF5 files
+ # Attempts to fix at Xdmf2 CMakeLists file did not help to resolve this issue
+ # tried include_directories(BEFORE "${HDF_INCLUDE_DIRS}")
+ if [ "${SAT_openmpi_IS_NATIVE}" == "1" ] && [ -f "${MPI_INCLUDE_DIR}/hdf5.h" ] && [ "$SAT_hdf5_IS_NATIVE" != "1" ]; then
echo "WARNING: openMPI is system based and hdf5-openmpi-devel is installed on your node (${MPI_INCLUDE_DIR}/hdf5.h detected...)"
- else
+ else
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
- fi
+ fi
+ fi
+ # SMP implementation
+ if [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "sequential" ]; then
+ echo "FATAL: Inconsistent VTK_SMP_IMPLEMENTATION_TYPE!"
+ exit 1
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "OpenMP" ]; then
+ echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
+ CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "TBB" ]; then
+ echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
+ CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
fi
- CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP=ON"
CMAKE_OPTIONS+=" -DVTK_MODULE_ENABLE_VTK_FiltersParallelMPI=YES"
CMAKE_OPTIONS+=" -DVTK_MODULE_ENABLE_VTK_ParallelMPI=YES"
CMAKE_OPTIONS+=" -DMPI_C_FOUND=${MPI_C_FOUND}"
-elif [ -n "$VTK_SMP_IMPLEMENTATION_TYPE" ]
-then
+
+elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" != "" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE environment variable was found...."
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- if [[ $VTK_SMP_IMPLEMENTATION_TYPE = "sequential" ]]
- then
+ if [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "sequential" ]; then
echo "WARNING: sequential approach will be used..."
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "TBB" ]]
- then
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "TBB" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "OpenMP" ]]
- then
+ elif [ "${VTK_SMP_IMPLEMENTATION_TYPE}" == "OpenMP" ]; then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"
else
echo
echo "*** cmake" ${CMAKE_OPTIONS}
+
cmake ${CMAKE_OPTIONS} $SOURCE_DIR
if [ $? -ne 0 ]
then
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" ]]
+ 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" ]]
+ 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" ]]
+ 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"
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- if [[ $VTK_SMP_IMPLEMENTATION_TYPE = "sequential" ]]
+ if [[ $VTK_SMP_IMPLEMENTATION_TYPE == "sequential" ]]
then
echo "WARNING: sequential approach will be used..."
CMAKE_OPTIONS+=" -DPARAVIEW_USE_MPI:BOOL=OFF"
CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=`which g++`"
CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=`which gcc`"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "TBB" ]]
+ elif [[ $VTK_SMP_IMPLEMENTATION_TYPE == "TBB" ]]
then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: TBB..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=TBB -DVTKm_ENABLE_TBB:BOOL=ON"
- elif [[ $VTK_SMP_IMPLEMENTATION_TYPE = "OpenMP" ]]
+ elif [[ $VTK_SMP_IMPLEMENTATION_TYPE == "OpenMP" ]]
then
echo "WARNING: VTK_SMP_IMPLEMENTATION_TYPE was set to: OpenMP..."
CMAKE_OPTIONS+=" -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DVTKm_ENABLE_OPENMP:BOOL=ON"