## Copyright 2009-2016 Inria ## ## This file is part of the PaMPA software package for parallel ## mesh partitioning and adaptation. ## ## PaMPA is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## any later version. ## ## PaMPA 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 General Public License for more details. ## ## In this respect, the user's attention is drawn to the risks associated ## with loading, using, modifying and/or developing or reproducing the ## software by the user in light of its specific status of free software, ## that may mean that it is complicated to manipulate, and that also ## therefore means that it is reserved for developers and experienced ## professionals having in-depth computer knowledge. Users are therefore ## encouraged to load and test the software's suitability as regards ## their requirements in conditions enabling the security of their ## systems and/or data to be ensured and, more generally, to use and ## operate it in the same conditions as regards security. ## ## The fact that you are presently reading this means that you have had ## knowledge of the GPLv3 license and that you accept its terms. ## ############################################################# ## ## \file CMakeLists.txt ## ## \authors Cedric Lachat ## ## ## \date Version 1.0: from: 31 May 2011 ## to: 22 Sep 2017 ## ############################################################# ######################## # libpampa-mmg3d # ######################## include_directories (${MMG3D_INCLUDE_DIR}) include_directories (${PAMPA_SOURCE_DIR}/pampa/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR}/src/libpampa) # Generate pampa-mmg3d.h ADD_CUSTOM_COMMAND(OUTPUT pampa-mmg3d.h COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/library.h ${CMAKE_CURRENT_BINARY_DIR}/pampa-mmg3d.h DEPENDS library.h) if (FORTRAN_INTERFACE) # Generate pampa_commonf.h ADD_CUSTOM_COMMAND(OUTPUT pampa_commonf.h COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../libpampa/pampa_commonf.h ${CMAKE_CURRENT_BINARY_DIR}/pampa_commonf.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../../../libpampa/pampa_commonf.h) # Generate pampa-mmg3d_commonf.h add_custom_command(OUTPUT pampa-mmg3d_commonf.h COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/library_commonf.h ${CMAKE_CURRENT_BINARY_DIR}/pampa-mmg3d_commonf.h DEPENDS library_commonf.h) # Generate pampaf-mmg3d.h ADD_CUSTOM_COMMAND(OUTPUT pampaf-mmg3d.h COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/libraryf.h ${CMAKE_CURRENT_BINARY_DIR}/pampaf-mmg3d.h DEPENDS library.h) endif () # Sources to build libpampa-mmg3d SET(PAMPA_MMG3D_C_SOURCES pampa-mmg3d.h library_dmesh_band.c library_dmesh_check.c library_dmesh_metric.c library_mesh_adapt.c library_mesh_load.c library_dmesh_weight.c library_mesh_save.c library_pmesh_to_rmesh.c library_rmesh_to_pmesh.c library_smesh_load.c mesh_metric_smooth.c mesh_metric_smooth.h metric.c rmesh_to_pmesh.c rmesh_to_pmesh.h rmesh_to_psmesh.c rmesh_to_psmesh.h pmesh_check_per.c pmesh_check_per.h pmesh_to_rmesh.c pmesh_to_rmesh.h ) if (FORTRAN_INTERFACE) set (PAMPA_MMG3D_FORTRAN_SOURCES pampa_commonf.h pampa-mmg3d_commonf.h pampaf-mmg3d.h library_mesh_load.F90 library_mesh_save.F90 library.F90) endif () ADD_LIBRARY( pampa-mmg3d ${PAMPA_MMG3D_C_SOURCES} ${PAMPA_MMG3D_FORTRAN_SOURCES}) # Add dependency on PaMPA TARGET_LINK_LIBRARIES(pampa-mmg3d pampa ${PAMPA_LIBRARY}) # Do some copies after building libpampa IF (OLD_CMAKE) ADD_CUSTOM_COMMAND(TARGET pampa-mmg3d POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy libpampa-mmg3d.a ${PAMPA_SOURCE_DIR}/pampa/lib COMMAND ${CMAKE_COMMAND} -E copy ${MMG3D_LIBRARY} ${PAMPA_SOURCE_DIR}/pampa/lib ) ELSE (OLD_CMAKE) ADD_CUSTOM_COMMAND(TARGET pampa-mmg3d POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ ${PAMPA_SOURCE_DIR}/pampa/lib COMMAND ${CMAKE_COMMAND} -E copy ${MMG3D_LIBRARY} ${PAMPA_SOURCE_DIR}/pampa/lib ) ENDIF (OLD_CMAKE) if (FORTRAN_INTERFACE) add_custom_command(TARGET pampa-mmg3d POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/MOD/pampa_mmg3d.mod ${PAMPA_SOURCE_DIR}/pampa/include ) endif () # Specify where libpampa-mmg3d and include files will be installed if (BUILD_SHARED_LIBS) INSTALL(TARGETS pampa-mmg3d LIBRARY DESTINATION lib) else () INSTALL(TARGETS pampa-mmg3d ARCHIVE DESTINATION lib) endif () install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pampa-mmg3d.h DESTINATION include)