OPTION(DEAL_II_WITH_METIS
"Build deal.II with support for Metis."
- OFF)
+ ON)
OPTION(DEAL_II_WITH_MPI
"Build deal.II with support for mpi."
OPTION(DEAL_II_WITH_NETCDF
"Build deal.II with support for netcdf."
- OFF)
+ ON)
OPTION(DEAL_II_WITH_TBB
"Build deal.II with support for tbb. This will enable thread support in deal.II."
OPTION(DEAL_II_WITH_UMFPACK
"Build deal.II with support for UMFPACK."
- ON)
+ OFF)
OPTION(DEAL_II_FORCE_CONTRIB_UMFPACK
"Always use the bundled umfpack library instead of an external one."
OFF)
OPTION(DEAL_II_FORCE_CONTRIB_BOOST
"Always use the bundled boost library instead of an external one."
- ON)
+ OFF)
#
INCLUDE(configure_functionparser)
+INCLUDE(configure_metis)
+
INCLUDE(configure_mpi)
INCLUDE(configure_netcdf)
--- /dev/null
+#
+# Configuration for the netcdf library:
+#
+
+MACRO(FIND_FEATURE_METIS_EXTERNAL var)
+
+ FIND_PACKAGE(METIS)
+
+ IF(METIS_FOUND)
+ SET(${var} TRUE)
+ ENDIF()
+
+ENDMACRO()
+
+
+MACRO(CONFIGURE_FEATURE_METIS_EXTERNAL var)
+
+ INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIR})
+ LIST(APPEND deal_ii_external_libraries ${METIS_LIBRARY})
+
+ SET(DEAL_II_USE_METIS TRUE)
+
+ SET(${var} TRUE)
+ENDMACRO()
+
+
+MACRO(CONFIGURE_FEATURE_METIS_ERROR_MESSAGE)
+
+ MESSAGE(SEND_ERROR "
+Could not find the metis library!
+
+Please ensure that the metis library is installed on your computer.
+If the library is not at a default location, either provide some hints
+via environment variables:
+METIS_LIBRARY_DIR METIS_INCLUDE_DIR
+Or set the relevant variables by hand in ccmake.
+
+")
+
+ENDMACRO()
+
+
+CONFIGURE_FEATURE(METIS)
Please ensure that the netcdf library is installed on your computer.
If the library is not at a default location, either provide some hints
-for the autodetection, or set the relevant variables by hand in ccmake.
+via environment variables:
+NETCDF_LIBRARY_DIR NETCDF_INCLUDE_DIR
+Or set the relevant variables by hand in ccmake.
")
)
FIND_LIBRARY(AMD_LIBRARY
- NAMES libumfpack.so
+ NAMES amd
PATHS
$ENV{AMD_LIBRARY_DIR}
${AMD_LIBRARY_DIR}
--- /dev/null
+# Try to find METIS
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+FIND_PATH(METIS_INCLUDE_DIR metis/metis.h
+ HINTS
+ $ENV{NETCDF_INCLUDE_DIR}
+ ${NETCDF_INCLUDE_DIR}
+)
+
+FIND_LIBRARY(METIS_LIBRARY
+ NAMES metis
+ PATHS
+ $ENV{NETCDF_LIBRARY_DIR}
+ ${NETCDF_LIBRARY_DIR}
+ PATH_SUFFIXES lib64 lib
+)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(METIS DEFAULT_MSG METIS_LIBRARY METIS_INCLUDE_DIR)
+
+IF(METIS_FOUND)
+ MARK_AS_ADVANCED(
+ METIS_LIBRARY
+ METIS_INCLUDE_DIR
+ )
+ENDIF()
)
FIND_LIBRARY(NETCDF_LIBRARY
- NAMES libnetcdf_c++.so libnetcdf_cpp.so
+ NAMES netcdf_c++ netcdf_cpp
PATHS
$ENV{NETCDF_LIBRARY_DIR}
${NETCDF_LIBRARY_DIR}
)
FIND_LIBRARY(TBB_LIBRARY
- NAMES libtbb.so
+ NAMES tbb
PATHS
$ENV{TBB_LIBRARY_DIR}
${TBB_LIBRARY_DIR}
)
FIND_LIBRARY(TBB_DEBUG_LIBRARY
- NAMES libtbb_debug.so
+ NAMES tbb_debug
PATHS
$ENV{TBB_DEBUG_LIBRARY_DIR}
${TBB_DEBUG_LIBRARY_DIR}
)
FIND_LIBRARY(UMFPACK_LIBRARY
- NAMES libumfpack.so
+ NAMES umfpack
PATHS
$ENV{UMFPACK_LIBRARY_DIR}
${UMFPACK_LIBRARY_DIR}
/* Defined if you have the `functionparser' library */
#cmakedefine HAVE_FUNCTIONPARSER
+/****************************************
+ * Configured in configure_metis.cmake: *
+ ****************************************/
+
+/* Defined if a Metis installation was found and is going to be used */
+#cmakedefine DEAL_II_USE_METIS
+
/**************************************
* Configured in configure_mpi.cmake: *
/* Defined if an ARPACK installation was found and is going to be used */
#cmakedefine DEAL_II_USE_ARPACK
-/* Defined if a Metis installation was found and is going to be used */
-#cmakedefine DEAL_II_USE_METIS
-
/* Defined if a MUMPS installation was found and is going to be used */
#cmakedefine DEAL_II_USE_MUMPS