# Set sorc/ -wide compiler flags. if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback") set(CMAKE_Fortran_FLAGS_RELEASE "-O2") set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check -check noarg_temp_created -check nopointer -fp-stack-check -fstack-protector-all -fpe0 -debug -ftrapuv") elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fbacktrace") set(CMAKE_Fortran_FLAGS_RELEASE "-O3") set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check") if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") endif() endif() # Find packages. find_package(HDF5 REQUIRED COMPONENTS HL Fortran) find_package(bacio REQUIRED) find_package(w3emc REQUIRED) find_package(bufr REQUIRED) if(bacio_VERSION GREATER_EQUAL 2.5.0) set(bacio_name bacio) else() set(bacio_name bacio_4) endif() # Build code. add_subdirectory(bufr_cycsplit.fd) add_subdirectory(bufr_tranamsua.fd) add_subdirectory(bufr_tranavhrr.fd) add_subdirectory(bufr_trancimssamv.fd) add_subdirectory(bufr_trangoescld.fd) add_subdirectory(bufr_trangoessst.fd) add_subdirectory(bufr_tranhirs3.fd) add_subdirectory(bufr_tranimgr.fd) add_subdirectory(bufr_tranmhs.fd) add_subdirectory(bufr_tranmls.fd) add_subdirectory(bufr_tranmtypsbt.fd) add_subdirectory(bufr_tranomi.fd) add_subdirectory(bufr_tranompstc.fd) add_subdirectory(bufr_tranpoessst.fd) add_subdirectory(bufr_tranpoessst_navo.fd) add_subdirectory(bufr_transaphir.fd) add_subdirectory(bufr_transatw.fd) add_subdirectory(bufr_transkycovr.fd) add_subdirectory(bufr_transsmi.fd) add_subdirectory(bufr_transsnd.fd) add_subdirectory(bufr_tranwindsat.fd) add_subdirectory(snow_sno16grb.fd) add_subdirectory(snow_sno8grb.fd) add_subdirectory(snow_sno96grb.fd) add_subdirectory(bufr_readmp.fd)