Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure netCDF find modules to use modern import target #2054

Open
wants to merge 19 commits into
base: release-v4.6.1
Choose a base branch
from

Conversation

islas
Copy link
Collaborator

@islas islas commented May 28, 2024

TYPE: enhancement

KEYWORDS: netCDF, cmake, compilation

SOURCE: internal

DESCRIPTION OF CHANGES:
Problem:
The current iteration of the cmake build uses the old-style of finding modules. This limits the usability of transitive properties as well as the native netCDF cmake build which provide imported targets.

See https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#find-modules for more information on module writing.

Solution:
Augment the output of the provided find module to supply an imported target that fully describes the netCDF library. Additionally, in rewriting how targets in WRF reference netCDF remove unnecessary linking to the library. Ensure the provided import target and flags of the find module matches the netCDF[-Fortran].cmake.in outputs verbatim thus emulating the native netCDF build for additional robustness.

LIST OF MODIFIED FILES:
M CMakeLists.txt
M cmake/modules/FindnetCDF-Fortran.cmake
M cmake/modules/FindnetCDF.cmake
M external/CMakeLists.txt
M external/RSL_LITE/CMakeLists.txt
M external/atm_ocn/CMakeLists.txt
M external/esmf_time_f90/CMakeLists.txt
M external/fftpack/fftpack5/CMakeLists.txt
M external/io_adios2/CMakeLists.txt
M external/io_esmf/CMakeLists.txt
M external/io_grib1/CMakeLists.txt
M external/io_grib1/MEL_grib1/CMakeLists.txt
M external/io_grib1/WGRIB/CMakeLists.txt
M external/io_grib1/grib1_util/CMakeLists.txt
M external/io_grib2/bacio-1.3/CMakeLists.txt
M external/io_grib2/g2lib/CMakeLists.txt
M external/io_grib_share/CMakeLists.txt
M external/io_netcdf/CMakeLists.txt
M external/io_netcdfpar/CMakeLists.txt

RELEASE NOTE:
Restructure netCDF find modules to use modern import target

@islas islas requested review from a team as code owners May 28, 2024 18:24
@islas islas requested review from a team as code owners August 6, 2024 02:31
@islas islas changed the base branch from develop to release-v4.6.1 August 6, 2024 02:41
@islas
Copy link
Collaborator Author

islas commented Aug 6, 2024

Requires #2056 and #2053

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant