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.14.2.tar.gz
+set (DOWNLOAD_PETSC http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.0.tar.gz
CACHE STRING "PETSc tarball path/url" )
-set (DOWNLOAD_SLEPC https://slepc.upv.es/download/distrib/slepc-3.14.1.tar.gz
+set (DOWNLOAD_SLEPC https://slepc.upv.es/download/distrib/slepc-3.15.0.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" )
list (APPEND CMAKE_MODULE_PATH "${SOLVERLAB_SOURCE_DIR}/cmake_files")
-if( DEFINED ENV{MPI_HOME} OR DEFINED MPI_HOME )
+
+#####################
+# Detection of MPI #
+#####################
+if ( DEFINED ENV{MPI_ROOT_DIR} OR DEFINED MPI_ROOT_DIR )
+ if ( DEFINED ENV{MPI_ROOT_DIR} )
+ set(MPI_HOME $ENV{MPI_ROOT_DIR})
+ else ( DEFINED ENV{MPI_ROOT_DIR} )
+ set(MPI_HOME ${MPI_ROOT_DIR})
+ endif( DEFINED ENV{MPI_ROOT_DIR} )
+endif( DEFINED ENV{MPI_ROOT_DIR} OR DEFINED MPI_ROOT_DIR )
+
+if( DEFINED ENV{MPI_HOME} OR 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 )
+else( DEFINED ENV{MPI_HOME} OR MPI_HOME )
set(SOLVERLAB_WITH_MPI OFF)
-endif( DEFINED ENV{MPI_HOME} OR DEFINED MPI_HOME )
+endif( DEFINED ENV{MPI_HOME} OR MPI_HOME )
+
+############################
+# Definition of HDF5_HOME #
+############################
+if ( DEFINED ENV{HDF5_ROOT_DIR} OR DEFINED HDF5_ROOT_DIR )
+ if ( DEFINED ENV{HDF5_ROOT_DIR} )
+ set(HDF5_ROOT $ENV{HDF5_ROOT_DIR})
+ else ( DEFINED ENV{HDF5_ROOT_DIR} )
+ set(HDF5_ROOT ${HDF5_ROOT_DIR})
+ endif( DEFINED ENV{HDF5_ROOT_DIR} )
+endif( DEFINED ENV{HDF5_ROOT_DIR} OR DEFINED HDF5_ROOT_DIR )
######################################################
# Detection or compilation of PETSc+SLEPc+HDF5 #
set(HDF5_ROOT ${PETSC_DIR}/${PETSC_ARCH})# define hint for hdf5/med installation in petsc external packages
endif( DEFINED ENV{HDF5_ROOT} )
endif( NOT HDF5_ROOT )
- set(HDF5_LIBRARY_DIR ${HDF5_ROOT}/lib)
- set(HDF5_INCLUDE_DIRS ${HDF5_ROOT}/include)
+
+ find_package(HDF5 COMPONENTS CXX HL)
+ if ( NOT HDF5_FOUND)
+ set(HDF5_LIBRARY_DIR ${HDF5_ROOT}/lib)
+ set(HDF5_INCLUDE_DIRS ${HDF5_ROOT}/include)
+ endif( NOT HDF5_FOUND)
+
else ( DEFINED ENV{PETSC_DIR} OR PETSC_DIR )
message ( STATUS "PETSC_DIR not set, searching PETSc and SLEPc in the system" )
message (STATUS "SLEPC will be downloaded and compiled from ${DOWNLOAD_SLEPC}" )
message (STATUS "HDF5 will be downloaded and compiled from ${DOWNLOAD_HDF5}" )
- #extract tarball name
+ #extract petsc tarball name
string(LENGTH "${DOWNLOAD_PETSC}" tarball_url_length)#length of the tarball
string(FIND "${DOWNLOAD_PETSC}" "/" start_tarball_name REVERSE )# last occurence of "/"
MATH(EXPR start_tarball_name "${start_tarball_name}+1")#start after the occurence of "/"
set(PETSC_DIR ${CMAKE_CURRENT_BINARY_DIR}/pre_requis/${PETSC_TARBALL_NAME}) # Location of the final install
set(PETSC_ARCH arch-linux-c-opt)
- set(PETSC_INSTALL ${CMAKE_INSTALL_PREFIX}/share/petsc)#folder to copy petsc libraries and include files
+ set(PETSC_INSTALL ${CMAKE_INSTALL_PREFIX}/lib/petsc)#folder to copy petsc libraries and include files
ExternalProject_Add (PETSc
URL ${DOWNLOAD_PETSC}
set(PETSC_INCLUDES ${PETSC_DIR}/${PETSC_ARCH}/include ${PETSC_DIR}/include)
set(PETSC_LIBRARIES ${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.so)
+ #extract slepc tarball name
+ string(LENGTH "${DOWNLOAD_SLEPC}" tarball_url_length)#length of the tarball
+ string(FIND "${DOWNLOAD_SLEPC}" "/" start_tarball_name REVERSE )# last occurence of "/"
+ 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_SLEPC} ${start_tarball_name} ${tarball_name_length} SLEPC_TARBALL_NAME)
+
+ #extract slepc version
+ string(LENGTH "${SLEPC_TARBALL_NAME}" tarball_name_length)#length of the tarball
+ string(FIND "${SLEPC_TARBALL_NAME}" "-" start_version_name REVERSE )# last occurence of "-"
+ MATH(EXPR start_version_name "${start_version_name}+1")#start after the occurence of "/"
+ string(SUBSTRING ${SLEPC_TARBALL_NAME} ${start_version_name} ${tarball_name_length} SLEPC_VERSION)
+ message( STATUS "SLEPc version ${SLEPC_VERSION} will be installed" )
+
#define slepc variables
set(SLEPC_DIR ${PETSC_INSTALL})
- 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)
+ set(SLEPC_INCLUDES ${SLEPC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/${SLEPC_TARBALL_NAME}/include )
+ set(SLEPC_LIBRARIES ${PETSC_DIR}/${PETSC_ARCH}/externalpackages/${SLEPC_TARBALL_NAME}/installed-arch-linux2-c-opt/lib/libslepc.so)
message( STATUS "SLEPc includes ${SLEPC_INCLUDES}")
#define hdf5 variables
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(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 )
message(STATUS "MED will be downloaded and installed from ${DOWNLOAD_MED}")
set(MACHINE PCLINUX)
set(MEDFILE_DEFINITIONS "-D${MACHINE} -DMEDFILE_INSTALL_DOC=OFF")#Comment ne pas compiler la doc ?
- set(MEDFILE_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/share/med) # Location of the final install
+ set(MEDFILE_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/lib/med) # Location of the final install
#extraction of the tarball archive name
string(LENGTH "${DOWNLOAD_MED}" tarball_url_length)#length of the name of the tarball
######################################################
if( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR})
- if( NOT MEDCOUPLING_ROOT_DIR )
+ if ( NOT MEDCOUPLING_ROOT_DIR )
set(MEDCOUPLING_ROOT_DIR $ENV{MEDCOUPLING_ROOT_DIR} )
endif( NOT MEDCOUPLING_ROOT_DIR )
message (STATUS "Seeking MEDCoupling library in ${MEDCOUPLING_ROOT_DIR}")
- if( 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)
- message (FATAL_ERROR "MEDCoupling library not found in ${MEDCOUPLING_ROOT_DIR}")
- else( 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)
- 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)
-
- 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(MEDCOUPLING_ROOT_DIR ${CMAKE_INSTALL_PREFIX}/lib/medcoupling) # Location of the final install
SET(ENV{HDF5_ROOT} ${HDF5_ROOT})#MEDCoupling install process seems to require an environment variable
#extraction of the tarball archive name
string(SUBSTRING ${DOWNLOAD_MEDCOUPLING} ${start_tarball_name} ${tarball_name_length} MEDCOUPLING_TARBALL_NAME)
string(SUBSTRING ${MEDCOUPLING_TARBALL_NAME} 12 ${tarball_name_length} MEDCoupling_VERSION)
- message(STATUS "MEDCoupling version will be ${MEDCoupling_VERSION}")
+ message(STATUS "MEDCoupling will be installed at ${MEDCOUPLING_ROOT_DIR}")
ExternalProject_Add (MEDCoupling
URL ${DOWNLOAD_MEDCOUPLING} #location of medcoupling tarball
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/pre_requis/${MEDCOUPLING_TARBALL_NAME}
BUILD_IN_SOURCE TRUE
- CONFIGURE_COMMAND cmake <SOURCE_DIR>/${MEDCOUPLING_TARBALL_NAME} -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} -DCONFIGURATION_ROOT_DIR=<SOURCE_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
+ CONFIGURE_COMMAND cmake <SOURCE_DIR>/${MEDCOUPLING_TARBALL_NAME} -DCMAKE_INSTALL_PREFIX=${MEDCOUPLING_ROOT_DIR} -DCONFIGURATION_ROOT_DIR=<SOURCE_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 #-DSALOME_USE_MPI=ON
BUILD_COMMAND make
INSTALL_COMMAND make install
INSTALL_DIR ${MEDCOUPLING_ROOT_DIR}
add_library(medloader SHARED IMPORTED )
set_property(TARGET medloader PROPERTY IMPORTED_LOCATION ${MEDCOUPLING_ROOT_DIR}/lib/libmedloader.so)
+ SET(MEDCOUPLING_USE_64BIT_IDS ON)
+
endif( MEDCOUPLING_ROOT_DIR OR DEFINED ENV{MEDCOUPLING_ROOT_DIR} )
set(MEDCOUPLING_INCLUDE_DIR ${MEDCOUPLING_ROOT_DIR}/include)
#extraction of the paraview version"
IF ( ${vtkConfig_file} STREQUAL "vtkConfig_file-NOTFOUND" )
message(WARNING "Could not find ParaView configuration file vtkPVConfig.h in folder ${PARAVIEW_INCLUDE_DIR} and subdirectories ${PARAVIEW_SUFFIXES}. Postprocessing may not work")
- set( PARAVIEW_VERSION "5.0")
+ set( PARAVIEW_VERSION "5.8")
ELSE ( ${vtkConfig_file} STREQUAL "vtkConfig_file-NOTFOUND" )
message( STATUS "Found vtkPVConfig.h in ${vtkConfig_file}")
file(STRINGS ${vtkConfig_file} vtkConfig)
ENDIF( ${PARAVIEW_VERSION} STRGREATER "5.6" OR ${PARAVIEW_VERSION} STREQUAL "5.6" )
# Find python
-IF ( PYTHON_ROOT_DIR OR ENV{PYTHON_ROOT_DIR})
+IF ( PYTHON_ROOT_DIR OR DEFINED ENV{PYTHON_ROOT_DIR})
IF ( PYTHON_ROOT_DIR )
set(Python_ROOT_DIR ${PYTHON_ROOT_DIR} )
ELSE( PYTHON_ROOT_DIR )
set(Python_ROOT_DIR $ENV{PYTHON_ROOT_DIR} )
ENDIF( PYTHON_ROOT_DIR)
-ENDIF(PYTHON_ROOT_DIR OR ENV{PYTHON_ROOT_DIR})
+ENDIF( PYTHON_ROOT_DIR OR DEFINED ENV{PYTHON_ROOT_DIR})
IF (${CMAKE_VERSION} VERSION_GREATER "3.12.0")
find_package(Python ${PYTHON2OR3} REQUIRED COMPONENTS Interpreter Development )
set(Python_VERSION_MINOR ${PYTHON_VERSION_MINOR})
ENDIF(${CMAKE_VERSION} VERSION_GREATER "3.12.0")
-#PyQt5
-IF ( NOT PYQT5_ROOT_DIR )
+#PyQt5 root dir
+IF ( NOT DEFINED PYQT5_ROOT_DIR )
set(PYQT5_ROOT_DIR $ENV{PYQT5_ROOT_DIR} )
-ENDIF( NOT PYQT5_ROOT_DIR )
+ENDIF( NOT DEFINED PYQT5_ROOT_DIR )
-#Matplotlib
-IF ( NOT MATPLOTLIB_ROOT_DIR )
+#Matplotlib root dir
+IF ( NOT DEFINED MATPLOTLIB_ROOT_DIR )
set(MATPLOTLIB_ROOT_DIR $ENV{MATPLOTLIB_ROOT_DIR} )
-ENDIF( NOT MATPLOTLIB_ROOT_DIR )
+ENDIF( NOT DEFINED MATPLOTLIB_ROOT_DIR )
-#HDF5_ROOT_DIR
+#define HDF5_ROOT_DIR
IF ( NOT HDF5_ROOT_DIR )
IF ( ENV{HDF5_ROOT_DIR} )
set(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} )
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/:${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 SWIG
+IF ( DEFINED SWIG_ROOT_DIR OR DEFINED ENV{SWIG_ROOT_DIR})
+ IF ( DEFINED SWIG_ROOT_DIR )
+ set(SWIG_EXECUTABLE ${SWIG_ROOT_DIR}/bin/swig )
+ ELSE ( DEFINED SWIG_ROOT_DIR )
+ set(SWIG_EXECUTABLE $ENV{SWIG_ROOT_DIR}/bin/swig )
+ ENDIF( DEFINED SWIG_ROOT_DIR)
+ENDIF( DEFINED SWIG_ROOT_DIR OR DEFINED ENV{SWIG_ROOT_DIR})
find_package (SWIG 3.0 REQUIRED)
+# Find Doxygen
if (SOLVERLAB_WITH_DOCUMENTATION) #
+ IF ( DEFINED DOXYGEN_ROOT_DIR OR DEFINED ENV{DOXYGEN_ROOT_DIR})
+ IF ( DEFINED DOXYGEN_ROOT_DIR )
+ set(DOXYGEN_EXECUTABLE ${DOXYGEN_ROOT_DIR}/bin/doxygen )
+ ELSE ( DEFINED DOXYGEN_ROOT_DIR )
+ set(DOXYGEN_EXECUTABLE $ENV{DOXYGEN_ROOT_DIR}/bin/doxygen )
+ ENDIF( DEFINED DOXYGEN_ROOT_DIR)
+ ENDIF( DEFINED DOXYGEN_ROOT_DIR OR DEFINED ENV{DOXYGEN_ROOT_DIR})
find_package (Doxygen) #
set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, doxygen, graphviz, mscgen")
set (CPACK_RPM_PACKAGE_REQUIRES "${CPACK_RPM_PACKAGE_REQUIRES}, doxygen, graphviz, mscgen")
if (NOT DOXYGEN_FOUND)
message (FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly.")
endif(NOT DOXYGEN_FOUND)
-endif()
+endif(SOLVERLAB_WITH_DOCUMENTATION)
+
if (SOLVERLAB_WITH_TESTS) #
enable_testing ()
+ IF ( DEFINED CPPUNIT_ROOT_DIR OR DEFINED ENV{CPPUNIT_ROOT_DIR})
+ IF ( DEFINED CPPUNIT_ROOT_DIR )
+ set(CPPUNIT_ROOT_USER ${CPPUNIT_ROOT_DIR} )
+ ELSE ( DEFINED CPPUNIT_ROOT_DIR )
+ set(CPPUNIT_ROOT_USER $ENV{CPPUNIT_ROOT_DIR} )
+ ENDIF( DEFINED CPPUNIT_ROOT_DIR)
+ ENDIF( DEFINED CPPUNIT_ROOT_DIR OR DEFINED ENV{CPPUNIT_ROOT_DIR})
find_package (CPPUNIT REQUIRED)
-endif()
-find_package (XDR REQUIRED)
+endif(SOLVERLAB_WITH_TESTS)
# Enter subdirectories
add_subdirectory (CDMATH)