From f917293fa9c85e2568f9f26a0bc7d9593487b0f5 Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Tue, 12 Sep 2017 09:03:04 -0400
Subject: [PATCH] CMake: Port testing to use the new FindMPI module

---
 testing/CMakeLists.txt                        |  5 ++++
 testing/adios2/bindings/C/CMakeLists.txt      |  6 ++---
 .../adios2/bindings/fortran/CMakeLists.txt    | 16 ++++++-------
 testing/adios2/engine/adios1/CMakeLists.txt   |  8 ++-----
 testing/adios2/engine/bp/CMakeLists.txt       | 24 +++++--------------
 testing/adios2/engine/hdf5/CMakeLists.txt     |  8 ++-----
 testing/adios2/interface/CMakeLists.txt       | 16 ++++---------
 7 files changed, 29 insertions(+), 54 deletions(-)

diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
index 7ed0bbbc8..17740cd07 100644
--- a/testing/CMakeLists.txt
+++ b/testing/CMakeLists.txt
@@ -5,4 +5,9 @@
 
 include(GoogleTest)
 
+if(ADIOS2_HAVE_MPI)
+  set(MPIEXEC_COMMAND
+    ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
+  )
+endif()
 add_subdirectory(adios2)
diff --git a/testing/adios2/bindings/C/CMakeLists.txt b/testing/adios2/bindings/C/CMakeLists.txt
index 57f251f96..3e8f220fe 100644
--- a/testing/adios2/bindings/C/CMakeLists.txt
+++ b/testing/adios2/bindings/C/CMakeLists.txt
@@ -7,11 +7,11 @@ add_executable(TestBPWriteTypes_c TestBPWriteTypes.cpp)
 target_link_libraries(TestBPWriteTypes_c adios2 gtest)
 
 if(ADIOS2_HAVE_MPI)
-  target_include_directories(TestBPWriteTypes_c PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestBPWriteTypes_c ${MPI_C_LIBRARIES})
+  target_link_libraries(TestBPWriteTypes_c MPI::MPI_C)
   set(extra_test_args
     EXEC_WRAPPER
-    ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS})
+    ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
+  )
 endif()
 
 gtest_add_tests(TARGET TestBPWriteTypes_c ${extra_test_args})
diff --git a/testing/adios2/bindings/fortran/CMakeLists.txt b/testing/adios2/bindings/fortran/CMakeLists.txt
index 02aec3e50..17fa101f2 100644
--- a/testing/adios2/bindings/fortran/CMakeLists.txt
+++ b/testing/adios2/bindings/fortran/CMakeLists.txt
@@ -4,20 +4,18 @@
 #------------------------------------------------------------------------------#
 
 add_executable(TestBPWriteTypes_f SmallTestData_mod.f90)
+target_link_libraries(TestBPWriteTypes_f adios2_f)
 
 if(ADIOS2_HAVE_MPI)
   target_sources(TestBPWriteTypes_f PRIVATE TestBPWriteTypes.f90)
-  target_include_directories(TestBPWriteTypes_f
-                                        PRIVATE ${MPI_Fortran_INCLUDE_PATH}
-                                                ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestBPWriteTypes_f PRIVATE ${MPI_Fortran_LIBRARIES}
-                                                   ${MPI_C_LIBRARIES})
+  target_link_libraries(TestBPWriteTypes_f MPI::MPI_Fortran)
   set(test_parameters
-    ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS})
+    ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
+  )
 else()
   target_sources(TestBPWriteTypes_f PRIVATE TestBPWriteTypes_nompi.f90)
 endif()
 
-target_link_libraries(TestBPWriteTypes_f PRIVATE adios2_f)
-
-add_test(NAME BPWrite_f COMMAND ${test_parameters} $<TARGET_FILE:TestBPWriteTypes_f>)
+add_test(NAME BPWrite_f
+  COMMAND ${test_parameters} $<TARGET_FILE:TestBPWriteTypes_f>
+)
diff --git a/testing/adios2/engine/adios1/CMakeLists.txt b/testing/adios2/engine/adios1/CMakeLists.txt
index ace06e557..c8630f44e 100644
--- a/testing/adios2/engine/adios1/CMakeLists.txt
+++ b/testing/adios2/engine/adios1/CMakeLists.txt
@@ -6,12 +6,8 @@
 add_executable(TestADIOS1WriteRead TestADIOS1WriteRead.cpp)
 target_link_libraries(TestADIOS1WriteRead adios2 gtest adios1::adios)
 if(ADIOS2_HAVE_MPI)
-  target_include_directories(TestADIOS1WriteRead PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestADIOS1WriteRead ${MPI_C_LIBRARIES})
-  set(extra_test_args
-    EXEC_WRAPPER
-      ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
-  )
+  target_link_libraries(TestADIOS1WriteRead MPI::MPI_C)
+  set(extra_test_args EXEC_WRAPPER ${MPIEXEC_COMMAND})
 endif()
 
 gtest_add_tests(TARGET TestADIOS1WriteRead ${extra_test_args})
