diff --git a/AMDiS/AMDiSConfig.cmake.in b/AMDiS/AMDiSConfig.cmake.in index 0d6f04acb9dc37f2b2643d87684a64937793a373..83c5bdd8dcdbb78bd71bdb7d46b6b1889c7eec20 100644 --- a/AMDiS/AMDiSConfig.cmake.in +++ b/AMDiS/AMDiSConfig.cmake.in @@ -41,7 +41,7 @@ find_library(_AMDiS_LIB amdis PATHS ${AMDiS_LIBRARY_DIR} ${AMDiS_DIR}/../../lib/ if(_AMDiS_LIB) get_filename_component(AMDiS_LIBRARY_DIR ${_AMDiS_LIB} PATH CACHE) set(AMDiS_LIBRARY_DIRS ${AMDiS_LIBRARY_DIR}) - set(AMDiS_LIBRARIES amdis compositeFEM) + set(AMDiS_LIBRARIES "${_AMDiS_LIB};${AMDiS_LIBRARY_DIR}/libcompositeFEM.so" CACHE STRING "amdis libraries") else() message(ERROR "could not detect the AMDiS library directory. Please set the variable AMDiS_LIBRARY_DIR to the directory containg the AMDiS library") endif() @@ -60,16 +60,22 @@ set(AMDiS_NEED_UMFPACK @ENABLE_UMFPACK@) set(AMDiS_NEED_MKL @ENABLE_MKL@) 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 PATH "the blas library directory") - set(BLAS_LIBRARY "blas" CACHE STRING "the blas library") + if(NOT BLAS_LIBRARY) + set(BLAS_LIBRARY "blas" CACHE STRING "the blas library") + endif(NOT BLAS_LIBRARY) find_library(_BLAS_LIB ${BLAS_LIBRARY} PATHS ${BLAS_LIBRARY_DIR}) + if(NOT _BLAS_LIB) + if(EXISTS ${BLAS_LIBRARY}) + set(_BLAS_LIB ${BLAS_LIBRARY}) + endif() + endif(NOT _BLAS_LIB) if(NOT _BLAS_LIB) message(ERROR "could not find the blas library. please set the variables BLAS_LIBRARY_DIR and BLAS_LIBRARY") endif() - list(APPEND AMDiS_LIBRARIES umfpack amd ${BLAS_LIBRARY}) + list(APPEND AMDiS_LIBRARIES ${AMDiS_LIBRARY_DIR}/umfpack/libumfpack.a ${AMDiS_LIBRARY_DIR}/amd/libamd.a ${BLAS_LIBRARY}) list(APPEND AMDiS_LIBRARY_DIRS ${AMDiS_LIBRARY_DIR}/umfpack ${AMDiS_LIBRARY_DIR}/amd ${BLAS_LIBRARY_DIR}) list(APPEND AMDiS_INCLUDE_DIRS ${AMDiS_INCLUDE_DIR}/umfpack @@ -80,9 +86,7 @@ if(AMDiS_NEED_UMFPACK) endif(AMDiS_NEED_UMFPACK) if(${AMDiS_FIND_COMPONENTS} MATCHES umfpack ) - if( AMDiS_NEED_UMFPACK ) - list(APPEND AMDiS_LIBRARIES umfpack blas) - else() + if( NOT AMDiS_NEED_UMFPACK ) set( AMDiS_umfpack_FOUND FALSE) message(SEND_ERROR "the selected amdis was not compiled with umfpack") endif() @@ -90,7 +94,7 @@ endif() if( AMDiS_NEED_PARMETIS ) list(APPEND AMDiS_LIBRARY_DIRS ${AMDiS_LIBRARY_DIR}/parmetis) - list(APPEND AMDiS_LIBRARIES parmetis metis) + list(APPEND AMDiS_LIBRARIES ${AMDiS_LIBRARY_DIR}/parmetis/libparmetis.a ${AMDiS_LIBRARY_DIR}/parmetis/libmetis.a) endif() if(${AMDiS_FIND_COMPONENTS} MATCHES parmetis AND NOT AMDiS_NEED_PARMETIS) diff --git a/AMDiS/AMDiSUse.cmake b/AMDiS/AMDiSUse.cmake index 02e454d96d1877c0fd1029e4d9f08190219157da..60716e5bf30976c0d4f25908a4e93393d3a89eaf 100644 --- a/AMDiS/AMDiSUse.cmake +++ b/AMDiS/AMDiSUse.cmake @@ -10,15 +10,15 @@ if(AMDiS_HAS_PARALLEL_DOMAIN) CMAKE_FORCE_C_COMPILER(mpicc "The MPI C Compiler") endif(MPI_FOUND) 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_LIBRARIES}) + list(APPEND AMDiS_LIBRARIES ${PETSC_LIBRARY_SYS} ${PETSC_LIBRARIES}) list(APPEND AMDiS_INCLUDE_DIRS ${PETSC_INCLUDES}) endif(PETSC_FOUND) endif(NOT AMDiS_NEED_PARMETIS) endif(AMDiS_HAS_PARALLEL_DOMAIN) #thats bad because it affects each target add_definitions(${AMDiS_COMPILEFLAGS}) -link_directories(${AMDiS_LIBRARY_DIRS}) include_directories(${AMDiS_INCLUDE_DIRS}) diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt index b82e022ee486378146802da6cf0b6ba99127c37c..f56f4fee8d1f6dfe2497ee4c61bb8b0397666937 100644 --- a/AMDiS/CMakeLists.txt +++ b/AMDiS/CMakeLists.txt @@ -171,6 +171,7 @@ if(ENABLE_PARALLEL_DOMAIN) ) set(ENABLE_PARMETIS ON) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};/usr/share/cmake-2.8/Modules/;${CMAKE_SOURCE_DIR}/") + set(PETSC_EXECUTABLE_RUNS ON) find_package(PETSc REQUIRED) include_directories(${PETSC_DIR}/include ${PETSC_DIR}/${PETSC_ARCH}/include) SET(PARALLEL_DOMAIN_AMDIS_SRC