list (APPEND CMAKE_MODULE_PATH "${SOLVERLAB_SOURCE_DIR}/cmake_files")
-#####################
-# Detection of MPI #
-#####################
+#############################
+# Detection of MPI + MPI4PY #
+#############################
if ( DEFINED ENV{MPI_ROOT_DIR} OR DEFINED MPI_ROOT_DIR )
if ( DEFINED ENV{MPI_ROOT_DIR} )
set(MPI_HOME $ENV{MPI_ROOT_DIR})
set(SOLVERLAB_WITH_MPI OFF)
endif( DEFINED ENV{MPI_HOME} OR MPI_HOME )
-# Definition of MPI4PY_ROOT_DIR
+# Definition of MPI4PY_ROOT_DIR from either the environment or petsc
if( ${SOLVERLAB_WITH_PYTHON} AND ${SOLVERLAB_WITH_MPI} AND NOT ${MPI4PY_ROOT_DIR})
message(STATUS "Defining MPI4PY directory" )
if( DEFINED ENV{MPI4PY_ROOT_DIR})
if( MPI4PY_ROOT_DIR)
message(STATUS "MPI4PY directory is ${MPI4PY_ROOT_DIR}" )
- SET(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DMPI4PY_ROOT_DIR=${MPI4PY_ROOT_DIR})
+ SET(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DMPI4PY_ROOT_DIR=${MPI4PY_ROOT_DIR})#Necessary for swig generation of mpi structures
endif( MPI4PY_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)
- #set(MPI4PY_ROOT_DIR ${PETSC_INSTALL}/lib/mpi4py )
-
endif ( IS_DIRECTORY "/usr/include/petsc/" AND EXISTS "/usr/lib64/libpetsc.so" )
endif ( DEFINED ENV{PETSC_DIR} OR PETSC_DIR )
add_definitions(-DPETSC_VERSION_GREATER_3_5)
endif( ${PETSC_VERSION} VERSION_GREATER 3.5 )
+if ( ${SOLVERLAB_WITH_PYTHON} )
+ set(SLEPC4PY_ROOT_DIR ${PETSC_DIR}/${PETSC_ARCH}/lib/slepc4py)# or use FindSLEPC4PY
+ set(PETSC4PY_ROOT_DIR ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc4py)# or use FindPETSC4PY
+endif( ${SOLVERLAB_WITH_PYTHON} )
+
string(REPLACE ";" ":" PETSC_INCLUDES_INSTALL "${PETSC_INCLUDES}")# use colon instead of semicolon in environment file env_SOLVERLAB.sh
add_library(petsc SHARED IMPORTED)
if (NOT DOXYGEN_FOUND)
message (FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly.")
endif(NOT DOXYGEN_FOUND)
+
+ configure_file (Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE)
+ add_custom_target (doc COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile SOURCES ${PROJECT_BINARY_DIR}/Doxyfile) #
+ install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html DESTINATION share/doc/solverlab-dev-doc OPTIONAL) #
+
+ if ( SOLVERLAB_WITH_GUI OR COREFLOWS_WITH_GUI )
+ find_package(Sphinx)
+ add_custom_target (docGUI COMMAND ${SPHINX_EXECUTABLE} -M html "${PROJECT_SOURCE_DIR}/CoreFlows/gui/doc" "${PROJECT_BINARY_DIR}/CoreFlows/gui/doc" SOURCES ${PROJECT_SOURCE_DIR}/CoreFlows/gui/doc) #
+ install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Utilities/html DESTINATION share/doc/solverlab-gui-doc OPTIONAL) #
+ endif( SOLVERLAB_WITH_GUI OR COREFLOWS_WITH_GUI )
endif(SOLVERLAB_WITH_DOCUMENTATION)
if (SOLVERLAB_WITH_TESTS) #
ENDIF( DEFINED CPPUNIT_ROOT_DIR)
ENDIF( DEFINED CPPUNIT_ROOT_DIR OR DEFINED ENV{CPPUNIT_ROOT_DIR})
find_package (CPPUNIT REQUIRED)
+
+ add_custom_target (cpp COMMAND ctest -R .exe)# may be replace ctest -R with ctest -L
+ add_custom_target (mpi COMMAND ctest -R Proc)# may be replace ctest -R with ctest -L
endif(SOLVERLAB_WITH_TESTS)
# Enter subdirectories