Skip to content
Snippets Groups Projects
AMDISUse.cmake 1.4 KiB
Newer Older
  • Learn to ignore specific revisions
  • #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()
    
    Naumann, Andreas's avatar
    Naumann, Andreas committed
    			message(FATAL_ERROR "Could not find PETSc!")
    
    		endif(PETSC_FOUND)
    	elseif(AMDIS_HAS_PARALLEL_DOMAIN STREQUAL "PMTL")
    		find_package(MTL REQUIRED)
    		list(APPEND AMDIS_LIBRARIES ${MTL_LIBRARIES})
    
    Naumann, Andreas's avatar
    Naumann, Andreas committed
    		find_library(PARMETIS_LIB parmetis)
    		if(PARMETIS_LIB)
    			list(APPEND AMDIS_LIBRARIES ${PARMETIS_LIB})
    		else(PARMETIS_LIB)
    
    			message(FATAL_ERROR "could not find the parmetis libraries needed by amdis")
    
    Naumann, Andreas's avatar
    Naumann, Andreas committed
    		endif(PARMETIS_LIB)
    
    		find_library(METIS_LIB metis)
    		if(METIS_LIB)
    			list(APPEND AMDIS_LIBRARIES ${METIS_LIB})
    		else(METIS_LIB)
    			message(FATAL_ERROR "could not find the metis libraries needed by amdis")
    		endif(METIS_LIB)
    
    	endif()
    endif(AMDIS_HAS_PARALLEL_DOMAIN)
    
    #thats bad because it affects each target
    add_definitions(${AMDIS_COMPILEFLAGS})
    include_directories(${AMDIS_INCLUDE_DIRS})