add more thorough checks on Fortran and MPI support for Fortran.

also works around issue with GNU Fortran 12 and later
This commit is contained in:
Axel Kohlmeyer
2023-01-13 11:02:24 -05:00
parent a1f5d8420a
commit 8e138161af
5 changed files with 30 additions and 15 deletions

View File

@ -88,8 +88,7 @@ if(BUILD_MPI)
add_test(NAME RunCoupleSimpleCC
COMMAND $<TARGET_FILE:simpleCC> 1 ${LAMMPS_DIR}/examples/COUPLE/simple/in.lj)
find_package(MPI QUIET)
if(CMAKE_Fortran_COMPILER AND MPI_Fortran_FOUND AND MPI_Fortran_HAVE_F90_MODULE)
if($<TARGET_EXISTS:simpleF90>)
add_test(NAME RunCoupleSimpleF90
COMMAND $<TARGET_FILE:simpleF90> 1 ${LAMMPS_DIR}/examples/COUPLE/simple/in.lj)
set_tests_properties(RunCoupleSimpleF90 PROPERTIES

View File

@ -14,10 +14,12 @@ if(CMAKE_Fortran_COMPILER)
message(STATUS "Skipping Tests for the LAMMPS Fortran Module: cannot identify Fortran compiler")
return()
endif()
# GNU Fortran 4.8.x on RHEL/CentOS 7.x is not sufficient to compile the Fortran module. Work around flang being detected as GNU
# GNU Fortran 4.8.x on RHEL/CentOS 7.x is not sufficient to compile the Fortran module.
# Also GNU Fortran 7.x on Ubuntu18.04LTS is not sufficient. Work around flang being detected as GNU
get_filename_component(_tmp_fc ${CMAKE_Fortran_COMPILER} NAME)
if((CMAKE_Fortran_COMPILER_ID STREQUAL "GNU") AND (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 6.0) AND NOT (_tmp_fc STREQUAL "flang"))
message(FATAL_ERROR "Need GNU Fortran compiler version 6.x or later for unit testing")
if((CMAKE_Fortran_COMPILER_ID STREQUAL "GNU") AND (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 9.0) AND NOT (_tmp_fc STREQUAL "flang"))
message(STATUS "Need GNU Fortran compiler version 9.x or later for Fortran unit testing. Skipping...")
return()
endif()
get_filename_component(LAMMPS_FORTRAN_MODULE ${LAMMPS_SOURCE_DIR}/../fortran/lammps.f90 ABSOLUTE)