Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / external / CMakeLists.txt
bloba1fed0df77e333aed1c007f353b68cfcae4ca2f1
1 # WRF CMake Build
3 # The way ncep has written these makes this difficult if not impossible to do...
4 # # External projects, run them inline but make an alias to their target as if 
5 # # we "built" them ourselves - useful to avoid ExternalProject_Add() + find_package() weirdness
6 # # Newer versions we might need to do that since g2 relies on bacio with find_package()
7 # add_subdirectory( bacio )
8 # add_subdirectory( g2    )
10 # # bacio v2.6.0
11 # add_library( bacio::bacio ALIAS bacio )
13 # # g2 v3.1.2
14 # if ( ${USE_DOUBLE} )
15 #   add_library( g2::g2 ALIAS g2_d )
16 # else()
17 #   add_library( g2::g2 ALIAS g2_4 )
18 # endif()
21 # Always build
23 # Suffice it to say everything under this is WRF-specific while also being external
24 add_compile_options    ( "${PROJECT_COMPILE_OPTIONS}"     )
25 add_compile_definitions( "${PROJECT_COMPILE_DEFINITIONS}" )
27 add_subdirectory( io_int           )
28 add_subdirectory( io_grib1         )
29 add_subdirectory( io_grib_share    )
30 add_subdirectory( ioapi_share      )
31 add_subdirectory( fftpack/fftpack5 )
33 if ( AMT_OCN )
34   # I have no clue how this gets used
35   message( STATUS "Adding [atm_ocn] to configuration" )
36   add_subdirectory( atm_ocn        )
37 endif()
39 if ( ADIOS2 )
40   message( STATUS "Adding [io_adios2] to configuration" )
41   add_subdirectory( io_adios2      )
42 endif()
44 if ( ESMF )
45   message( STATUS "Adding [io_esmf] to configuration" )
46   add_subdirectory( io_esmf        )
47 endif()
49 #!TODO Is this always needed
50 add_subdirectory( esmf_time_f90    )
52 # netCDF
53 #!TODO I believe this is always required from configure:651
54 add_subdirectory( io_netcdf        )
55 #!TODO We should collapse all these files into #ifdefs even if they are compiled
56 #      multiple times with different defs for the same configuration
57 if ( ${netCDF_HAS_PARALLEL} AND ${USE_MPI} )
58   message( STATUS "Adding [io_netcdfpar] to configuration" )
59   add_subdirectory( io_netcdfpar     )
60 endif()
62 if ( ${pnetCDF_FOUND} )
63   message( STATUS "Adding [io_pnetcdf] to configuration" )
64   add_subdirectory( io_pnetcdf       )
65 endif()
67 if ( ${PIO_FOUND} )
68   message( STATUS "Adding [io_pio] to configuration" )
69   add_subdirectory( io_pio           )
70 endif()
72 # https://cmake.org/cmake/help/latest/module/FindHDF5.html
73 # I don't think this is the correct variable to control this IO capability...
74 if ( ${HDF5_IS_PARALLEL} )
75   message( STATUS "Adding [io_phdf5] to configuration" )
76   add_subdirectory( io_phdf5         )
77 endif()
80 if ( ${Jasper_FOUND} )
81   message( STATUS "Adding [io_grib2] to configuration" )
82   add_subdirectory( io_grib2         )
83 endif()
85 if ( ${USE_RSL_LITE} )
86   add_subdirectory( RSL_LITE         )
87 endif()