diff --git a/External/SPEC/CFP2017rate/527.cam4_r/CMakeLists.txt b/External/SPEC/CFP2017rate/527.cam4_r/CMakeLists.txt --- a/External/SPEC/CFP2017rate/527.cam4_r/CMakeLists.txt +++ b/External/SPEC/CFP2017rate/527.cam4_r/CMakeLists.txt @@ -91,8 +91,6 @@ -DSPEC_CASE_FLAG ) -add_compile_options(-fallow-argument-mismatch) - ## test ######################################################################## speccpu2017_run_test(RUN_TYPE test) @@ -572,6 +570,12 @@ zeff.f90 zenith.F90 ) + +check_fortran_compiler_flag("-fallow-argument-mismatch" SUPPORTS_FALLOW_ARGUMENT_MISMATCH) +if (SUPPORTS_FALLOW_ARGUMENT_MISMATCH) + target_compile_options(${PROG} PRIVATE $<$:-fallow-argument-mismatch>) +endif () + target_link_libraries(${PROG} PRIVATE netcdf) speccpu2017_prepare_rundir() diff --git a/cmake/modules/Fortran.cmake b/cmake/modules/Fortran.cmake --- a/cmake/modules/Fortran.cmake +++ b/cmake/modules/Fortran.cmake @@ -27,3 +27,7 @@ "Please use use Ninja 1.10 or later by adding -G \"Ninja\" to cmake invocation.\n") endif() endfunction() + +# standard CMake Utility Modules specific to Fortran +# https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html +include(CheckFortranCompilerFlag)