1 if(enable_smpi AND enable_testsuite_smpi_MPICH3)
2 set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
3 set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
5 set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1 -Wno-error=unused-variable")
6 include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
7 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
9 foreach(file accfence1 accfence2_am accfence2 accpscw1 allocmem epochtest getfence1 getgroup manyrma3 nullpscw lockcontention lockopts contig_displ
10 putfence1 putfidx putpscw1 test1_am test1 test1_dt test2_am test2 test3 test3_am test4 test4_am test5_am test5 transpose1 transpose2 lockcontention2 wincall
11 transpose3 transpose4 transpose5 transpose6 transpose7 window_creation selfrma locknull win_info
12 at_complete acc-pairtype manyget large-small-acc lock_dt win_dynamic_acc fetch_and_op flush req_example rmanull rmazero badrma
13 lock_nested winname attrorderwin baseattrwin fkeyvalwin strided_acc_indexed strided_getacc_indexed compare_and_swap
14 lockall_dt lockall_dt_flushall lock_dt_flush lockall_dt_flush lockall_dt_flushlocalall lockall_dt_flushlocal lock_dt_flushlocal
15 strided_acc_onelock strided_get_indexed strided_putget_indexed contention_put contention_putget lockcontention3
16 adlb_mimic1 lock_contention_dt acc-loc get_acc_local get_accumulate put_base put_bottom
17 linked_list_bench_lock_all linked_list_bench_lock_excl manyrma2 pscw_ordering rma-contig get-struct
18 rput_local_comp racc_local_comp rget-testall win_shared win_shared_put_flush_get atomic_get)
19 # fence_shm fetchandadd_am fetchandadd fetchandadd_tree_am fetchandadd_tree
20 # linked_list_bench_lock_shr linked_list linked_list_fop linked_list_lockall
21 # mcs-mutex mixedsync mutex_bench reqops
22 # strided_getacc_indexed_shared rget-unlock
23 # win_flavors win_shared_zerobyte win_shared_noncontig win_shared_noncontig_put
24 # win_large_shm win_zero wintest atomic_rmw_fop atomic_rmw_gacc atomic_rmw_cas
25 # aint derived-acc-flush_local large-acc-flush_local
26 # win_shared_create win_shared_put_flush_get win_shared_rma_flush_load
28 add_executable(${file} EXCLUDE_FROM_ALL ${file}.c)
29 add_dependencies(tests ${file})
30 target_link_libraries(${file} simgrid mtest_c)
31 set_target_properties(${file} PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
34 add_executable(transpose3_shm EXCLUDE_FROM_ALL transpose3.c)
35 add_dependencies(tests transpose3_shm)
36 target_link_libraries(transpose3_shm simgrid mtest_c)
37 set_target_properties(transpose3_shm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS} -DUSE_WIN_ALLOCATE")
40 if (enable_testsuite_smpi_MPICH3 AND HAVE_RAW_CONTEXTS)
41 ADD_TEST(test-smpi-mpich3-rma-raw ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/rma ${PERL_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests "-wrapper=${VALGRIND_WRAPPER}" -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/rma -tests=testlist -execarg=--cfg=contexts/factory:raw)
42 SET_TESTS_PROPERTIES(test-smpi-mpich3-rma-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
43 if (enable_thread_sanitizer OR enable_coverage)
44 SET_TESTS_PROPERTIES(test-smpi-mpich3-rma-raw PROPERTIES TIMEOUT 1500)
48 foreach(file accfence1 accfence2_am accfence2 accpscw1 allocmem epochtest getfence1 getgroup manyrma3 nullpscw
49 putfence1 putfidx putpscw1 test1_am test1 test1_dt test2_am test2 test3 test5_am test5 transpose1 transpose2
50 transpose3 transpose6 transpose7 window_creation
51 acc-loc adlb_mimic1 attrorderwin badrma baseattrwin compare_and_swap contention_put contention_putget
52 contig_displ fence_shm fetchandadd_am fetchandadd fetchandadd_tree_am fetchandadd_tree fetch_and_op
53 fkeyvalwin flush get_acc_local get_accumulate linked_list_bench_lock_all linked_list_bench_lock_excl
54 linked_list_bench_lock_shr linked_list linked_list_fop linked_list_lockall lockcontention2 lockcontention3
55 lockcontention locknull lockopts manyrma2 mcs-mutex mixedsync mutex_bench pscw_ordering put_base put_bottom
56 req_example reqops rmanull rmazero rma-contig selfrma strided_acc_indexed strided_acc_onelock
57 strided_acc_subarray strided_getacc_indexed strided_getacc_indexed_shared strided_get_indexed
58 strided_putget_indexed strided_putget_indexed_shared test3_am test4_am test4 transpose4 transpose5 wincall
59 win_dynamic_acc win_flavors win_info winname win_shared win_shared_noncontig win_shared_noncontig_put
60 win_large_shm win_zero wintest win_shared_zerobyte get-struct
61 at_complete atomic_rmw_fop atomic_rmw_cas atomic_rmw_gacc atomic_get aint acc-pairtype manyget large-small-acc
62 rget-unlock overlap_wins_rma lock_nested derived-acc-flush_local large-acc-flush_local lockall_dt lockall_dt_flushall
63 lockall_dt_flush nb_test lockall_dt_flushlocal lockall_dt_flushlocalall lock_contention_dt lock_dt lock_dt_flush lock_dt_flushlocal
64 racc_local_comp rput_local_comp win_shared_create win_shared_put_flush_get win_shared_rma_flush_load
65 wrma_flush_get rget-testall)
66 set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${file}.c)
69 set(examples_src ${examples_src} PARENT_SCOPE)
70 set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/testlist
71 ${CMAKE_CURRENT_SOURCE_DIR}/mcs-mutex.h
72 ${CMAKE_CURRENT_SOURCE_DIR}/squelch.h PARENT_SCOPE)