#=============================================================================== # @file paradis.cmake # # @author Guillaume Anciaux # @author Till Junge # @author Nicolas Richart # @author Moseley Philip Arthur # # @date Fri Jul 11 15:47:44 2014 # # @brief ParaDiS package # # @section LICENSE # # Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne) # Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides) # # LibMultiScale is free software: you can redistribute it and/or modify it under the # terms of the GNU Lesser General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) any # later version. # # LibMultiScale is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more # details. # # You should have received a copy of the GNU Lesser General Public License # along with LibMultiScale. If not, see . # #=============================================================================== if(EXISTS ${PROJECT_SOURCE_DIR}/third-party/paradis) option(LIBMULTISCALE_USE_PARADIS "Plugin ParaDiS as DD code" FALSE) if(LIBMULTISCALE_USE_PARADIS) list(APPEND LIBMULTISCALE_DEFINITIONS LIBMULTISCALE_USE_PARADIS PARADIS_IN_LIBMULTISCALE PARADIS_DISPLACEMENTS) set(PARADIS_TARGETS_EXPORT LibMultiScaleLibraryDepends) set(PARADIS_IN_LIBMULTISCALE ON CACHE BOOL "Specify paradis that he is used inside of libmultiscale" FORCE) set(PARADIS_DISPLACEMENTS ON CACHE BOOL "Enable calculation of displacements in paradis" FORCE) add_subdirectory(third-party/paradis) set_target_properties(ParaDiS PROPERTIES COMPILE_FLAGS "-w") foreach(_var ${_cache_variables}) if(_var MATCHES "^PARADIS_") mark_as_advanced(${_var}) endif() endforeach() list(APPEND LIBMULTISCALE_EXTERNAL_LIBRARIES ParaDiS) list(APPEND LIBMULTISCALE_EXTERNAL_LIB_INCLUDE_DIR ${PARADIS_INCLUDE_DIRS}) set(LIBMULTISCALE_PARADIS_INCLUDE_DIR ${PARADIS_INCLUDE_DIRS}) list(APPEND LIBMULTISCALE_EXPORT_LIST ParaDiS) list(APPEND LIBMULTISCALE_OPTION_LIST PARADIS) set(LIBMULTISCALE_PARADIS ON) else() set(LIBMULTISCALE_PARADIS OFF) endif() else() add_optional_external_package(ParaDiS "Plugin for PARADIS as DD code" OFF) endif() set(LIBMULTISCALE_DD_HDRS_LIST_PARADIS dd/paradis/domain_paradis.hh ) set(LIBMULTISCALE_PARADIS_FILES ${LIBMULTISCALE_DD_HDRS_LIST_PARADIS} dd/paradis/domain_paradis.cc dd/paradis/iterator_paradis.hh dd/paradis/container_paradis.hh dd/paradis/ref_node_paradis.hh ) set(LIBMULTISCALE_DD_MODEL_LIST_PARADIS "((DomainPARADIS,3,PARADIS))" )