1
1
add_executable (mpi_basic_C basic.c )
2
2
target_link_libraries (mpi_basic_C PRIVATE MPI::MPI_C )
3
- add_test (NAME mpi_basic_C COMMAND mpi_basic_C )
3
+ add_test (NAME MPIbasicC COMMAND mpi_basic_C )
4
+ test_mpi_launcher (mpi_basic_C MPIbasicC 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
- add_test (NAME mpi_version_C COMMAND mpi_version_C )
8
+ add_test (NAME MPIversionC COMMAND mpi_version_C )
9
+ test_mpi_launcher (mpi_version_C MPIversionC 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
- add_test (NAME mpi_basic_Fortran COMMAND mpi_basic_Fortran )
15
+ add_test (NAME MPIbasicFortran COMMAND mpi_basic_Fortran )
16
+ test_mpi_launcher (mpi_basic_Fortran MPIbasicFortran 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
- add_test (NAME mpi_version_Fortran COMMAND mpi_version_Fortran )
20
+ add_test (NAME MPIversionFortran COMMAND mpi_version_Fortran )
21
+ test_mpi_launcher (mpi_version_Fortran MPIversionFortran 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
- add_test (NAME mpi_hello COMMAND mpi_hello )
24
- set_property (TEST mpi_hello PROPERTY FIXTURES_SETUP mpi_fxt )
27
+ add_test (NAME MPIhello COMMAND mpi_hello )
28
+ test_mpi_launcher (mpi_hello MPIhello ${MPIEXEC_MAX_NUMPROCS} )
29
+ set_property (TEST MPIhello PROPERTY FIXTURES_SETUP mpi_fxt )
25
30
26
31
# --- actual message passing
27
32
@@ -30,37 +35,17 @@ target_link_libraries(mpi_pass PRIVATE MPI::MPI_Fortran)
30
35
31
36
if (MPIEXEC_MAX_NUMPROCS GREATER_EQUAL 2 )
32
37
33
- add_test (NAME mpi_pass COMMAND mpi_pass )
34
- set_property (TEST mpi_pass PROPERTY FIXTURES_REQUIRED mpi_fxt )
38
+ add_test (NAME MPIpass COMMAND mpi_pass )
39
+ test_mpi_launcher (mpi_pass MPIpass 2 )
40
+ set_property (TEST MPIpass PROPERTY FIXTURES_REQUIRED mpi_fxt )
35
41
36
42
endif ()
37
43
38
44
# --- test properties
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