diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index af7836aa528a1e99ef57ac16d94127cf311642a6..7bd6def3dba1d2639582dbd0ba22dc45699ae2ef 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -146,3 +146,6 @@ if(Shapelib_FOUND) elseif(OGS_BUILD_GUI) message(FATAL_ERROR "Shapelib not found but it is required for OGS_BUILD_GUI!") endif() + +## Sundials cvode ode-solver library +find_package(CVODE) diff --git a/scripts/cmake/cmake/FindCVODE.cmake b/scripts/cmake/cmake/FindCVODE.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2d6f3ea01af990d69f51abf88d195442af6cc32d --- /dev/null +++ b/scripts/cmake/cmake/FindCVODE.cmake @@ -0,0 +1,34 @@ +# Tries to find Sundials CVODE. +# +# This module will define the following variables: +# CVODE_INCLUDE_DIRS - Location of the CVODE includes +# CVODE_FOUND - true if CVODE was found on the system +# CVODE_LIBRARIES - Required libraries for all requested components +# +# This module accepts the following environment or CMake vars +# CVODE_ROOT - Install location to search for + +include(FindPackageHandleStandardArgs) + +if(NOT "$ENV{CVODE_ROOT}" STREQUAL "" OR NOT "${CVODE_ROOT}" STREQUAL "") + list(APPEND CMAKE_INCLUDE_PATH "$ENV{CVODE_ROOT}" "${CVODE_ROOT}") + list(APPEND CMAKE_LIBRARY_PATH "$ENV{CVODE_ROOT}" "${CVODE_ROOT}") +endif() + +find_path(CVODE_INCLUDE_DIRS sundials_types.h + ENV CVODE_ROOT + PATH_SUFFIXES include include/sundials +) + +find_library(CVODE_LIBRARIES + NAMES sundials_cvode + ENV CVODE_ROOT + PATH_SUFFIXES lib Lib +) + +find_package_handle_standard_args(CVODE DEFAULT_MSG + CVODE_LIBRARIES + CVODE_INCLUDE_DIRS +) + +mark_as_advanced(CVODE_INCLUDE_DIRS CVODE_LIBRARIES)