This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/library/lammpi/CMakeLists.txt

88 lines
3.3 KiB
CMake
Raw Normal View History

2015-01-26 04:02:46 +00:00
2018-03-17 10:38:56 +00:00
set (MPI_YAP_SOURCES
2015-01-26 04:02:46 +00:00
hash.c prologterms2c.c yap_mpi.c)
macro_optional_find_package(MPI ON)
2018-03-17 10:38:56 +00:00
if (MPI_FOUND)
if (MPI_C_FOUND)
2015-01-26 04:02:46 +00:00
# === Variables ===
#
# This module will set the following variables per language in your
# project, where <lang> is one of C, CXX, or Fortran:
#
# ::
#
# MPI_<lang>_FOUND TRUE if FindMPI found MPI flags for <lang>
# MPI_<lang>_COMPILER MPI Compiler wrapper for <lang>
# MPI_<lang>_COMPILE_FLAGS Compilation flags for MPI programs
# MPI_<lang>_INCLUDE_PATH Include path(s) for MPI header
# MPI_<lang>_LINK_FLAGS Linking flags for MPI programs
# MPI_<lang>_LIBRARIES All libraries to link MPI programs against
#
# Additionally, FindMPI sets the following variables for running MPI
# programs from the command line:
#
# ::
#
# MPIEXEC Executable for running MPI programs
# MPIEXEC_NUMPROC_FLAG Flag to pass to MPIEXEC before giving
# it the number of processors to run on
# MPIEXEC_PREFLAGS Flags to pass to MPIEXEC directly
# before the executable to run.
# MPIEXEC_POSTFLAGS Flags to pass to MPIEXEC after other flags
#
2015-01-26 04:02:46 +00:00
# === Usage ===
#
# To use this module, simply call FindMPI from a CMakeLists.txt file, or
# run find_package(MPI), then run CMake. If you are happy with the
# auto- detected configuration for your language, then you're done. If
# not, you have two options:
#
# ::
#
# 1. Set MPI_<lang>_COMPILER to the MPI wrapper (mpicc, etc.) of your
# choice and reconfigure. FindMPI will attempt to determine all the
# necessary variables using THAT compiler's compile and link flags.
# 2. If this fails, or if your MPI implementation does not come with
# a compiler wrapper, then set both MPI_<lang>_LIBRARIES and
# MPI_<lang>_INCLUDE_PATH. You may also set any other variables
# listed above, but these two are required. This will circumvent
# autodetection entirely.
#
# When configuration is successful, MPI_<lang>_COMPILER will be set to
# the compiler wrapper for <lang>, if it was found. MPI_<lang>_FOUND
# and other variables above will be set if any MPI implementation was
# found for <lang>, regardless of whether a compiler was found.
#
# When using MPIEXEC to execute MPI applications, you should typically
# use all of the MPIEXEC flags as follows:
#
# ::
#
# ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
# ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
#
# where PROCS is the number of processors on which to execute the
# program, EXECUTABLE is the MPI program, and ARGS are the arguments to
# pass to the MPI program.
#
2019-01-09 09:32:09 +00:00
add_library(yap_mpi ${MPI_YAP_SOURCES})
2015-02-03 02:40:41 +00:00
2018-05-26 12:02:39 +01:00
target_link_libraries(yap_mpi libYap ${MPI_C_LIBRARIES})
2018-05-26 12:02:39 +01:00
include_directories( ${MPI_C_INCLUDE_PATH} ${CMAKE_BINARY_DIR})
2015-01-26 04:02:46 +00:00
2018-05-22 21:40:11 +01:00
set_property( DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS HAVE_MPI_H=1)
target_compile_options(yap_mpi
PUBLIC ${MPI_C_COMPILE_FLAGS})
2015-02-11 01:50:59 +00:00
2015-01-26 04:02:46 +00:00
install(TARGETS yap_mpi
2018-11-16 14:02:56 +00:00
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${YAP_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${YAP_INSTALL_LIBDIR}
2015-01-26 04:02:46 +00:00
)
2015-02-03 02:40:41 +00:00
2018-03-17 10:38:56 +00:00
endif (MPI_C_FOUND)
endif (MPI_FOUND)