OPTION(DEAL_II_WITH_UMFPACK
"Build deal.II with support for UMFPACK."
OFF)
-#OPTION(DEAL_II_FORCE_CONTRIB_UMFPACK
-# "Always use the bundled umfpack library instead of an external one."
-# OFF)
+OPTION(DEAL_II_FORCE_CONTRIB_UMFPACK
+ "Always use the bundled umfpack library instead of an external one."
+ OFF)
OPTION(DEAL_II_WITH_ZLIB
"Build deal.II with support for zlib."
SET(FEATURE_UMFPACK_DEPENDS
DEAL_II_WITH_BLAS
- DEAL_II_WITH_LAPACK
)
SET(${var} TRUE)
ENDMACRO()
-#
-#SET(FEATURE_UMFPACK_HAVE_CONTRIB TRUE)
-#
-#
-#MACRO(FEATURE_UMFPACK_CONFIGURE_CONTRIB var)
-# #
-# # Add umfpack and amd directly to the object files of deal.II
-# #
-#
-# SET(umfpack_folder "${CMAKE_SOURCE_DIR}/contrib/umfpack")
-#
-# INCLUDE_DIRECTORIES(
-# ${umfpack_folder}/UMFPACK/Include
-# ${umfpack_folder}/AMD/Include
-# )
-#
-# ADD_SUBDIRECTORY(${umfpack_folder}/UMFPACK/Source)
-# ADD_SUBDIRECTORY(${umfpack_folder}/AMD/Source)
-#
-# SET(HAVE_LIBUMFPACK TRUE)
-#
-# SET(${var} TRUE)
-#ENDMACRO()
-#
+
+SET(FEATURE_UMFPACK_HAVE_CONTRIB TRUE)
+
+
+MACRO(FEATURE_UMFPACK_CONFIGURE_CONTRIB var)
+ #
+ # Add umfpack and amd directly to the object files of deal.II
+ #
+
+ SET(umfpack_folder "${CMAKE_SOURCE_DIR}/contrib/umfpack")
+
+ INCLUDE_DIRECTORIES(
+ ${umfpack_folder}/UMFPACK/Include
+ ${umfpack_folder}/AMD/Include
+ )
+
+ ADD_SUBDIRECTORY(${umfpack_folder}/UMFPACK/Source)
+ ADD_SUBDIRECTORY(${umfpack_folder}/AMD/Source)
+
+ SET(HAVE_LIBUMFPACK TRUE)
+
+ SET(${var} TRUE)
+ENDMACRO()
+
SET(FEATURE_UMFPACK_CUSTOM_ERROR_MESSAGE TRUE)
" $ UMFPACK_DIR=\"...\" cmake <...>\n"
" $ ccmake -DUMFPACK_DIR=\"...\" cmake <...>\n"
"or set the relevant variables by hand in ccmake.\n"
-# "Alternatively you may choose to compile the bundled contrib libraries\n"
-# "by setting DEAL_II_ALLOW_CONTRIB=on or DEAL_II_FORCE_CONTRIB_UMFPACK=on.\n\n"
+ "Alternatively you may choose to compile the bundled contrib libraries\n"
+ "by setting DEAL_II_ALLOW_CONTRIB=on or DEAL_II_FORCE_CONTRIB_UMFPACK=on.\n\n"
)
ENDMACRO()
#
-# Logic copied from the distributed UMFPACK Makefile. (... where everything
-# is explained contrary to this... mess)
+# Logic copied from the distributed UMFPACK Makefile.
+# (... where everything is explained contrary to this... mess)
#
SET(src_umfpack_UMF
umf_mem_alloc_tail_block.c
umf_mem_free_tail_block.c
umf_mem_init_memoryspace.c
- umf_multicompile.c
+ #
+ # Don't ever think about including
+ # umf_multicompile.c, we do it by hand below
+ #
umf_realloc.c
umf_report_perm.c
umf_report_vector.c
umfpack_get_lunz.c
umfpack_get_numeric.c
umfpack_get_symbolic.c
- umfpack_global.c
umfpack_load_numeric.c
umfpack_load_symbolic.c
umfpack_numeric.c
umfpack_scale.c
umfpack_solve.c
umfpack_symbolic.c
- umfpack_tictoc.c
- umfpack_timer.c
umfpack_transpose.c
umfpack_triplet_to_col.c
)
+SET(src_umfpack_GENERAL
+ umfpack_global.c
+ umfpack_tictoc.c
+ umfpack_timer.c
+ )
+
#-------------------------------------------------------------------------------
# compile each int and long routine (with no real/complex version)
# Create the generic routines (GN) using a generic rule
#-------------------------------------------------------------------------------
-DEAL_II_ADD_C_LIBRARY(obj_umfpack_GENERIC OBJECT ${src_umfpack_UMFPACK})
+DEAL_II_ADD_C_LIBRARY(obj_umfpack_GENERIC OBJECT ${src_umfpack_GENERAL})