Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer, es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Ein Anmelden über dieses erzeugt ein neues Konto. Das alte Konto ist über den Reiter "Standard" erreichbar. Die Administratoren

Dear Gitlab user, it is now possible to log in to our service using the ZIH login/LDAP. Logging in via this will create a new account. The old account can be accessed via the "Standard" tab. The administrators

Commit 99f1286b authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Work in cmake configuration, maybe it will work better.

parent 6ffc619b
...@@ -58,18 +58,17 @@ if(Boost_FOUND) ...@@ -58,18 +58,17 @@ if(Boost_FOUND)
list(APPEND AMDIS_INCLUDE_DIRS ${Boost_INCLUDE_DIR}) list(APPEND AMDIS_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
endif(Boost_FOUND) endif(Boost_FOUND)
set(AMDiS_NEED_PARMETIS @ENABLE_PARMETIS@) set(AMDIS_NEED_ZOLTAN @ENABLE_ZOLTAN@)
set(AMDiS_NEED_ZOLTAN @ENABLE_ZOLTAN@) set(AMDIS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@)
set(AMDiS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@) set(AMDIS_NEED_UMFPACK @ENABLE_UMFPACK@)
set(AMDiS_NEED_UMFPACK @ENABLE_UMFPACK@) set(AMDIS_NEED_MKL @ENABLE_MKL@)
set(AMDiS_NEED_MKL @ENABLE_MKL@) set(AMDIS_USE_FILE ${AMDIS_DIR}/AMDISUse.cmake)
set(AMDIS_USE_FILE ${AMDIS_DIR}/AMDiSUse.cmake) set(AMDIS_COMPILEFLAGS "@COMPILEFLAGS@")
set(AMDiS_COMPILEFLAGS "@COMPILEFLAGS@")
set(AMDIS_VERSION @CurrentRevision@) set(AMDIS_VERSION @CurrentRevision@)
set(AMDIS_MAJOR_VERSION @AMDIS_MAJOR@) set(AMDIS_MAJOR_VERSION @AMDIS_MAJOR@)
set(AMDIS_MINOR_VERSION @AMDIS_MINOR@) set(AMDIS_MINOR_VERSION @AMDIS_MINOR@)
if(AMDiS_NEED_UMFPACK) if(AMDIS_NEED_UMFPACK)
#look for umfpack, we need the headers only #look for umfpack, we need the headers only
find_file(UMFPACK_H umfpack.h find_file(UMFPACK_H umfpack.h
HINTS /usr/include /usr/include/suitesparse /usr/include/ufsparse HINTS /usr/include /usr/include/suitesparse /usr/include/ufsparse
...@@ -127,7 +126,7 @@ if(AMDiS_NEED_UMFPACK) ...@@ -127,7 +126,7 @@ if(AMDiS_NEED_UMFPACK)
endif() endif()
#message("amdis-libs: ${AMDIS_LIBRARIES}") #message("amdis-libs: ${AMDIS_LIBRARIES}")
list(APPEND AMDIS_LIBRARY_DIRS ${BLAS_LIBRARY_DIR}) list(APPEND AMDIS_LIBRARY_DIRS ${BLAS_LIBRARY_DIR})
endif(AMDiS_NEED_UMFPACK) endif(AMDIS_NEED_UMFPACK)
#add directories for reinit #add directories for reinit
...@@ -136,21 +135,13 @@ list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/compositeFEM) ...@@ -136,21 +135,13 @@ list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/compositeFEM)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/muparser) list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/muparser)
if(${AMDIS_FIND_COMPONENTS} MATCHES umfpack ) if(${AMDIS_FIND_COMPONENTS} MATCHES umfpack )
if( NOT AMDiS_NEED_UMFPACK ) if( NOT AMDIS_NEED_UMFPACK )
set( AMDiS_umfpack_FOUND FALSE) set( AMDIS_umfpack_FOUND FALSE)
message(SEND_ERROR "the selected amdis was not compiled with umfpack") message(SEND_ERROR "the selected amdis was not compiled with umfpack")
endif() endif()
endif() endif()
if( AMDiS_NEED_PARMETIS ) if(AMDIS_NEED_ZOLTAN)
list(APPEND AMDIS_LIBRARY_DIRS ${AMDIS_LIBRARY_DIR}/parmetis)
list(APPEND AMDIS_LIBRARIES ${AMDIS_LIBRARY_DIR}/parmetis/libparmetis.a ${AMDIS_LIBRARY_DIR}/parmetis/libmetis.a)
endif()
if( AMDiS_NEED_ZOLTAN )
find_library(ZOLTAN_LIB zoltan DOC "full path to the zoltan library") find_library(ZOLTAN_LIB zoltan DOC "full path to the zoltan library")
list(APPEND AMDIS_LIBRARIES ${ZOLTAN_LIB}) list(APPEND AMDIS_LIBRARIES ${ZOLTAN_LIB})
endif() endif()
if(${AMDIS_FIND_COMPONENTS} MATCHES parmetis AND NOT AMDiS_NEED_PARMETIS)
message(SEND_ERROR "amdis was not compiled with parmetis")
endif()
#load mpi-compiler for use with parmetis and parallel_domain
if(AMDIS_HAS_PARALLEL_DOMAIN)
find_package(MPI REQUIRED)
if(MPI_FOUND)
list(APPEND AMDIS_LIBRARIES ${MPI_LIBRARIES})
list(APPEND AMDIS_COMPILEFLAGS ${MPI_COMPILE_FLAGS})
list(APPEND AMDIS_INCLUDE_DIRS ${MPI_INCLUDE_PATH})
endif(MPI_FOUND)
if(AMDIS_HAS_PARALLEL_DOMAIN STREQUAL "PETSC")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${AMDIS_DIR})
set(PETSC_EXECUTABLE_RUNS ON)
find_package(PETSc REQUIRED)
if(PETSC_FOUND)
list(APPEND AMDIS_LIBRARIES ${PETSC_LIBRARY_SYS} ${PETSC_LIBRARIES})
list(APPEND AMDIS_INCLUDE_DIRS ${PETSC_INCLUDES})
else()
message(FATAL_ERROR "Could nit find PETSc!")
endif(PETSC_FOUND)
elseif(AMDIS_HAS_PARALLEL_DOMAIN STREQUAL "PMTL")
find_package(MTL REQUIRED)
list(APPEND AMDIS_LIBRARIES ${MTL_LIBRARIES})
endif()
endif(AMDIS_HAS_PARALLEL_DOMAIN)
#thats bad because it affects each target
add_definitions(${AMDIS_COMPILEFLAGS})
include_directories(${AMDIS_INCLUDE_DIRS})
#load mpi-compiler for use with parmetis and parallel_domain
if(AMDiS_HAS_PARALLEL_DOMAIN)
if(NOT AMDiS_NEED_PARMETIS)
message(SEND_ERROR "parallel domain needs parmetis, but AMDiS was not compiled with parmetis support. There's something really odd..")
else()
find_package(MPI REQUIRED)
if(MPI_FOUND)
# INCLUDE(CMakeForceCompiler)
# CMAKE_FORCE_CXX_COMPILER(mpicxx "The MPI C++ compiler")
# CMAKE_FORCE_C_COMPILER(mpicc "The MPI C Compiler")
list(APPEND AMDIS_LIBRARIES ${MPI_LIBRARIES})
list(APPEND AMDiS_COMPILEFLAGS ${MPI_COMPILE_FLAGS})
list(APPEND AMDIS_INCLUDE_DIRS ${MPI_INCLUDE_PATH})
endif(MPI_FOUND)
if(AMDiS_HAS_PARALLEL_DOMAIN STREQUAL "PETSC")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${AMDIS_DIR})
set(PETSC_EXECUTABLE_RUNS ON)
find_package(PETSc REQUIRED)
if(PETSC_FOUND)
list(APPEND AMDIS_LIBRARIES ${PETSC_LIBRARY_SYS} ${PETSC_LIBRARIES})
list(APPEND AMDIS_INCLUDE_DIRS ${PETSC_INCLUDES})
endif(PETSc_FOUND)
elseif(AMDiS_HAS_PARALLEL_DOMAIN STREQUAL "PMTL")
find_package(MTL REQUIRED)
list(APPEND AMDIS_LIBRARIES ${MTL_LIBRARIES})
# set(AMDiS_COMPILEFLAGS "${AMDIS_COMPILEFLAGS} -DMTL_HAS_MPI -DHAVE_PARALLEL_MTL4")
endif()
endif(NOT AMDiS_NEED_PARMETIS)
endif(AMDiS_HAS_PARALLEL_DOMAIN)
#thats bad because it affects each target
add_definitions(${AMDiS_COMPILEFLAGS})
include_directories(${AMDIS_INCLUDE_DIRS})
project(AMDiS) project(AMDIS)
cmake_minimum_required(VERSION 2.6) cmake_minimum_required(VERSION 2.6)
#if revision is not set, let cmake look for the svn-version
if( NOT CurrentRevision ) SET(LIB_DIR ${AMDIS_SOURCE_DIR}/lib)
find_package(Subversion) SET(SOURCE_DIR ${AMDIS_SOURCE_DIR}/src)
if(Subversion_FOUND)
Subversion_WC_INFO(${AMDiS_SOURCE_DIR} mtlSubinfo)
set(CurrentRevision "0.9${mtlSubinfo_WC_REVISION}")
# message("current revision: ${mtlSubinfo_WC_REVISION}")
endif(Subversion_FOUND)
endif( NOT CurrentRevision )
#split the current revision in MAJOR.MINOR
string(REGEX MATCH "([0-9]+).([0-9]+)" AMDIS_MAJOR "${CurrentRevision}" )
set(AMDIS_MINOR ${CMAKE_MATCH_2})
set(AMDIS_MAJOR ${CMAKE_MATCH_1})
message("major: ${AMDIS_MAJOR}")
message("minor: ${AMDIS_MINOR}")
SET(LIB_DIR ${AMDiS_SOURCE_DIR}/lib)
SET(SOURCE_DIR ${AMDiS_SOURCE_DIR}/src)
#TODO: use the cmake build type #TODO: use the cmake build type
SET(MTL_INCLUDE_DIR ${LIB_DIR}/mtl4/ CACHE PATH "mtl4 directory") SET(MTL_INCLUDE_DIR ${LIB_DIR}/mtl4/ CACHE PATH "mtl4 directory")
...@@ -35,11 +20,10 @@ endif() ...@@ -35,11 +20,10 @@ endif()
#option(ENABLE_INTEL "use intel compiler" false) #option(ENABLE_INTEL "use intel compiler" false)
SET(ENABLE_PARALLEL_DOMAIN "OFF" CACHE STRING "use parallel domain decomposition. please set to one of: PMTL, PETSC, OFF" ) SET(ENABLE_PARALLEL_DOMAIN "OFF" CACHE STRING "use parallel domain decomposition. please set to one of: PMTL, PETSC, OFF" )
option(USE_PETSC_DEV false) option(USE_PETSC_DEV false)
#parmetis is not optional
set(ENABLE_PARMETIS false)
option(ENABLE_ZOLTAN false) option(ENABLE_ZOLTAN false)
option(ENABLE_UMFPACK "use umfpack solver" false) option(ENABLE_UMFPACK "use umfpack solver" false)
if(ENABLE_INTEL) if(ENABLE_INTEL)
Message("please set the icc manually") Message("please set the icc manually")
INCLUDE (CMakeForceCompiler) INCLUDE (CMakeForceCompiler)
...@@ -48,20 +32,20 @@ if(ENABLE_INTEL) ...@@ -48,20 +32,20 @@ if(ENABLE_INTEL)
#SET(CMAKE_C_COMPILER "icc") #SET(CMAKE_C_COMPILER "icc")
endif(ENABLE_INTEL) endif(ENABLE_INTEL)
find_package(Boost 1.42 REQUIRED) find_package(Boost 1.42 REQUIRED)
if(Boost_FOUND) if(Boost_FOUND)
# include_directories(${Boost_INCLUDE_DIR}) list(APPEND AMDIS_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
list(APPEND AMDiS_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
message("boost lib-dirs: ${Boost_LIBRARY_DIRS}") message("boost lib-dirs: ${Boost_LIBRARY_DIRS}")
message("use the boost dir: ${Boost_INCLUDE_DIR}") message("use the boost dir: ${Boost_INCLUDE_DIR}")
if(WIN32) if(WIN32)
message("the windows find_boost does not set the boost library paths, please set it") message("the windows find_boost does not set the boost library paths, please set it")
SET(Boost_LIBRARY_DIRS CACHE PATH "The directory containing the boost libraries") SET(Boost_LIBRARY_DIRS CACHE PATH "The directory containing the boost libraries")
endif(WIN32) endif(WIN32)
list(APPEND AMDiS_LINK_DIRS ${Boost_LIBRARY_DIRS}) list(APPEND AMDIS_LINK_DIRS ${Boost_LIBRARY_DIRS})
# link_directories(${Boost_LIBRARY_DIRS})
endif(Boost_FOUND) endif(Boost_FOUND)
SET(AMDIS_SRC ${SOURCE_DIR}/AdaptBase.cc SET(AMDIS_SRC ${SOURCE_DIR}/AdaptBase.cc
${SOURCE_DIR}/AdaptInfo.cc ${SOURCE_DIR}/AdaptInfo.cc
${SOURCE_DIR}/AdaptInstationary.cc ${SOURCE_DIR}/AdaptInstationary.cc
...@@ -168,37 +152,53 @@ SET(AMDIS_SRC ${SOURCE_DIR}/AdaptBase.cc ...@@ -168,37 +152,53 @@ SET(AMDIS_SRC ${SOURCE_DIR}/AdaptBase.cc
) )
if(ENABLE_PARALLEL_DOMAIN) if(ENABLE_PARALLEL_DOMAIN)
### Search for MPI compiler and get compile flags and include paths. ###
find_package(MPI REQUIRED) find_package(MPI REQUIRED)
if(MPI_FOUND) if(MPI_FOUND)
list(APPEND COMPILEFLAGS "${MPI_COMPILE_FLAGS}") list(APPEND COMPILEFLAGS "${MPI_COMPILE_FLAGS}")
include_directories(${MPI_INCLUDE_PATH}) include_directories(${MPI_INCLUDE_PATH})
endif(MPI_FOUND) endif(MPI_FOUND)
add_custom_target(parmetis-lib ALL
make
WORKING_DIRECTORY ${LIB_DIR}/ParMetis-3.1 ### Search for ParMetis ###
)
#include_directories( ${LIB_DIR}/ParMetis-3.1) find_file(PARMETIS_HEADER_FILE "parmetis.h" PATH ENV CPATH)
list(APPEND AMDiS_INCLUDE_DIRS ${LIB_DIR}/ParMetis-3.1) if(PARMETIS_HEADER_FILE)
list(APPEND AMDiS_LIBS ${LIB_DIR}/ParMetis-3.1/libparmetis.a ${LIB_DIR}/ParMetis-3.1/libmetis.a) get_filename_component(PARMETIS_INCLUDE_PATH "${PARMETIS_HEADER_FILE}" PATH CACHE)
# list(APPEND AMDiS_LINK_DIRS ${LIB_DIR}/ParMetis-3.1/) include_directories(${PARMETIS_INCLUDE_PATH})
INSTALL(FILES ${LIB_DIR}/ParMetis-3.1/parmetis.h else()
${LIB_DIR}/ParMetis-3.1/libparmetis.a message(FATAL_ERROR "Could not find ParMetis header file!")
${LIB_DIR}/ParMetis-3.1/libmetis.a endif(PARMETIS_HEADER_FILE)
DESTINATION lib/amdis/parmetis
) find_file(PARMETIS_LIB_FILE "libparmetis.a" PATH ENV LIBRARY_PATH)
set(ENABLE_PARMETIS ON) if(PARMETIS_LIB_FILE)
get_filename_component(PARMETIS_LINK_PATH "${PARMETIS_LIB_FILE}" PATH CACHE)
link_directories(${PARMETIS_LINK_PATH})
else()
message(FATAL_ERROR "Could not find ParMetis library file!")
endif(PARMETIS_LIB_FILE)
### Search for Zoltan ###
if(ENABLE_ZOLTAN) if(ENABLE_ZOLTAN)
find_file(ZOLTAN_HEADER_FILE "zoltan_cpp.h") find_file(ZOLTAN_HEADER_FILE "zoltan_cpp.h" PATH ENV CPATH)
if( ZOLTAN_HEADER_FILE ) if(ZOLTAN_HEADER_FILE)
get_filename_component(ZOLTAN_HEADER_DIR "${ZOLTAN_HEADER_FILE}" PATH CACHE) get_filename_component(ZOLTAN_HEADER_DIR "${ZOLTAN_HEADER_FILE}" PATH CACHE)
include_directories(${ZOLTAN_HEADER_DIR}) include_directories(${ZOLTAN_HEADER_DIR})
else() else()
message( FATAL_ERROR "could not find zoltan.") message(FATAL_ERROR "Could not find Zoltan include file!")
endif( ZOLTAN_HEADER_FILE ) endif(ZOLTAN_HEADER_FILE)
list(APPEND COMPILEFLAGS "-DHAVE_ZOLTAN") list(APPEND COMPILEFLAGS "-DHAVE_ZOLTAN")
endif(ENABLE_ZOLTAN) endif(ENABLE_ZOLTAN)
list(APPEND COMPILEFLAGS "-DHAVE_PARALLEL_DOMAIN_AMDIS=1") list(APPEND COMPILEFLAGS "-DHAVE_PARALLEL_DOMAIN_AMDIS=1")
SET(PARALLEL_DOMAIN_AMDIS_SRC SET(PARALLEL_DOMAIN_AMDIS_SRC
${SOURCE_DIR}/parallel/ParMetisPartitioner.cc ${SOURCE_DIR}/parallel/ParMetisPartitioner.cc
...@@ -219,7 +219,7 @@ if(ENABLE_PARALLEL_DOMAIN) ...@@ -219,7 +219,7 @@ if(ENABLE_PARALLEL_DOMAIN)
set(PETSC_EXECUTABLE_RUNS ON) set(PETSC_EXECUTABLE_RUNS ON)
find_package(PETSc REQUIRED) find_package(PETSc REQUIRED)
include_directories(${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include) include_directories(${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include)
list(APPEND AMDiS_INCLUDE_DIRS ${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include) list(APPEND AMDIS_INCLUDE_DIRS ${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include)
list(APPEND PARALLEL_DOMAIN_AMDIS_SRC ${SOURCE_DIR}/parallel/PetscSolver.cc list(APPEND PARALLEL_DOMAIN_AMDIS_SRC ${SOURCE_DIR}/parallel/PetscSolver.cc
${SOURCE_DIR}/parallel/PetscProblemStat.cc ${SOURCE_DIR}/parallel/PetscProblemStat.cc
${SOURCE_DIR}/parallel/PetscSolverFeti.cc ${SOURCE_DIR}/parallel/PetscSolverFeti.cc
...@@ -230,93 +230,31 @@ if(ENABLE_PARALLEL_DOMAIN) ...@@ -230,93 +230,31 @@ if(ENABLE_PARALLEL_DOMAIN)
find_package(MTL REQUIRED) find_package(MTL REQUIRED)
list(APPEND COMPILEFLAGS "-DMTL_HAS_MPI" "-DHAVE_PARALLEL_MTL4") list(APPEND COMPILEFLAGS "-DMTL_HAS_MPI" "-DHAVE_PARALLEL_MTL4")
list(APPEND PARALLEL_DOMAIN_AMDIS_SRC ${SOURCE_DIR}/parallel/Mtl4Solver.cc) list(APPEND PARALLEL_DOMAIN_AMDIS_SRC ${SOURCE_DIR}/parallel/Mtl4Solver.cc)
list(APPEND AMDiS_LIBS ${MTL_LIBRARIES}) list(APPEND AMDIS_LIBS ${MTL_LIBRARIES})
#message("using the parallel mtl4 version")
else() else()
message(SEND_ERROR "please set the domain-decomposition version correctly") message(SEND_ERROR "Set the domain-decomposition version correctly.")
endif() endif()
INSTALL(FILES ResolveCompilerPaths.cmake FindPackageMultipass.cmake FindPETSc.cmake INSTALL(FILES ResolveCompilerPaths.cmake FindPackageMultipass.cmake FindPETSc.cmake
DESTINATION share/amdis/) DESTINATION share/amdis/)
if( USE_PETSC_DEV ) if(USE_PETSC_DEV)
list(APPEND COMPILEFLAGS "-DHAVE_PETSC_DEV") list(APPEND COMPILEFLAGS "-DHAVE_PETSC_DEV")
endif( USE_PETSC_DEV) endif( USE_PETSC_DEV)
endif(ENABLE_PARALLEL_DOMAIN) endif(ENABLE_PARALLEL_DOMAIN)
if(ENABLE_UMFPACK)
# include_directories(${LIB_DIR}/UFconfig ${LIB_DIR}/AMD/Include ${LIB_DIR}/UMFPACK/Include)
# FILE(GLOB UMFPACK_HEADERS "${LIB_DIR}/UMFPACK/Include/*.h") if(ENABLE_UMFPACK)
# INSTALL(FILES ${UMFPACK_HEADERS}
# DESTINATION include/amdis/umfpack/)
# list(APPEND deb_add_dirs "include/amdis/umfpack")
# FILE(GLOB UMFPACK_HEADERS "${LIB_DIR}/AMD/Include/*.h")
# INSTALL(FILES ${UMFPACK_HEADERS}
# DESTINATION include/amdis/amd/)
# list(APPEND deb_add_dirs "include/amdis/amd")
# FILE(GLOB HEADERS "${LIB_DIR}/UFconfig/*.h")
# INSTALL(FILES ${HEADERS}
# DESTINATION include/amdis/ufconfig/)
# list(APPEND deb_add_dirs "include/amdis/ufconfig")
# FILE(GLOB HEADERS "${LIB_DIR}/UFconfig/xerbla/*.h")
# INSTALL(FILES ${HEADERS}
# DESTINATION include/amdis/ufconfig/xerbla)
# list(APPEND deb_add_dirs "include/amdis/ufconfig/xerbla")
#add some rules to build the umfpack and amd libs
# message("adding command for libumfpack:${CMAKE_CURRENT_SOURCE_DIR}/${LIB_DIR}/UMFPACK/Lib/libumfpack.a ")
# add_custom_target(umfpack-lib ALL
# make
# WORKING_DIRECTORY ${LIB_DIR}/UMFPACK
# )
# add_custom_target(amd-lib ALL
# make
# WORKING_DIRECTORY ${LIB_DIR}/AMD
# )
# INSTALL(FILES ${LIB_DIR}/UMFPACK/Lib/libumfpack.a
# DESTINATION lib/amdis/umfpack/)
# list(APPEND deb_add_dirs "lib/amdis/umfpack")
# INSTALL(FILES ${LIB_DIR}/AMD/Lib/libamd.a
# DESTINATION lib/amdis/amd/)
# list(APPEND deb_add_dirs "lib/amdis/amd")
#look for umfpack, we need the headers only
find_file(UMFPACK_H umfpack.h find_file(UMFPACK_H umfpack.h
HINTS /usr/include /usr/include/suitesparse /usr/include/ufsparse PATH ENV CPATH
DOC "headerfile umfpack.h for UMFPACK") HINTS /usr/include /usr/include/suitesparse /usr/include/ufsparse
if( UMFPACK_H ) DOC "headerfile umfpack.h for UMFPACK")
#construct the include path if(UMFPACK_H)
get_filename_component(UMFPACK_PATH ${UMFPACK_H} PATH) get_filename_component(UMFPACK_PATH ${UMFPACK_H} PATH)
#look for ufconfig
find_file(UFCONFIG_H UFconfig.h
HINTS /usr/include ${UMFPACK_PATH}
DOC "headerfile UFConfig.h")
if( UFCONFIG_H )
get_filename_component(UFCONFIG_PATH ${UFCONFIG_H} PATH)
else()
message(FATAL_ERROR "could not find UFConfig.h, needed for umfpack")
endif()
#look for amd
find_file(AMD_H amd.h
HINTS /usr/include/ ${UMFPACK_PATH}
DOC "headerfile amd.h")
if( AMD_H )
get_filename_component(AMD_PATH ${AMD_H} PATH)
else()
message( FATAL_ERROR "could not find amd.h, needed for umfpack")
endif()
#add the compileflags and directories
include_directories(${UMFPACK_PATH} ${UFCONFIG_PATH} ${AMD_PATH}) include_directories(${UMFPACK_PATH} ${UFCONFIG_PATH} ${AMD_PATH})
list(APPEND COMPILEFLAGS "-DHAVE_UMFPACK=1" "-DMTL_HAS_UMFPACK") list(APPEND COMPILEFLAGS "-DHAVE_UMFPACK=1" "-DMTL_HAS_UMFPACK")
else() else()
message(FATAL_ERROR "Could not find the umfpack-headers. Please install umfpack") message(FATAL_ERROR "Could not find the UMFPACK headers.")
endif() endif()
SET(RPM_DEPEND_STR "blas") SET(RPM_DEPEND_STR "blas")
endif(ENABLE_UMFPACK) endif(ENABLE_UMFPACK)
...@@ -338,16 +276,16 @@ include_directories(${REINIT_SOURCE_DIR}) ...@@ -338,16 +276,16 @@ include_directories(${REINIT_SOURCE_DIR})
#muparser includes #muparser includes
set(MUPARSER_SOURCE_DIR ${AMDiS_SOURCE_DIR}/lib/muparser_v134) set(MUPARSER_SOURCE_DIR ${AMDIS_SOURCE_DIR}/lib/muparser_v134)
file(GLOB MUPARSER_SRC ${MUPARSER_SOURCE_DIR}/src/*.cpp) file(GLOB MUPARSER_SRC ${MUPARSER_SOURCE_DIR}/src/*.cpp)
list(APPEND AMDiS_INCLUDE_DIRS ${MUPARSER_SOURCE_DIR}/include) list(APPEND AMDIS_INCLUDE_DIRS ${MUPARSER_SOURCE_DIR}/include)
#mtl4 includes #mtl4 includes
list(APPEND AMDiS_INCLUDE_DIRS ${MTL_INCLUDE_DIR}) list(APPEND AMDIS_INCLUDE_DIRS ${MTL_INCLUDE_DIR})
#include_directories(${MTL_INCLUDE_DIR}) #include_directories(${MTL_INCLUDE_DIR})
list(APPEND AMDiS_INCLUDE_DIRS ${SOURCE_DIR}) list(APPEND AMDIS_INCLUDE_DIRS ${SOURCE_DIR})
#include_directories(${SOURCE_DIR}) #include_directories(${SOURCE_DIR})
include_directories(${AMDiS_INCLUDE_DIRS}) include_directories(${AMDIS_INCLUDE_DIRS})
add_library(amdis SHARED ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC}) add_library(amdis SHARED ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC})
add_library(compositeFEM SHARED ${COMPOSITE_FEM_SRC}) add_library(compositeFEM SHARED ${COMPOSITE_FEM_SRC})
...@@ -355,7 +293,7 @@ add_library(reinit SHARED ${REINIT_SRC}) ...@@ -355,7 +293,7 @@ add_library(reinit SHARED ${REINIT_SRC})
add_library(muparser SHARED ${MUPARSER_SRC}) add_library(muparser SHARED ${MUPARSER_SRC})
#target_link_libraries(compositeFEM amdis) #target_link_libraries(compositeFEM amdis)
#target_link_libraries(reinit amdis) #target_link_libraries(reinit amdis)
list(APPEND AMDiS_LIBS amdis ${Boost_LIBRARIES}) list(APPEND AMDIS_LIBS amdis ${Boost_LIBRARIES})
if(WIN32) if(WIN32)
list(APPEND COMPILEFLAGS "-D_SCL_SECURE_NO_WARNINGS" "-D_CRT_SECURE_NO_WARNINGS") list(APPEND COMPILEFLAGS "-D_SCL_SECURE_NO_WARNINGS" "-D_CRT_SECURE_NO_WARNINGS")
...@@ -422,20 +360,20 @@ list(APPEND deb_add_dirs "lib/amdis") ...@@ -422,20 +360,20 @@ list(APPEND deb_add_dirs "lib/amdis")
install(TARGETS amdis compositeFEM reinit muparser install(TARGETS amdis compositeFEM reinit muparser
LIBRARY DESTINATION lib/amdis/ ) LIBRARY DESTINATION lib/amdis/ )
configure_file(${AMDiS_SOURCE_DIR}/AMDiSConfig.cmake.in configure_file(${AMDIS_SOURCE_DIR}/AMDISConfig.cmake.in
${AMDiS_BINARY_DIR}/AMDISConfig.cmake ${AMDIS_BINARY_DIR}/AMDISConfig.cmake
@ONLY @ONLY
) )
INSTALL(FILES ${AMDiS_BINARY_DIR}/AMDISConfig.cmake INSTALL(FILES ${AMDIS_BINARY_DIR}/AMDISConfig.cmake
DESTINATION share/amdis/) DESTINATION share/amdis/)
list(APPEND deb_add_dirs "share/amdis/") list(APPEND deb_add_dirs "share/amdis/")
INSTALL(FILES ${AMDiS_SOURCE_DIR}/AMDiSUse.cmake INSTALL(FILES ${AMDIS_SOURCE_DIR}/AMDISUse.cmake
DESTINATION share/amdis/) DESTINATION share/amdis/)
#install mtl #install mtl
INSTALL(DIRECTORY ${AMDiS_SOURCE_DIR}/lib/mtl4/ INSTALL(DIRECTORY ${AMDIS_SOURCE_DIR}/lib/mtl4/
DESTINATION include/amdis/mtl4/ DESTINATION include/amdis/mtl4/
FILES_MATCHING PATTERN "*.hpp" FILES_MATCHING PATTERN "*.hpp"
PATTERN ".svn" EXCLUDE PATTERN ".svn" EXCLUDE
...@@ -444,8 +382,8 @@ INSTALL(DIRECTORY ${AMDiS_SOURCE_DIR}/lib/mtl4/ ...@@ -444,8 +382,8 @@ INSTALL(DIRECTORY ${AMDiS_SOURCE_DIR}/lib/mtl4/
PATTERN "mtl4/extern" EXCLUDE PATTERN "mtl4/extern" EXCLUDE
) )
FILE(GLOB_RECURSE mtl4_files FILE(GLOB_RECURSE mtl4_files
RELATIVE ${AMDiS_SOURCE_DIR}/lib/mtl4/boost/ RELATIVE ${AMDIS_SOURCE_DIR}/lib/mtl4/boost/
${AMDiS_SOURCE_DIR}/lib/mtl4/boost/*.hpp) ${AMDIS_SOURCE_DIR}/lib/mtl4/boost/*.hpp)
foreach(mtl4_file in ${mtl4_files}) foreach(mtl4_file in ${mtl4_files})
get_filename_component(mtl4File_path ${mtl4_file} PATH) get_filename_component(mtl4File_path ${mtl4_file} PATH)
list(APPEND deb_add_dirs "include/amdis/mtl4/boost/${mtl4File_path}") list(APPEND deb_add_dirs "include/amdis/mtl4/boost/${mtl4File_path}")
...@@ -453,21 +391,21 @@ endforeach(mtl4_file) ...@@ -453,21 +391,21 @@ endforeach(mtl4_file)
list(REMOVE_DUPLICATES deb_add_dirs) list(REMOVE_DUPLICATES deb_add_dirs)
#PACKAGES #PACKAGES
set(CPACK_PACKAGE_NAME "AMDiS") set(CPACK_PACKAGE_NAME "AMDIS")
set(CPACK_PACKAGE_CONTACT "Andreas.Naumann@tu-dresden.de") set(CPACK_PACKAGE_CONTACT "Andreas.Naumann@tu-dresden.de")
set(CPACK_PACKAGE_VERSION "${CurrentRevision}") set(CPACK_PACKAGE_VERSION "${CurrentRevision}")
set(CPACK_GENERATOR "RPM" "DEB" "TGZ") set(CPACK_GENERATOR "RPM" "DEB" "TGZ")
set(CPACK_INSTALL_PREFIX "/usr/") set(CPACK_INSTALL_PREFIX "/usr/")
configure_file(${AMDiS_SOURCE_DIR}/preinst.in configure_file(${AMDIS_SOURCE_DIR}/preinst.in
${AMDiS_BINARY_DIR}/preinst ${AMDIS_BINARY_DIR}/preinst
@ONLY) @ONLY)
configure_file(${AMDiS_SOURCE_DIR}/postrm.in configure_file(${AMDIS_SOURCE_DIR}/postrm.in
${AMDiS_BINARY_DIR}/postrm ${AMDIS_BINARY_DIR}/postrm
@ONLY) @ONLY)
set(CPACK_RPM_PACKAGE_REQUIRES "boost-devel >= 1.42, ${RPM_DEPEND_STR}") set(CPACK_RPM_PACKAGE_REQUIRES "boost-devel >= 1.42, ${RPM_DEPEND_STR}")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-dev (>= 1.42), libboost-iostreams-dev (>= 1.42), libboost-system-dev (>= 1.42), libboost-filesystem-dev (>= 1.42)") set(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-dev (>= 1.42), libboost-iostreams-dev (>= 1.42), libboost-system-dev (>= 1.42), libboost-filesystem-dev (>= 1.42)")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${AMDiS_BINARY_DIR}/preinst" "${AMDiS_BINARY_DIR}/postrm") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${AMDIS_BINARY_DIR}/preinst" "${AMDIS_BINARY_DIR}/postrm")
include(CPack) include(CPack)
...@@ -1252,18 +1252,11 @@ namespace AMDiS { ...@@ -1252,18 +1252,11 @@ namespace AMDiS {
localAdmin->setNumberOfDofs(admin[0]->getNumberOfDofs()); localAdmin->setNumberOfDofs(admin[0]->getNumberOfDofs());
testMesh.addDOFAdmin(localAdmin); testMesh.addDOFAdmin(localAdmin);
MSG("START READ FILE %s\n", macroFilename);
MacroInfo *testMacroInfo = MacroInfo *testMacroInfo =
MacroReader::readMacro(macroFilename, &testMesh, periodicFilename, check); MacroReader::readMacro(macroFilename, &testMesh, periodicFilename, check);
testMacroInfo->clear(); testMacroInfo->clear();
delete testMacroInfo; delete testMacroInfo;
MSG("TEST MESH HAS %d ELEMENTS\n", testMesh.getNumberOfMacros());
MPI::Finalize();
exit(0);
// === Check the mesh structure. === // === Check the mesh structure. ===
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment