1
1
add_executable (mpi_basic_C basic.c)
2
2
target_link_libraries (mpi_basic_C PRIVATE MPI::MPI_C)
3
3
add_test (NAME mpi_basic_C COMMAND mpi_basic_C)
4
+ test_mpi_launcher(mpi_basic_C 1)
4
5
5
6
add_executable (mpi_version_C mpivers.c)
6
7
target_link_libraries (mpi_version_C PRIVATE MPI::MPI_C)
7
8
add_test (NAME mpi_version_C COMMAND mpi_version_C)
9
+ test_mpi_launcher(mpi_version_C 1)
8
10
9
11
# --- Fortran MPI-3
10
12
11
13
add_executable (mpi_basic_Fortran basic.f90)
12
14
target_link_libraries (mpi_basic_Fortran PRIVATE MPI::MPI_Fortran)
13
15
add_test (NAME mpi_basic_Fortran COMMAND mpi_basic_Fortran)
16
+ test_mpi_launcher(mpi_basic_Fortran 1)
14
17
15
18
add_executable (mpi_version_Fortran mpivers.f90)
16
19
target_link_libraries (mpi_version_Fortran PRIVATE MPI::MPI_Fortran)
17
20
add_test (NAME mpi_version_Fortran COMMAND mpi_version_Fortran)
21
+ test_mpi_launcher(mpi_version_Fortran 1)
18
22
19
23
# --- more than one MPI image
20
24
21
25
add_executable (mpi_hello helloworld.f90)
22
26
target_link_libraries (mpi_hello PRIVATE MPI::MPI_Fortran)
23
27
add_test (NAME mpi_hello COMMAND mpi_hello)
28
+ test_mpi_launcher(mpi_hello ${MPIEXEC_MAX_NUMPROCS} )
24
29
set_property (TEST mpi_hello PROPERTY FIXTURES_SETUP mpi_fxt)
25
30
26
31
# --- actual message passing
@@ -31,6 +36,7 @@ target_link_libraries(mpi_pass PRIVATE MPI::MPI_Fortran)
31
36
if (MPIEXEC_MAX_NUMPROCS GREATER_EQUAL 2)
32
37
33
38
add_test (NAME mpi_pass COMMAND mpi_pass)
39
+ test_mpi_launcher(mpi_pass 2)
34
40
set_property (TEST mpi_pass PROPERTY FIXTURES_REQUIRED mpi_fxt)
35
41
36
42
endif ()
@@ -39,28 +45,7 @@ endif()
39
45
40
46
get_property (tests DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY TESTS)
41
47
42
- set_property (TEST ${tests} PROPERTY cpu_mpi)
43
-
44
- set_property (TEST ${tests} PROPERTY SKIP_REGULAR_EXPRESSION "No host list provided" )
45
-
46
- # convenience vars
47
- set (single mpi_basic_C mpi_version_C mpi_basic_Fortran mpi_version_Fortran)
48
- set (_m ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} )
49
-
50
- if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.29)
51
-
52
- set_property (TEST ${single} PROPERTY TEST_LAUNCHER ${_m} 1)
53
- set_property (TEST mpi_hello PROPERTY TEST_LAUNCHER ${_m} ${MPIEXEC_MAX_NUMPROCS} )
54
- set_property (TEST mpi_pass PROPERTY TEST_LAUNCHER ${_m} 2)
55
-
56
- else ()
57
-
58
- set_property (TARGET ${single} PROPERTY CROSSCOMPILING_EMULATOR ${_m} 1)
59
- set_property (TARGET mpi_hello PROPERTY CROSSCOMPILING_EMULATOR ${_m} ${MPIEXEC_MAX_NUMPROCS} )
60
- set_property (TARGET mpi_pass PROPERTY CROSSCOMPILING_EMULATOR ${_m} 2)
61
-
62
- endif ()
63
-
64
- if (DEFINED mpi_tmpdir)
65
- set_property (TEST ${tests} PROPERTY ENVIRONMENT TMPDIR=${mpi_tmpdir} )
66
- endif ()
48
+ set_tests_properties (${tests} PROPERTIES
49
+ RESOURCE_LOCK mpi
50
+ SKIP_REGULAR_EXPRESSION "No host list provided"
51
+ )
0 commit comments