## 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 ## ############################################################# include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR}/src/libpampa ${CMAKE_BINARY_DIR}/src/remeshers/mmg3d/libpampa-mmg3d4 ${CMAKE_BINARY_DIR}/src/remeshers/mmg3d/libpampa-mmg3d5 ${CMAKE_BINARY_DIR}/src/remeshers/mmg3d/libpampa-mmg3d ${CMAKE_BINARY_DIR}/src/remeshers/tetgen/libpampa-tetgen ${CMAKE_BINARY_DIR}/src/remeshers/gmsh/libpampa-gmsh ${CMAKE_BINARY_DIR}/src/remeshers/common ${CMAKE_BINARY_DIR}/src/interpolators/mshint/libpampa-mshint) ####################### # parallel execs # ####################### if (PTSCOTCH AND PAMPA_MMG3D4 AND PAMPA_GMSH) set (EXECS pampa-gmsh-bin) foreach (EXEC_NAME ${EXECS}) add_executable(${EXEC_NAME} ${EXEC_NAME}.c) target_link_libraries(${EXEC_NAME} pampa ${PAMPA_LIBRARY} ${PAMPA_EXTRA_LIBRARY} ${PAMPA_DEPENDENCIES}) if (MPI_C_LIBRARIES) target_link_libraries(${EXEC_NAME} ${MPI_C_LIBRARIES} m) else () target_link_libraries(${EXEC_NAME} ${MPI_LIBRARIES} m) endif () target_link_libraries(${EXEC_NAME} pampa-mmg3d4 ${MMG3D4_LIBRARY}) target_link_libraries(${EXEC_NAME} pampa-gmsh ${GMSH_LIBRARY}) #target_link_libraries(${EXEC_NAME} pampaers ${REMESHERS_LIBRARY}) target_link_libraries(${EXEC_NAME} ${GMSH_DEPS}) if (PAMPA_GMSH) target_link_libraries(${EXEC_NAME} ${GMSH_LIBRARY}) endif() if (PAMPA_MMG3D4_SCOTCH) target_link_libraries(${EXEC_NAME} ${PTSCOTCH_LIBRARIES_DEP}) endif() if (PAMPA_MSHINT) target_link_libraries(${EXEC_NAME} pampa-mshint ${MSHINT_LIBRARY} ${LIBMESH5_LIBRARY}) endif() if (PTHREAD) target_link_libraries(${EXEC_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) endforeach() endif() if (PTSCOTCH AND PAMPA_MMG3D4 AND PAMPA_TETGEN) set (EXECS pampa-tetgen-bin) foreach (EXEC_NAME ${EXECS}) add_executable(${EXEC_NAME} ${EXEC_NAME}.c) target_link_libraries(${EXEC_NAME} pampa ${PAMPA_LIBRARY} ${PAMPA_EXTRA_LIBRARY} ${PAMPA_DEPENDENCIES}) if (MPI_C_LIBRARIES) target_link_libraries(${EXEC_NAME} ${MPI_C_LIBRARIES} m) else () target_link_libraries(${EXEC_NAME} ${MPI_LIBRARIES} m) endif () target_link_libraries(${EXEC_NAME} pampa-mmg3d4 ${MMG3D4_LIBRARY}) target_link_libraries(${EXEC_NAME} pampa-tetgen ${TETGEN_LIBRARY}) #target_link_libraries(${EXEC_NAME} pampaers ${REMESHERS_LIBRARY}) if (PAMPA_TETGEN) target_link_libraries(${EXEC_NAME} ${TETGEN_LIBRARY}) endif() if (PAMPA_MMG3D4_SCOTCH) target_link_libraries(${EXEC_NAME} ${PTSCOTCH_LIBRARIES_DEP}) endif() if (PAMPA_MSHINT) target_link_libraries(${EXEC_NAME} pampa-mshint ${MSHINT_LIBRARY} ${LIBMESH5_LIBRARY}) endif() if (PTHREAD) target_link_libraries(${EXEC_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) endforeach() endif() if (PTSCOTCH AND PAMPA_MMG3D4) include_directories(${MMG3D4_INCLUDE_DIR}) set (EXECS #mscat pampa-mmg3d4-bin) foreach (EXEC_NAME ${EXECS}) add_executable(${EXEC_NAME} ${EXEC_NAME}.c) target_link_libraries(${EXEC_NAME} pampa ${PAMPA_LIBRARY} ${PAMPA_EXTRA_LIBRARY} ${PAMPA_DEPENDENCIES}) if (MPI_C_LIBRARIES) target_link_libraries(${EXEC_NAME} ${MPI_C_LIBRARIES} m) else () target_link_libraries(${EXEC_NAME} ${MPI_LIBRARIES} m) endif () target_link_libraries(${EXEC_NAME} pampa-mmg3d4 ${MMG3D4_LIBRARY}) if (PAMPA_MMG3D4_SCOTCH) target_link_libraries(${EXEC_NAME} ${PTSCOTCH_LIBRARIES_DEP}) endif() if (PAMPA_MSHINT) target_link_libraries(${EXEC_NAME} pampa-mshint ${MSHINT_LIBRARY} ${LIBMESH5_LIBRARY}) endif() if (NETLOC) target_link_libraries(${EXEC_NAME} ${NETLOC_LIBRARY}) endif() if (PTHREAD) target_link_libraries(${EXEC_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) endforeach() endif() if (PTSCOTCH AND PAMPA_MMG3D5) include_directories(${MMG3D5_INCLUDE_DIR}) set (EXECS pampa-mmg3d5-bin) foreach (EXEC_NAME ${EXECS}) add_executable(${EXEC_NAME} ${EXEC_NAME}.c) target_link_libraries(${EXEC_NAME} pampa ${PAMPA_LIBRARY} ${PAMPA_EXTRA_LIBRARY} ${PAMPA_DEPENDENCIES}) if (MPI_C_LIBRARIES) target_link_libraries(${EXEC_NAME} ${MPI_C_LIBRARIES} m) else () target_link_libraries(${EXEC_NAME} ${MPI_LIBRARIES} m) endif () target_link_libraries(${EXEC_NAME} pampa-mmg3d5 ${MMG3D5_LIBRARY}) if (PAMPA_MMG3D5_SCOTCH) target_link_libraries(${EXEC_NAME} ${PTSCOTCH_LIBRARIES_DEP}) endif() if (PTHREAD) target_link_libraries(${EXEC_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) endforeach() endif() if (PTSCOTCH AND PAMPA_MMG3D) include_directories(${MMG3D_INCLUDE_DIR}) set (EXECS mscat # XXX pas bon, mettre ailleurs mdist # XXX pas bon, mettre ailleurs msurf # XXX pas bon, mettre ailleurs pampa-mmg3d-bin) foreach (EXEC_NAME ${EXECS}) add_executable(${EXEC_NAME} ${EXEC_NAME}.c ${EXEC_NAME}.h) target_link_libraries(${EXEC_NAME} ${PAMPA_DEPENDENCIES}) if (MPI_C_LIBRARIES) target_link_libraries(${EXEC_NAME} ${MPI_C_LIBRARIES} m) else () target_link_libraries(${EXEC_NAME} ${MPI_LIBRARIES} m) endif () target_link_libraries(${EXEC_NAME} pampa-mmg3d ${MMG3D_LIBRARY}) if (PAMPA_MMG3D_SCOTCH) target_link_libraries(${EXEC_NAME} ${PTSCOTCH_LIBRARIES_DEP}) endif() if (PAMPA_MSHINT) target_link_libraries(${EXEC_NAME} pampa-mshint ${MSHINT_LIBRARY} ${LIBMESH5_LIBRARY}) endif() if (PTHREAD) target_link_libraries(${EXEC_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif() install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) endforeach() endif()