X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=5c85481e576df44be82265a3af10347919ef8580;hb=5b7c00ec5c1eaaafb1dc5f9b56a25ac6edb9187f;hp=ee55711c5cde6103dc5aedc6a3d44e3071390bf0;hpb=a3dc907a7c05ce4bccfc7d2e321c58fc79874008;p=tools%2Fsolverlab.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ee55711..5c85481 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,8 +4,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) # Project name project (SOLVERLAB C CXX) -set (SOLVERLAB_VERSION_MAJOR 0) -set (SOLVERLAB_VERSION_MINOR 1) +set (SOLVERLAB_VERSION_MAJOR 9) +set (SOLVERLAB_VERSION_MINOR 7) +set (SOLVERLAB_VERSION_SUBMINOR alpha) option (SOLVERLAB_WITH_DOCUMENTATION "Generate SOLVERLAB documentation" ON) option (SOLVERLAB_WITH_PYTHON "Compile Python interface of SOLVERLAB" ON) @@ -21,11 +22,12 @@ set (HDF5_ROOT OFF CACHE STRING "HDF5 library path" )#For the compila set (MEDFILE_ROOT_DIR OFF CACHE STRING "MED library path" ) set (MEDCOUPLING_ROOT_DIR OFF CACHE STRING "MEDCoupling library path" ) set (PYTHON_ROOT_DIR OFF CACHE STRING "Python library path" ) +set (PARAVIEW_ROOT_DIR OFF CACHE STRING "PARAVIEW library path" ) #url of tarball librairies -set (DOWNLOAD_PETSC http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.13.5.tar.gz +set (DOWNLOAD_PETSC http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.14.2.tar.gz CACHE STRING "PETSc tarball path/url" ) -set (DOWNLOAD_SLEPC https://slepc.upv.es/download/distrib/slepc-3.13.4.tar.gz +set (DOWNLOAD_SLEPC https://slepc.upv.es/download/distrib/slepc-3.14.1.tar.gz CACHE STRING "SLEPC tarball path/url" ) set (DOWNLOAD_F2CBLASLAPACK https://www.mcs.anl.gov/petsc/mirror/externalpackages/f2cblaslapack-3.4.2.q4.tar.gz CACHE STRING "F2CBLASLAPACK tarball path/url" ) @@ -33,20 +35,29 @@ set (DOWNLOAD_HDF5 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5- CACHE STRING "HDF5 tarball path/url" ) set (DOWNLOAD_MED http://files.salome-platform.org/Salome/other/med-4.1.0.tar.gz CACHE STRING "MED tarball path/url") -set (DOWNLOAD_MEDCOUPLING http://files.salome-platform.org/Salome/other/medCoupling-9.4.0.tar.gz +set (DOWNLOAD_MEDCOUPLING http://files.salome-platform.org/Salome/other/medCoupling-9.6.0.tar.gz CACHE STRING "MEDCoupling tarball path/url" ) +set (DOWNLOAD_OPENMPI https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.6.tar.gz + CACHE STRING "OPENMPI tarball path/url" ) +set (DOWNLOAD_HYPRE https://github.com/hypre-space/hypre/archive/v2.20.0.zip + CACHE STRING "HYPRE tarball path/url" ) set (CMAKE_BUILD_TYPE Release CACHE STRING "Installation mode") -list (APPEND CMAKE_MODULE_PATH "${SOLVERLAB_SOURCE_DIR}/cmake_files") - include(ExternalProject)#For PETSc, MED and MEDCoupling -set(Python_ROOT_DIR $ENV{PYTHON_ROOT_DIR} ) -set(PARAVIEW_ROOT_DIR $ENV{PARAVIEW_ROOT_DIR} ) -set(MATPLOTLIB_ROOT_DIR $ENV{MATPLOTLIB_ROOT_DIR} ) -set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) +list (APPEND CMAKE_MODULE_PATH "${SOLVERLAB_SOURCE_DIR}/cmake_files") +if( DEFINED ENV{MPI_HOME} OR DEFINED MPI_HOME ) + set(SOLVERLAB_WITH_MPI ON) + find_package(MPI) + if( ${MPI_LIBRARY} STREQUAL "MPI_LIBRARY-NOTFOUND") + set ( MPI_LIBRARY ${MPI_HOME}/lib/libmpi.so ) + endif(${MPI_LIBRARY} STREQUAL "MPI_LIBRARY-NOTFOUND") + message ( STATUS "MPI executable is ${MPIEXEC}" ) +else( DEFINED ENV{MPI_HOME} OR DEFINED MPI_HOME ) + set(SOLVERLAB_WITH_MPI OFF) +endif( DEFINED ENV{MPI_HOME} OR DEFINED MPI_HOME ) ###################################################### # Detection or compilation of PETSc+SLEPc+HDF5 # @@ -63,6 +74,9 @@ set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) petsc_get_version () message ( STATUS "PETSc found. Version is ${PETSC_VERSION_MAJOR}.${PETSC_VERSION_MINOR}.${PETSC_VERSION_SUBMINOR}" ) + message ( STATUS "PETSc compiler is ${PETSC_COMPILER}" ) + message ( STATUS "PETSc executable is ${PETSC_MPIEXEC}") + set(PETSC_INSTALL ${PETSC_DIR}) #Define and search slepc variables @@ -174,7 +188,7 @@ set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) URL ${DOWNLOAD_PETSC} SOURCE_DIR ${PETSC_DIR} BUILD_IN_SOURCE TRUE - CONFIGURE_COMMAND /configure --prefix=${PETSC_INSTALL} --with-debugging=0 --with-mpi=0 --download-f2cblaslapack=${DOWNLOAD_F2CBLASLAPACK} --with-fc=0 --download-slepc=${DOWNLOAD_SLEPC} --download-hdf5=${DOWNLOAD_HDF5} + CONFIGURE_COMMAND /configure --prefix=${PETSC_INSTALL} --with-debugging=0 --download-f2cblaslapack=${DOWNLOAD_F2CBLASLAPACK} --with-fc=0 --download-slepc=${DOWNLOAD_SLEPC} --download-hdf5=${DOWNLOAD_HDF5} --with-mpi=0 # --download-openmpi=${DOWNLOAD_OPENMPI} --download-hypre=${DOWNLOAD_HYPRE} BUILD_COMMAND make all TEST_COMMAND make check INSTALL_COMMAND make install @@ -201,8 +215,8 @@ set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) #define slepc variables set(SLEPC_DIR ${PETSC_INSTALL}) - set(SLEPC_INCLUDES ${SLEPC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.13.4/include ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.13.4/installed-arch-linux2-c-opt/include) - set(SLEPC_LIBRARIES ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.13.4/installed-arch-linux2-c-opt/lib/libslepc.so) + set(SLEPC_INCLUDES ${SLEPC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.14.1/include ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.14.1/installed-arch-linux2-c-opt/include) + set(SLEPC_LIBRARIES ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/slepc-3.14.1/installed-arch-linux2-c-opt/lib/libslepc.so) message( STATUS "SLEPc includes ${SLEPC_INCLUDES}") #define hdf5 variables @@ -216,12 +230,18 @@ set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) set(HDF5_LIBRARY_DIR ${HDF5_ROOT}/lib) set(HDF5_INCLUDE_DIRS ${HDF5_ROOT}/include) + #define MPI variables + set(SOLVERLAB_WITH_MPI ON) + set(MPI_HOME ${PETSC_INSTALL} ) + set(MPI_LIBRARY ${PETSC_INSTALL}/lib/libmpi.so) + set(MPIEXEC ${PETSC_INSTALL}/bin/mpiexec) + endif ( IS_DIRECTORY "/usr/include/petsc/" AND EXISTS "/usr/lib64/libpetsc.so" ) endif ( DEFINED ENV{PETSC_DIR} OR PETSC_DIR ) - if ( ${PETSC_VERSION} VERSION_GREATER 3.5 ) - add_definitions(-DPETSC_VERSION_GREATER_3_5) - endif( ${PETSC_VERSION} VERSION_GREATER 3.5 ) +if ( ${PETSC_VERSION} VERSION_GREATER 3.5 ) + add_definitions(-DPETSC_VERSION_GREATER_3_5) +endif( ${PETSC_VERSION} VERSION_GREATER 3.5 ) string(REPLACE ";" ":" PETSC_INCLUDES_INSTALL "${PETSC_INCLUDES}")# use colon instead of semicolon in environment file env_SOLVERLAB.sh @@ -240,7 +260,6 @@ if( MEDFILE_ROOT_DIR OR DEFINED ENV{MEDFILE_ROOT_DIR}) endif( NOT MEDFILE_ROOT_DIR ) find_package (MEDFile REQUIRED) - message (STATUS "MEDFile found in ${MEDFILE_ROOT_DIR}") else( MEDFILE_ROOT_DIR OR DEFINED ENV{MEDFILE_ROOT_DIR}) @@ -260,7 +279,7 @@ else( MEDFILE_ROOT_DIR OR DEFINED ENV{MEDFILE_ROOT_DIR}) URL ${DOWNLOAD_MED} #location of med tarball SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/pre_requis/${MED_TARBALL_NAME} BUILD_IN_SOURCE TRUE - CONFIGURE_COMMAND /configure --prefix=${MEDFILE_ROOT_DIR} --with-hdf5=${HDF5_ROOT} --with-hdf5-include=${HDF5_ROOT}/include --with-hdf5-lib=${HDF5_LIBRARY_DIR} --with-hdf5-bin=${HDF5_ROOT}/bin --with-swig=yes + CONFIGURE_COMMAND /configure --prefix=${MEDFILE_ROOT_DIR} --with-hdf5=${HDF5_ROOT} --with-hdf5-include=${HDF5_ROOT}/include --with-hdf5-lib=${HDF5_LIBRARY_DIR} --with-hdf5-bin=${HDF5_ROOT}/bin --with-swig=yes --disable-fortran #CC=${PETSC_INSTALL}/bin/mpicc BUILD_COMMAND make INSTALL_COMMAND make install INSTALL_DIR ${MEDFILE_ROOT_DIR} @@ -303,7 +322,20 @@ if( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR}) message (STATUS "MEDCoupling library found in ${MEDCOUPLING_ROOT_DIR}") endif( NOT EXISTS ${MEDCOUPLING_ROOT_DIR}/lib/libmedloader.so OR NOT EXISTS ${MEDCOUPLING_ROOT_DIR}/lib/libmedcoupling.so OR NOT EXISTS ${MEDCOUPLING_ROOT_DIR}/include/MEDCoupling.hxx) -else( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR}) + add_library(medloader SHARED IMPORTED ) + set_property(TARGET medloader PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedloader.so) + add_library(interpkernel SHARED IMPORTED ) + set_property(TARGET interpkernel PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libinterpkernel.so) + add_library(medcouplingremapper SHARED IMPORTED ) + set_property(TARGET medcouplingremapper PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedcouplingremapper.so) + add_library(medcouplingcpp SHARED IMPORTED ) + set_property(TARGET medcouplingcpp PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedcouplingcpp.so) + + set(MEDCoupling_DIR ${MEDCOUPLING_ROOT_DIR}/cmake_files) + find_package(MEDCoupling CONFIG REQUIRED) # CONFIG is important ! + message( STATUS "MEDCoupling found. Version is ${MEDCoupling_VERSION}") + +else( DEFINED MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR}) message(STATUS "MEDCoupling will be downloaded and installed from ${DOWNLOAD_MEDCOUPLING}") set(MEDCOUPLING_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/share/medcoupling) # Location of the final install SET(ENV{HDF5_ROOT} ${HDF5_ROOT})#MEDCoupling install process seems to require an environment variable @@ -314,15 +346,15 @@ else( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR}) MATH(EXPR start_tarball_name "${start_tarball_name}+1")#start after the occurence of "/" MATH(EXPR tarball_name_length "${tarball_url_length}-${start_tarball_name}-7")#name ends before .tar.gz that counts for 7 characters string(SUBSTRING ${DOWNLOAD_MEDCOUPLING} ${start_tarball_name} ${tarball_name_length} MEDCOUPLING_TARBALL_NAME) - string(SUBSTRING ${MEDCOUPLING_TARBALL_NAME} 12 ${tarball_name_length} MEDCOUPLING_VERSION_NAME) + string(SUBSTRING ${MEDCOUPLING_TARBALL_NAME} 12 ${tarball_name_length} MEDCoupling_VERSION) - message(STATUS "MEDCoupling version is ${MEDCOUPLING_VERSION_NAME}") + message(STATUS "MEDCoupling version will be ${MEDCoupling_VERSION}") ExternalProject_Add (MEDCoupling URL ${DOWNLOAD_MEDCOUPLING} #location of medcoupling tarball SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/pre_requis/${MEDCOUPLING_TARBALL_NAME} -# BUILD_IN_SOURCE FALSE - CONFIGURE_COMMAND cmake /${MEDCOUPLING_TARBALL_NAME} -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} -DCONFIGURATION_ROOT_DIR=/configuration-${MEDCOUPLING_VERSION_NAME} -DMEDFILE_ROOT_DIR=${MEDFILE_ROOT_DIR} -DMEDCOUPLING_ENABLE_PARTITIONER=OFF -DMEDCOUPLING_PARTITIONER_METIS=OFF -DMEDCOUPLING_PARTITIONER_SCOTCH=OFF -DMEDCOUPLING_ENABLE_RENUMBER=OFF -DMEDCOUPLING_BUILD_DOC=OFF -DHDF5_ROOT_DIR=${HDF5_ROOT} + BUILD_IN_SOURCE TRUE + CONFIGURE_COMMAND cmake /${MEDCOUPLING_TARBALL_NAME} -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} -DCONFIGURATION_ROOT_DIR=/configuration-${MEDCoupling_VERSION} -DMEDFILE_ROOT_DIR=${MEDFILE_ROOT_DIR} -DMEDCOUPLING_ENABLE_PARTITIONER=OFF -DMEDCOUPLING_PARTITIONER_METIS=OFF -DMEDCOUPLING_PARTITIONER_SCOTCH=OFF -DMEDCOUPLING_ENABLE_RENUMBER=OFF -DMEDCOUPLING_BUILD_DOC=OFF -DHDF5_ROOT_DIR=${HDF5_ROOT} -DMEDCOUPLING_USE_64BIT_IDS=ON -DMEDCOUPLING_ENABLE_PYTHON=ON#-DSALOME_USE_MPI=ON BUILD_COMMAND make INSTALL_COMMAND make install INSTALL_DIR ${MEDCOUPLING_ROOT_DIR} @@ -335,16 +367,21 @@ else( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR}) LOG_INSTALL TRUE # Wrap install in script to log output ) + add_library(medloader SHARED IMPORTED ) + set_property(TARGET medloader PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedloader.so) + endif( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR} ) set(MEDCOUPLING_INCLUDE_DIR ${MEDCOUPLING_ROOT_DIR}/include) set(MEDCOUPLING_LIBRARIES ${MEDCOUPLING_ROOT_DIR}/lib )#for environment file env_SOLVERLAB.sh -add_library(medloader SHARED IMPORTED ) -set_property(TARGET medloader PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedloader.so) add_library(medcoupling SHARED IMPORTED ) set_property(TARGET medcoupling PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedcoupling.so) +if ( ${MEDCoupling_VERSION} VERSION_GREATER 9.4 ) + add_definitions(-DMEDCoupling_VERSION_VERSION_GREATER_9_4) +endif( ${MEDCoupling_VERSION} VERSION_GREATER 9.4 ) + if (TARGET MED AND TARGET PETSc) ExternalProject_Add_StepDependencies( MED build PETSc )#PETSc doit être compilé avant MED car c'est PETSc qui compile HDF5 endif(TARGET MED AND TARGET PETSc) @@ -356,32 +393,37 @@ endif(TARGET MED AND TARGET MEDCoupling) if (TARGET PETSc AND TARGET MEDCoupling) ExternalProject_Add_StepDependencies( MEDCoupling build PETSc )#PETSc doit être compilé avant MEDCoupling (car il contient hdf5) endif(TARGET PETSc AND TARGET MEDCoupling) + +IF(MEDCOUPLING_USE_64BIT_IDS) + SET(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DMEDCOUPLING_USE_64BIT_IDS) +ENDIF(MEDCOUPLING_USE_64BIT_IDS) #################### # Final operations # #################### # Paraview variables to choose python version and for env_SOLVERLAB.sh +if ( PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) + if ( PARAVIEW_ROOT_DIR ) + set( PARAVIEW_INCLUDE_DIR ${PARAVIEW_ROOT_DIR}/include) + set( PARAVIEW_LIBRARIES_DIR ${PARAVIEW_ROOT_DIR}/lib) + else( PARAVIEW_ROOT_DIR ) + set( PARAVIEW_ROOT_DIR $ENV{PARAVIEW_ROOT_DIR} ) + set( PARAVIEW_INCLUDE_DIR $ENV{PARAVIEW_ROOT_DIR}/include) + set( PARAVIEW_LIBRARIES_DIR $ENV{PARAVIEW_ROOT_DIR}/lib) + endif( PARAVIEW_ROOT_DIR ) +else( PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) + message(STATUS "PARAVIEW_ROOT_DIR not set. Trying to detect paraview.") + set( PARAVIEW_INCLUDE_DIR /usr/include/paraview/) + set( PARAVIEW_LIBRARIES_DIR /usr/lib/paraview/:/usr/lib64/paraview/:/usr/lib64/vtk/:/usr/lib/vtk/) +endif( PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) + if ( DEFINED PARAVIEW_VERSION OR DEFINED ENV{PARAVIEW_VERSION} ) if ( NOT DEFINED PARAVIEW_VERSION ) set( PARAVIEW_VERSION $ENV{PARAVIEW_VERSION}) endif( NOT DEFINED PARAVIEW_VERSION ) message(STATUS "ParaView version is ${PARAVIEW_VERSION}" ) else( DEFINED PARAVIEW_VERSION OR DEFINED ENV{PARAVIEW_VERSION} ) - if ( DEFINED PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) - if ( DEFINED PARAVIEW_ROOT_DIR ) - set( PARAVIEW_INCLUDE_DIR ${PARAVIEW_ROOT_DIR}/include) - set( PARAVIEW_LIBRARIES_DIR ${PARAVIEW_ROOT_DIR}/lib) - else( DEFINED PARAVIEW_ROOT_DIR ) - set( PARAVIEW_INCLUDE_DIR $ENV{PARAVIEW_ROOT_DIR}/include) - set( PARAVIEW_LIBRARIES_DIR $ENV{PARAVIEW_ROOT_DIR}/lib) - endif( DEFINED PARAVIEW_ROOT_DIR ) - else( DEFINED PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) - message(STATUS "PARAVIEW_VERSION and PARAVIEW_ROOT_DIR not set. Trying to detect paraview.") - set( PARAVIEW_INCLUDE_DIR /usr/include/paraview/) - set( PARAVIEW_LIBRARIES_DIR /usr/lib/paraview/:/usr/lib64/paraview/:/usr/lib64/vtk/:/usr/lib/vtk/) - endif( DEFINED PARAVIEW_ROOT_DIR OR DEFINED ENV{PARAVIEW_ROOT_DIR}) - set( PARAVIEW_SUFFIXES paraview-5.0 paraview-5.1 paraview-5.2 paraview-5.3 paraview-5.4 paraview-5.5 paraview-5.6 paraview-5.7 paraview-5.8 paraview-5.9 ) find_file( vtkConfig_file vtkPVConfig.h HINTS ${PARAVIEW_INCLUDE_DIR} PATH_SUFFIXES ${PARAVIEW_SUFFIXES}) @@ -405,7 +447,7 @@ else( DEFINED PARAVIEW_VERSION OR DEFINED ENV{PARAVIEW_VERSION} ) ENDIF( ${vtkConfig_file} STREQUAL "vtkConfig_file-NOTFOUND" ) endif( DEFINED PARAVIEW_VERSION OR DEFINED ENV{PARAVIEW_VERSION} ) - +#Choose python 2 or 3 IF ( ${PARAVIEW_VERSION} STRGREATER "5.6" OR ${PARAVIEW_VERSION} STREQUAL "5.6" )#Use python 3, use VERSION_GREATER_EQUAL if cmake >=3.7 SET(PYTHON2OR3 "3") message(STATUS "PARAVIEW_VERSION greater than 5.6. We need python3 for postprocessing scripts.") @@ -418,9 +460,9 @@ ENDIF( ${PARAVIEW_VERSION} STRGREATER "5.6" OR ${PARAVIEW_VERSION} STREQUAL "5.6 IF ( PYTHON_ROOT_DIR OR ENV{PYTHON_ROOT_DIR}) IF ( PYTHON_ROOT_DIR ) set(Python_ROOT_DIR ${PYTHON_ROOT_DIR} ) - ELSE( PYTHON_ROOT_DIR }) + ELSE( PYTHON_ROOT_DIR ) set(Python_ROOT_DIR $ENV{PYTHON_ROOT_DIR} ) - ENDIF( PYTHON_ROOT_DIR }) + ENDIF( PYTHON_ROOT_DIR) ENDIF(PYTHON_ROOT_DIR OR ENV{PYTHON_ROOT_DIR}) IF (${CMAKE_VERSION} VERSION_GREATER "3.12.0") @@ -436,9 +478,29 @@ ELSE (${CMAKE_VERSION} VERSION_GREATER "3.12.0") set(Python_VERSION_MINOR ${PYTHON_VERSION_MINOR}) ENDIF(${CMAKE_VERSION} VERSION_GREATER "3.12.0") +#PyQt5 +IF ( NOT PYQT5_ROOT_DIR ) + set(PYQT5_ROOT_DIR $ENV{PYQT5_ROOT_DIR} ) +ENDIF( NOT PYQT5_ROOT_DIR ) + +#Matplotlib +IF ( NOT MATPLOTLIB_ROOT_DIR ) + set(MATPLOTLIB_ROOT_DIR $ENV{MATPLOTLIB_ROOT_DIR} ) +ENDIF( NOT MATPLOTLIB_ROOT_DIR ) + +#HDF5_ROOT_DIR +IF ( NOT HDF5_ROOT_DIR ) + IF ( ENV{HDF5_ROOT_DIR} ) + set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} ) + ELSE( ENV{HDF5_ROOT_DIR} ) + set(HDF5_ROOT_DIR ${HDF5_ROOT} ) + ENDIF( ENV{HDF5_ROOT_DIR} ) +ENDIF( NOT HDF5_ROOT_DIR ) + + #Paraview library paths -set (PV_LIB_DIR /usr/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/dist-packages/paraview/:/usr/lib64/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtk/:${PARAVIEW_LIBRARIES_DIR}) -set (PV_PYTHON_DIR /usr/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/dist-packages/paraview/:/usr/lib64/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtk/:/usr/lib64/paraview/site-packages/:/usr/lib64/paraview/site-packages/paraview/:/usr/lib64/paraview/site-packages/vtk/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/paraview/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtkmodules:/usr/lib/paraview/site-packages/paraview:/usr/lib/paraview/site-packages/paraview/vtk:${PARAVIEW_ROOT_DIR}/lib:${PARAVIEW_ROOT_DIR}/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtkmodules/) +set (PV_LIB_DIR /usr/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/dist-packages/paraview/:/usr/lib64/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtk/:${MATPLOTLIB_ROOT_DIR}/lib/:${PARAVIEW_LIBRARIES_DIR}) +set (PV_PYTHON_DIR /usr/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/dist-packages/paraview/:/usr/lib64/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtk/:/usr/lib64/paraview/site-packages/:/usr/lib64/paraview/site-packages/paraview/:/usr/lib64/paraview/site-packages/vtk/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/paraview/:/usr/lib64/paraview/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtkmodules:/usr/lib/paraview/site-packages/paraview:/usr/lib/paraview/site-packages/paraview/vtk:${PARAVIEW_ROOT_DIR}/lib/:${PARAVIEW_ROOT_DIR}/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/:${PARAVIEW_ROOT_DIR}/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/vtkmodules/:${MATPLOTLIB_ROOT_DIR}/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages:${PYQT5_ROOT_DIR}:${PYQT5_ROOT_DIR}/lib/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages) message(STATUS "Python version found is ${Python_VERSION}") find_package (SWIG 3.0 REQUIRED)