From 8f1a5984cb8347f61d05fbe6edc6b5036d102104 Mon Sep 17 00:00:00 2001
From: Andreas Naumann <andreas.naumann@tu-dresden.de>
Date: Fri, 1 Oct 2010 03:44:56 +0000
Subject: [PATCH] extended cmake install process

---
 AMDiS/AMDiSConfig.cmake.in | 22 +++++++++++++++++++---
 AMDiS/CMakeLists.txt       | 20 ++++++++++++++++++++
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/AMDiS/AMDiSConfig.cmake.in b/AMDiS/AMDiSConfig.cmake.in
index f24f72d2..1344f66f 100644
--- a/AMDiS/AMDiSConfig.cmake.in
+++ b/AMDiS/AMDiSConfig.cmake.in
@@ -1,22 +1,38 @@
-set(AMDiS_INCLUDE_DIR ${AMDiS_DIR}/include ${AMDiS_DIR}/mtl4)
+set(MTL_DIR ${AMDiS_DIR}/mtl4 CACHE PATH "the mtl directory")
+set(AMDiS_INCLUDE_DIR ${AMDiS_DIR}/include ${MTL_DIR})
 set(AMDiS_LIBRARIES amdis compositeFEM)
 set(AMDiS_LIBRARY_DIRS ${AMDiS_DIR}/lib)
+
 find_package(Boost 1.42 REQUIRED)
 if(Boost_FOUND)
 	set(AMDiS_LIBRARIES ${AMDiS_LIBRARIES} boost_system boost_iostreams)
 	set(AMDiS_LIBRARY_DIRS ${AMDiS_LIBRARY_DIRS} ${Boost_INCLUDE_DIR})
 endif(Boost_FOUND)
+
 set(AMDiS_NEED_PARMETIS @ENABLE_PARMETIS@)
 set(AMDiS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@)
 set(AMDiS_NEED_UMFPACK @ENABLE_UMFPACK@)
 set(AMDiS_NEED_MKL @ENABLE_MKL@)
 set(AMDiS_NEED_DUNE @ENABLE_DUNE@)
 set(AMDiS_USE_FILE ${AMDiS_DIR}/AMDiSUse.cmake)
+set(AMDiS_COMPILEFLAGS "@COMPILEFLAGS@")
 message("find-components: ${AMDiS_FIND_COMPONENTS}")
 
+if(AMDiS_NEED_UMFPACK)
+	set(BLAS_LIBRARY_DIR "" CACHE STRING "the blas library directory")
+	set(BLAS_LIBRARY "blas" CACHE STRING "the blas library")
+	set(AMDiS_LIBRARIES ${AMDiS_LIBRARIES} umfpack amd ${BLAS_LIBRARY})
+	set(AMDiS_LIBRARY_DIRS ${AMDiS_LIBRARY_DIRS} ${AMDiS_DIR}/umfpack ${AMDiS_DIR}/amd ${BLAS_LIBRARY_DIR})
+	set(AMDiS_INCLUDE_DIR ${AMDiS_INCLUDE_DIR} 
+		${AMDiS_DIR}/umfpack/include/  
+		${AMDiS_DIR}/amd/include
+		${AMDiS_DIR}/ufconfig
+		${AMDiS_DIR}/ufconfig/xerbla
+	)
+endif(AMDiS_NEED_UMFPACK)
 if(${AMDiS_FIND_COMPONENTS} MATCHES umfpack )
-	if( ${AMDiS_NEED_UMFPACK} )
-	  set(AMDiS_LIBRARIES ${AMDiS_LIBRARIES} umfpack)
+	if( AMDiS_NEED_UMFPACK )
+	  set(AMDiS_LIBRARIES ${AMDiS_LIBRARIES} umfpack blas)
 	else()
 	  set( AMDiS_umfpack_FOUND FALSE)
 	  message(SEND_ERROR "the selected amdis was not compiled with umfpack")
diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt
index d334a2ab..c35d7063 100644
--- a/AMDiS/CMakeLists.txt
+++ b/AMDiS/CMakeLists.txt
@@ -152,6 +152,11 @@ if(ENABLE_PARMETIS)
 				${SOURCE_DIR}/ParallelProblem.cc ${SOURCE_DIR}/ParMetisPartitioner.cc 
 				${SOURCE_DIR}/PollutionError.cc)
 	SET(COMPILEFLAGS "${COMPILEFLAGS} -DHAVE_PARALLEL_AMDIS=1")
+	INSTALL(FILES ${LIB_DIR}/ParMetis-3.1/parmetis.h
+			${LIB_DIR}/ParMetis-3.1/libparmetis.a
+			${LIB_DIR}/ParMetis-3.1/libmetis.a
+			DESTINATION amdis/parmetis
+	       )
 endif(ENABLE_PARMETIS)
 
 if(ENABLE_PARALLEL_DOMAIN)
@@ -181,6 +186,21 @@ endif(ENABLE_OPENMP)
 if(ENABLE_UMFPACK)
 	include_directories(${LIB_DIR}/UFconfig ${LIB_DIR}/AMD/Include ${LIB_DIR}/UMFPACK/Include)
 	SET(COMPILEFLAGS "${COMPILEFLAGS} -DHAVE_UMFPACK=1 -DMTL_HAS_UMFPACK")
+	FILE(GLOB UMFPACK_HEADERS "${LIB_DIR}/UMFPACK/Include/*.h")
+	  INSTALL(FILES ${UMFPACK_HEADERS} DESTINATION amdis/umfpack/include)
+
+	  FILE(GLOB UMFPACK_HEADERS "${LIB_DIR}/AMD/Include/*.h")
+	    INSTALL(FILES ${UMFPACK_HEADERS} DESTINATION amdis/amd/include)
+
+	  FILE(GLOB HEADERS "${LIB_DIR}/UFconfig/*.h")
+	    INSTALL(FILES ${HEADERS} DESTINATION amdis/ufconfig/)
+
+	  FILE(GLOB HEADERS "${LIB_DIR}/UFconfig/xerbla/*.h")
+	    INSTALL(FILES ${HEADERS} DESTINATION amdis/ufconfig/xerbla)
+
+	  INSTALL(FILES ${LIB_DIR}/UMFPACK/Lib/libumfpack.a DESTINATION amdis/umfpack/)
+	  INSTALL(FILES ${LIB_DIR}/AMD/Lib/libamd.a DESTINATION amdis/amd/)
+
 endif(ENABLE_UMFPACK)
 
 if(ENABLE_MKL)
-- 
GitLab