diff --git a/testing/adios2/engine/bp/CMakeLists.txt b/testing/adios2/engine/bp/CMakeLists.txt
index fb032ba79..dce3a6fb1 100644
--- a/testing/adios2/engine/bp/CMakeLists.txt
+++ b/testing/adios2/engine/bp/CMakeLists.txt
@@ -24,25 +24,13 @@ if (ADIOS2_HAVE_ADIOS1)
   )
 
   if(ADIOS2_HAVE_MPI)
-    target_include_directories(TestBPWriteRead PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(TestBPWriteRead ${MPI_C_LIBRARIES})
+    target_link_libraries(TestBPWriteRead MPI::MPI_C)
+    target_link_libraries(TestBPWriteReadAttributes MPI::MPI_C)
+    target_link_libraries(TestBPWriteReadstdio MPI::MPI_C)
+    target_link_libraries(TestBPWriteReadfstream MPI::MPI_C)
+    target_link_libraries(TestBPWriteProfilingJSON MPI::MPI_C)
 
-    target_include_directories(TestBPWriteReadAttributes PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(TestBPWriteReadAttributes ${MPI_C_LIBRARIES})
-
-    target_include_directories(TestBPWriteReadstdio PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(TestBPWriteReadstdio ${MPI_C_LIBRARIES})
-
-    target_include_directories(TestBPWriteReadfstream PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(TestBPWriteReadfstream ${MPI_C_LIBRARIES})
-
-    target_include_directories(TestBPWriteProfilingJSON PRIVATE ${MPI_C_INCLUDE_PATH})
-    target_link_libraries(TestBPWriteProfilingJSON ${MPI_C_LIBRARIES})
-
-    set(extra_test_args
-      EXEC_WRAPPER
-        ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
-    )
+    set(extra_test_args EXEC_WRAPPER ${MPIEXEC_COMMAND})
   endif()
 
   gtest_add_tests(TARGET TestBPWriteRead ${extra_test_args})
diff --git a/testing/adios2/engine/hdf5/CMakeLists.txt b/testing/adios2/engine/hdf5/CMakeLists.txt
index 85a20cb64..4d6d857ac 100644
--- a/testing/adios2/engine/hdf5/CMakeLists.txt
+++ b/testing/adios2/engine/hdf5/CMakeLists.txt
@@ -14,12 +14,8 @@ endif()
 target_link_libraries(TestHDF5WriteRead adios2 gtest ${HDF5_C_LIBRARIES})
 
 if(ADIOS2_HAVE_MPI)
-  target_include_directories(TestHDF5WriteRead PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestHDF5WriteRead ${MPI_C_LIBRARIES})
-  set(extra_test_args
-    EXEC_WRAPPER
-      ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
-  )
+  target_link_libraries(TestHDF5WriteRead MPI::MPI_C)
+  set(extra_test_args EXEC_WRAPPER ${MPIEXEC_COMMAND})
 endif()
 
 gtest_add_tests(TARGET TestHDF5WriteRead ${extra_test_args})
diff --git a/testing/adios2/interface/CMakeLists.txt b/testing/adios2/interface/CMakeLists.txt
index 986133796..c1986d217 100644
--- a/testing/adios2/interface/CMakeLists.txt
+++ b/testing/adios2/interface/CMakeLists.txt
@@ -13,19 +13,11 @@ add_executable(TestADIOSDefineAttribute TestADIOSDefineAttribute.cpp)
 target_link_libraries(TestADIOSDefineAttribute adios2 gtest gtest_main)
 
 if(ADIOS2_HAVE_MPI)
-  target_include_directories(TestADIOSInterfaceWrite PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestADIOSInterfaceWrite ${MPI_C_LIBRARIES})
+  target_link_libraries(TestADIOSInterfaceWrite MPI::MPI_C)
+  target_link_libraries(TestADIOSDefineVariable MPI::MPI_C)
+  target_link_libraries(TestADIOSDefineAttribute MPI::MPI_C)
 
-  target_include_directories(TestADIOSDefineVariable PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestADIOSDefineVariable ${MPI_C_LIBRARIES})
-
-  target_include_directories(TestADIOSDefineAttribute PRIVATE ${MPI_C_INCLUDE_PATH})
-  target_link_libraries(TestADIOSDefineAttribute ${MPI_C_LIBRARIES})
-
-  set(extra_test_args
-    EXEC_WRAPPER
-      ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS}
-  )
+  set(extra_test_args EXEC_WRAPPER ${MPIEXEC_COMMAND})
 endif()
 
 gtest_add_tests(TARGET TestADIOSInterfaceWrite ${extra_test_args})
-- 
GitLab