]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Reenable UMFPACK support after fixing some compile bugs.
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 27 Sep 2012 22:11:08 +0000 (22:11 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 27 Sep 2012 22:11:08 +0000 (22:11 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26807 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/CMakeLists.txt
deal.II/cmake/configure/configure_umfpack.cmake
deal.II/contrib/umfpack/UMFPACK/Source/CMakeLists.txt

index 67f6f1ec7c9c4c5cf2e84bd69ff3e2d0c76d7e55..ecae7d299b1cfa5f4d5dafd6ea4ba2d77fde01ea 100644 (file)
@@ -112,9 +112,9 @@ OPTION(DEAL_II_WITH_TRILINOS
 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."
index d180c2359fd9d2093d8f51e4ae04fc9e7da5baca..f24536ac5bb693164bc477ae9f6af783e0d4dff1 100644 (file)
@@ -5,7 +5,6 @@
 
 SET(FEATURE_UMFPACK_DEPENDS
   DEAL_II_WITH_BLAS
-  DEAL_II_WITH_LAPACK
   )
 
 
@@ -31,30 +30,30 @@ MACRO(FEATURE_UMFPACK_CONFIGURE_EXTERNAL var)
   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)
 
@@ -68,8 +67,8 @@ MACRO(FEATURE_UMFPACK_ERROR_MESSAGE)
     "    $ 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()
 
index 75713ae4ac7539a5479052b7393acab5013b6be7..751eee7bfc7c7b311516ef5ad582a20528d127e9 100644 (file)
@@ -1,6 +1,6 @@
 #
-# 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
@@ -33,7 +33,10 @@ 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
@@ -64,7 +67,6 @@ SET(src_umfpack_UMFPACK
   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
@@ -83,12 +85,16 @@ SET(src_umfpack_UMFPACK
   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)
@@ -160,5 +166,5 @@ DEAL_II_ADD_DEFINITIONS(obj_umfpack_DL_SOLVE "DLONG" "WSOLVE")
 # 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})
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.