1313# Looking for MPI...
1414find_package (MPI QUIET )
1515
16- set (LIBOMPTARGET_DEP_MPI_FOUND ${MPI_CXX_FOUND} )
17- set (LIBOMPTARGET_DEP_MPI_LIBRARIES ${MPI_CXX_LIBRARIES} )
18- set (LIBOMPTARGET_DEP_MPI_INCLUDE_DIRS ${MPI_CXX_INCLUDE_DIRS} )
19- set (LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS ${MPI_CXX_COMPILE_FLAGS} )
20- set (LIBOMPTARGET_DEP_MPI_LINK_FLAGS ${MPI_CXX_LINK_FLAGS} )
21-
22- mark_as_advanced (
23- LIBOMPTARGET_DEP_MPI_FOUND
24- LIBOMPTARGET_DEP_MPI_LIBRARIES
25- LIBOMPTARGET_DEP_MPI_INCLUDE_DIRS
26- LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS
27- LIBOMPTARGET_DEP_MPI_LINK_FLAGS)
2816
2917if (NOT (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(ppc64le)$" AND CMAKE_SYSTEM_NAME MATCHES "Linux" ))
3018 libomptarget_say("Not building MPI offloading plugin: only support MPI in Linux x86_64 or ppc64le hosts." )
3119 return ()
3220elseif (NOT LIBOMPTARGET_DEP_LIBFFI_FOUND)
3321 libomptarget_say("Not building MPI offloading plugin: libffi dependency not found." )
3422 return ()
35- elseif (NOT LIBOMPTARGET_DEP_MPI_FOUND )
23+ elseif (NOT MPI_CXX_FOUND )
3624 libomptarget_say("Not building MPI offloading plugin: MPI not found in system." )
3725 return ()
3826endif ()
5341 target_link_libraries (omptarget.rtl.mpi PRIVATE FFI::ffi)
5442endif ()
5543
56- target_link_libraries (omptarget.rtl.mpi PRIVATE
57- ${LIBOMPTARGET_DEP_MPI_LIBRARIES}
58- ${LIBOMPTARGET_DEP_MPI_LINK_FLAGS}
44+ target_link_libraries (omptarget.rtl.mpi PRIVATE
45+ MPI::MPI_CXX
5946)
6047
6148# Add include directories
@@ -65,13 +52,9 @@ target_include_directories(omptarget.rtl.mpi PRIVATE
6552# Install plugin under the lib destination folder.
6653install (TARGETS omptarget.rtl.mpi
6754 LIBRARY DESTINATION "${OFFLOAD_INSTALL_LIBDIR} " )
68- set_target_properties (omptarget.rtl.mpi PROPERTIES
55+ set_target_properties (omptarget.rtl.mpi PROPERTIES
6956 INSTALL_RPATH "$ORIGIN" BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR} /.." )
7057
71- if (LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS)
72- set_target_properties (omptarget.rtl.mpi PROPERTIES
73- COMPILE_FLAGS "${LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS} " )
74- endif ()
7558
7659# Set C++20 as the target standard for this plugin.
7760set_target_properties (omptarget.rtl.mpi
@@ -94,8 +77,7 @@ llvm_add_tool(OPENMP llvm-offload-mpi-device src/EventSystem.cpp src/MPIDeviceMa
9477llvm_update_compile_flags(llvm-offload-mpi-device)
9578
9679target_link_libraries (llvm-offload-mpi-device PRIVATE
97- ${LIBOMPTARGET_DEP_MPI_LIBRARIES}
98- ${LIBOMPTARGET_DEP_MPI_LINK_FLAGS}
80+ MPI::MPI_CXX
9981 LLVMSupport
10082 omp
10183)
@@ -108,20 +90,14 @@ endif()
10890
10991target_include_directories (llvm-offload-mpi-device PRIVATE
11092 ${LIBOMPTARGET_INCLUDE_DIR}
111- ${LIBOMPTARGET_DEP_MPI_INCLUDE_DIRS}
11293)
11394
114- if (LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS)
115- set_target_properties (llvm-offload-mpi-device PROPERTIES
116- COMPILE_FLAGS "${LIBOMPTARGET_DEP_MPI_COMPILE_FLAGS} "
117- )
118- endif ()
11995
12096set_target_properties (llvm-offload-mpi-device
12197 PROPERTIES
12298 CXX_STANDARD 20
12399 CXX_STANDARD_REQUIRED ON
124100)
125101
126- target_compile_definitions (llvm-offload-mpi-device PRIVATE
102+ target_compile_definitions (llvm-offload-mpi-device PRIVATE
127103 DEBUG_PREFIX="OFFLOAD MPI DEVICE" )
0 commit comments