HPCW 3.0
Loading...
Searching...
No Matches
mpi.cmake
Go to the documentation of this file.
1# Copyright (c) 2020 - 2024 David Guibert
2# All rights reserved.
3#
4# SPDX-License-Identifier: Apache-2.0
5
6set_property(GLOBAL PROPERTY mpi_can_use_system TRUE)
7
8if(mpi_enabled AND NOT TARGET MPI::MPI_C)
9 set(MPI_DETERMINE_LIBRARY_VERSION ON)
10 if(USE_SYSTEM_mpi)
11 message(STATUS "MPI: enabled (system installed)")
12
13 # Looking for MPI implementation compatible with 3.1 standard
14 find_package(MPI 3.1 REQUIRED)
15
16 get_filename_component(MPI_DIR "${MPIEXEC_EXECUTABLE}" PATH)
17 get_filename_component(MPI_DIR "${MPI_DIR}" PATH)
18 get_target_property(CPATH_MPI MPI::MPI_C INTERFACE_INCLUDE_DIRECTORIES)
19
20 list(JOIN CPATH_MPI ":" CPATH_MPI)
21 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${CPATH_MPI}")
22
23 else()
24 message(FATAL_ERROR "HPCW requires an externally-built MPI library")
25 endif()
26
27endif()