-cmake_minimum_required(VERSION 2.6)
-
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F2C)
+if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_FORTRAN)
if(WIN32)
set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
else()
set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
endif()
- set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
- include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
- include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
-
-# add_executable(allredint8f allredint8f.f)
-# add_executable(allredopttf allredopttf.f)
- add_executable(alltoallvf alltoallvf.f)
-# add_executable(alltoallwf alltoallwf.f)
- add_executable(exscanf exscanf.f)
- add_executable(inplacef inplacef.f)
- # add_executable(nonblockingf nonblockingf.f)
- # add_executable(nonblocking_inpf nonblocking_inpf.f)
- add_executable(red_scat_blockf red_scat_blockf.f)
- add_executable(redscatf redscatf.f)
- add_executable(reducelocalf reducelocalf.f)
- add_executable(split_typef split_typef.f)
- add_executable(uallreducef uallreducef.f)
- add_executable(vw_inplacef vw_inplacef.f)
+ include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-# target_link_libraries(allredint8f simgrid mtest_f77)
-# target_link_libraries(allredopttf simgrid mtest_f77)
- target_link_libraries(alltoallvf simgrid mtest_f77)
-# target_link_libraries(alltoallwf simgrid mtest_f77)
- target_link_libraries(exscanf simgrid mtest_f77)
- target_link_libraries(inplacef simgrid mtest_f77)
- # target_link_libraries(nonblockingf simgrid mtest_f77)
- # target_link_libraries(nonblocking_inpf simgrid mtest_f77)
- target_link_libraries(red_scat_blockf simgrid mtest_f77)
- target_link_libraries(redscatf simgrid mtest_f77)
- target_link_libraries(reducelocalf simgrid mtest_f77)
- target_link_libraries(split_typef simgrid mtest_f77)
- target_link_libraries(uallreducef simgrid mtest_f77)
- target_link_libraries(vw_inplacef simgrid mtest_f77)
+ foreach(test alltoallvf
+ allredint8f allredopttf alltoallwf
+ exscanf inplacef
+ nonblockingf nonblocking_inpf
+ redscatf red_scat_blockf reducelocalf
+ split_typef uallreducef vw_inplacef)
+ add_executable(${test} EXCLUDE_FROM_ALL ${test}.f)
+ add_dependencies(tests ${test})
+ target_link_libraries(${test} simgrid mtest_f77)
+ endforeach()
+endif()
+# These test seem to not compile with gfortran 10 for now, so work around that bug that is not ours
+if((CMAKE_Fortran_COMPILER_ID MATCHES "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.99"))
+ set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/inplacef.f" PROPERTY COMPILE_FLAGS -fallow-argument-mismatch)
endif()
-set(tesh_files
- ${tesh_files}
- PARENT_SCOPE
- )
-set(xml_files
- ${xml_files}
- PARENT_SCOPE
- )
set(examples_src
${examples_src}
${CMAKE_CURRENT_SOURCE_DIR}/allredint8f.f
${CMAKE_CURRENT_SOURCE_DIR}/split_typef.f
${CMAKE_CURRENT_SOURCE_DIR}/uallreducef.f
${CMAKE_CURRENT_SOURCE_DIR}/vw_inplacef.f
- PARENT_SCOPE
- )
-set(bin_files
- ${bin_files}
- PARENT_SCOPE
- )
+ PARENT_SCOPE)
set(txt_files
${txt_files}
${CMAKE_CURRENT_SOURCE_DIR}/testlist
- PARENT_SCOPE
- )
+ PARENT_SCOPE)