From e3f72930bfb7b62b12e10c99b83ce22db38e023a Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 6 Feb 2024 10:44:42 -0500 Subject: [PATCH] Fixes #2469. Convert MAPL to use ESMF::ESMF target --- Apps/CMakeLists.txt | 6 +++--- CHANGELOG.md | 3 +++ CMakeLists.txt | 11 ++++++----- MAPL/CMakeLists.txt | 2 +- MAPL_cfio/CMakeLists.txt | 2 +- Tests/CMakeLists.txt | 6 +++--- base/CMakeLists.txt | 4 ++-- base/tests/CMakeLists.txt | 2 +- benchmarks/io/checkpoint_simulator/CMakeLists.txt | 2 +- cmake/FindESMF.cmake | 5 +++++ components.yaml | 2 +- .../automatic_code_generator_example/CMakeLists.txt | 2 +- .../grid_comps/hello_world_gridcomp/CMakeLists.txt | 2 +- docs/tutorial/grid_comps/leaf_comp_a/CMakeLists.txt | 2 +- docs/tutorial/grid_comps/leaf_comp_b/CMakeLists.txt | 2 +- .../grid_comps/parent_with_no_children/CMakeLists.txt | 2 +- .../grid_comps/parent_with_one_child/CMakeLists.txt | 2 +- .../parent_with_two_children/CMakeLists.txt | 2 +- field_utils/CMakeLists.txt | 4 ++-- generic/CMakeLists.txt | 2 +- gridcomps/Cap/CMakeLists.txt | 2 +- gridcomps/ExtData/CMakeLists.txt | 2 +- gridcomps/ExtData2G/CMakeLists.txt | 2 +- gridcomps/History/CMakeLists.txt | 2 +- gridcomps/Orbit/CMakeLists.txt | 2 +- griddedio/CMakeLists.txt | 2 +- pfunit/CMakeLists.txt | 2 +- 27 files changed, 44 insertions(+), 35 deletions(-) diff --git a/Apps/CMakeLists.txt b/Apps/CMakeLists.txt index 41cd7462a4a7..7c3e9507c814 100644 --- a/Apps/CMakeLists.txt +++ b/Apps/CMakeLists.txt @@ -24,7 +24,7 @@ install( DESTINATION bin/forcing_converter) ecbuild_add_executable (TARGET Regrid_Util.x SOURCES Regrid_Util.F90) -target_link_libraries (Regrid_Util.x PRIVATE MAPL MPI::MPI_Fortran esmf) +target_link_libraries (Regrid_Util.x PRIVATE MAPL MPI::MPI_Fortran ESMF::ESMF) target_include_directories (Regrid_Util.x PRIVATE $) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") @@ -32,7 +32,7 @@ if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") endif () ecbuild_add_executable (TARGET time_ave_util.x SOURCES time_ave_util.F90) -target_link_libraries (time_ave_util.x PRIVATE MAPL MPI::MPI_Fortran esmf) +target_link_libraries (time_ave_util.x PRIVATE MAPL MPI::MPI_Fortran ESMF::ESMF) target_include_directories (time_ave_util.x PRIVATE $) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") @@ -40,7 +40,7 @@ if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") endif () ecbuild_add_executable (TARGET Comp_Testing_Driver.x SOURCES Comp_Testing_Driver.F90) -target_link_libraries (Comp_Testing_Driver.x PRIVATE MAPL MPI::MPI_Fortran esmf) +target_link_libraries (Comp_Testing_Driver.x PRIVATE MAPL MPI::MPI_Fortran ESMF::ESMF) target_include_directories (Comp_Testing_Driver.x PRIVATE $) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") diff --git a/CHANGELOG.md b/CHANGELOG.md index eb184c25e792..55a8e558bd86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 now required), NAG no longer needs this workaround. - Refactor the CircleCI workflows for more flexibility - Fix field utils issue - add npes argument to test subroutine decorators. +- Change MAPL CMake to use `ESMF::ESMF` target instead of `esmf` or `ESMF` as the imported target name + - Updated `FindESMF.cmake` to match that of ESMF `develop` as of commit `da8f410`. This will be in ESMF 8.6.1+ + - Requires ESMA_cmake 3.40.0 or later as this adds the `ESMF::ESMF` target ALIAS for Baselibs and non-Baselibs builds ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index 198d56ba599c..501be67d6dcc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,20 +147,21 @@ if (NOT Baselibs_FOUND) add_definitions(-DH5_HAVE_PARALLEL) endif() - if (NOT TARGET esmf) + if (NOT TARGET ESMF::ESMF) find_package(ESMF 8.6.0 MODULE REQUIRED) # ESMF as used in MAPL requires MPI # NOTE: This looks odd because some versions of FindESMF.cmake out in the # world provide an "esmf" target while others provide "ESMF". So we # need this ugliness to support both. - if (TARGET esmf) - target_link_libraries(esmf INTERFACE MPI::MPI_Fortran) + if (TARGET ESMF::ESMF) + target_link_libraries(ESMF::ESMF INTERFACE MPI::MPI_Fortran) else() - target_link_libraries(ESMF INTERFACE MPI::MPI_Fortran) + target_link_libraries(ESMF::ESMF INTERFACE MPI::MPI_Fortran) # MAPL and GEOS use lowercase target due to historical reasons but # the latest FindESMF.cmake file from ESMF produces an ESMF target. - add_library(esmf ALIAS ESMF) + add_library(ESMF::ESMF ALIAS ESMF) + add_library(ESMF::ESMF ALIAS esmf) endif() endif () else () diff --git a/MAPL/CMakeLists.txt b/MAPL/CMakeLists.txt index 694250dcc33c..edf76dfc0a20 100644 --- a/MAPL/CMakeLists.txt +++ b/MAPL/CMakeLists.txt @@ -4,7 +4,7 @@ esma_set_this() esma_add_library (${this} SRCS MAPL.F90 DEPENDENCIES MAPL.base MAPL.generic MAPL.pfio MAPL_cfio_r4 MAPL.gridcomps MAPL.orbit MAPL.griddedio MAPL.field_utils ${EXTDATA_TARGET} - esmf NetCDF::NetCDF_Fortran MPI::MPI_Fortran + ESMF::ESMF NetCDF::NetCDF_Fortran MPI::MPI_Fortran $<$:FLAP::FLAP> TYPE ${MAPL_LIBRARY_TYPE} ) diff --git a/MAPL_cfio/CMakeLists.txt b/MAPL_cfio/CMakeLists.txt index a7d9c3018538..01ccb4b5e8c2 100644 --- a/MAPL_cfio/CMakeLists.txt +++ b/MAPL_cfio/CMakeLists.txt @@ -44,7 +44,7 @@ endif () esma_add_library (${lib} SRCS ${srcs} - DEPENDENCIES esmf NetCDF::NetCDF_Fortran + DEPENDENCIES ESMF::ESMF NetCDF::NetCDF_Fortran TYPE ${LIBRARY_TYPE} ) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index d427e82a59c0..ebb0dcb2122d 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -11,7 +11,7 @@ set (srcs if (BUILD_WITH_FARGPARSE) ecbuild_add_executable (TARGET ExtDataDriver.x SOURCES ${srcs}) - target_link_libraries (ExtDataDriver.x PRIVATE MAPL FARGPARSE::fargparse esmf) + target_link_libraries (ExtDataDriver.x PRIVATE MAPL FARGPARSE::fargparse ESMF::ESMF) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(ExtDataDriver.x PRIVATE OpenMP::OpenMP_Fortran) @@ -21,14 +21,14 @@ if (BUILD_WITH_FARGPARSE) add_subdirectory(ExtData_Testing_Framework EXCLUDE_FROM_ALL) ecbuild_add_executable (TARGET pfio_MAPL_demo.x SOURCES pfio_MAPL_demo.F90) - target_link_libraries (pfio_MAPL_demo.x PRIVATE MAPL FARGPARSE::fargparse esmf) + target_link_libraries (pfio_MAPL_demo.x PRIVATE MAPL FARGPARSE::fargparse ESMF::ESMF) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(pfio_MAPL_demo.x PRIVATE OpenMP::OpenMP_Fortran) endif () set_target_properties(pfio_MAPL_demo.x PROPERTIES Fortran_MODULE_DIRECTORY ${MODULE_DIRECTORY}) ecbuild_add_executable (TARGET MAPL_demo_fargparse.x SOURCES MAPL_demo_fargparse.F90) - target_link_libraries (MAPL_demo_fargparse.x PRIVATE MAPL FARGPARSE::fargparse esmf) + target_link_libraries (MAPL_demo_fargparse.x PRIVATE MAPL FARGPARSE::fargparse ESMF::ESMF) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(MAPL_demo_fargparse.x PRIVATE OpenMP::OpenMP_Fortran) diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt index 17db0ff4209a..02aa55f6af08 100644 --- a/base/CMakeLists.txt +++ b/base/CMakeLists.txt @@ -69,7 +69,7 @@ esma_add_library( ${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.profiler MAPL.pfio MAPL_cfio_r4 MAPL.field_utils PFLOGGER::pflogger GFTL_SHARED::gftl-shared-v2 GFTL_SHARED::gftl-shared-v1 GFTL::gftl-v2 GFTL::gftl-v1 - esmf NetCDF::NetCDF_Fortran MPI::MPI_Fortran + ESMF::ESMF NetCDF::NetCDF_Fortran MPI::MPI_Fortran TYPE ${MAPL_LIBRARY_TYPE}) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 @@ -90,7 +90,7 @@ foreach(dir ${OSX_EXTRA_LIBRARY_PATH}) target_link_libraries(${this} PUBLIC "-Xlinker -rpath -Xlinker ${dir}") endforeach() -ecbuild_add_executable (TARGET cub2latlon.x SOURCES cub2latlon_regridder.F90 DEPENDS esmf MAPL.shared) +ecbuild_add_executable (TARGET cub2latlon.x SOURCES cub2latlon_regridder.F90 DEPENDS ESMF::ESMF MAPL.shared) target_link_libraries (cub2latlon.x PRIVATE ${this} MAPL.pfio MPI::MPI_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") diff --git a/base/tests/CMakeLists.txt b/base/tests/CMakeLists.txt index 46577909e502..d246076f242f 100644 --- a/base/tests/CMakeLists.txt +++ b/base/tests/CMakeLists.txt @@ -33,7 +33,7 @@ set (SRCS # MAPL_Initialize.F90 # ) #target_link_libraries (base_extras MAPL.shared MAPL.pfunit -# esmf NetCDF::NetCDF_Fortran) +# ESMF::ESMF NetCDF::NetCDF_Fortran) add_pfunit_ctest(MAPL.base.tests TEST_SOURCES ${TEST_SRCS} diff --git a/benchmarks/io/checkpoint_simulator/CMakeLists.txt b/benchmarks/io/checkpoint_simulator/CMakeLists.txt index fedd46d5f3f4..4b08c60fffd6 100644 --- a/benchmarks/io/checkpoint_simulator/CMakeLists.txt +++ b/benchmarks/io/checkpoint_simulator/CMakeLists.txt @@ -6,7 +6,7 @@ ecbuild_add_executable ( SOURCES checkpoint_simulator.F90 DEFINITIONS USE_MPI) -target_link_libraries (${exe} PRIVATE MAPL.shared MPI::MPI_Fortran FARGPARSE::fargparse esmf ) +target_link_libraries (${exe} PRIVATE MAPL.shared MPI::MPI_Fortran FARGPARSE::fargparse ESMF::ESMF ) target_include_directories (${exe} PUBLIC $) set_target_properties (${exe} PROPERTIES Fortran_MODULE_DIRECTORY ${MODULE_DIRECTORY}) diff --git a/cmake/FindESMF.cmake b/cmake/FindESMF.cmake index 23efbb31d078..eabba677d3b6 100644 --- a/cmake/FindESMF.cmake +++ b/cmake/FindESMF.cmake @@ -109,6 +109,11 @@ if(EXISTS ${ESMFMKFILE}) endif() endif() + # Add target alias to facilitate unambiguous linking + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF ALIAS ESMF) + endif() + # Add ESMF include directories set(ESMF_INCLUDE_DIRECTORIES "") separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS}) diff --git a/components.yaml b/components.yaml index fd6df1677150..4c63d816dee8 100644 --- a/components.yaml +++ b/components.yaml @@ -11,7 +11,7 @@ ESMA_env: ESMA_cmake: local: ./ESMA_cmake remote: ../ESMA_cmake.git - tag: v3.37.0 + tag: v3.40.0 develop: develop ecbuild: diff --git a/docs/tutorial/grid_comps/automatic_code_generator_example/CMakeLists.txt b/docs/tutorial/grid_comps/automatic_code_generator_example/CMakeLists.txt index 4ae20760f332..8422b3a79540 100644 --- a/docs/tutorial/grid_comps/automatic_code_generator_example/CMakeLists.txt +++ b/docs/tutorial/grid_comps/automatic_code_generator_example/CMakeLists.txt @@ -6,7 +6,7 @@ set (srcs esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) diff --git a/docs/tutorial/grid_comps/hello_world_gridcomp/CMakeLists.txt b/docs/tutorial/grid_comps/hello_world_gridcomp/CMakeLists.txt index cc348414e1aa..0e74c76742a1 100644 --- a/docs/tutorial/grid_comps/hello_world_gridcomp/CMakeLists.txt +++ b/docs/tutorial/grid_comps/hello_world_gridcomp/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/docs/tutorial/grid_comps/leaf_comp_a/CMakeLists.txt b/docs/tutorial/grid_comps/leaf_comp_a/CMakeLists.txt index 1dfc4cd25bae..d912da16f28d 100644 --- a/docs/tutorial/grid_comps/leaf_comp_a/CMakeLists.txt +++ b/docs/tutorial/grid_comps/leaf_comp_a/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/docs/tutorial/grid_comps/leaf_comp_b/CMakeLists.txt b/docs/tutorial/grid_comps/leaf_comp_b/CMakeLists.txt index ec9acc547f90..e2ae84142283 100644 --- a/docs/tutorial/grid_comps/leaf_comp_b/CMakeLists.txt +++ b/docs/tutorial/grid_comps/leaf_comp_b/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/docs/tutorial/grid_comps/parent_with_no_children/CMakeLists.txt b/docs/tutorial/grid_comps/parent_with_no_children/CMakeLists.txt index c8e06933c33b..c9c4299b76bd 100644 --- a/docs/tutorial/grid_comps/parent_with_no_children/CMakeLists.txt +++ b/docs/tutorial/grid_comps/parent_with_no_children/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/docs/tutorial/grid_comps/parent_with_one_child/CMakeLists.txt b/docs/tutorial/grid_comps/parent_with_one_child/CMakeLists.txt index 4274f2448dc0..b5da305f8e82 100644 --- a/docs/tutorial/grid_comps/parent_with_one_child/CMakeLists.txt +++ b/docs/tutorial/grid_comps/parent_with_one_child/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/docs/tutorial/grid_comps/parent_with_two_children/CMakeLists.txt b/docs/tutorial/grid_comps/parent_with_two_children/CMakeLists.txt index d3f0ea92b3c7..66b39a86a6b3 100644 --- a/docs/tutorial/grid_comps/parent_with_two_children/CMakeLists.txt +++ b/docs/tutorial/grid_comps/parent_with_two_children/CMakeLists.txt @@ -7,7 +7,7 @@ esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL TYPE ${MAPL if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -target_link_libraries(${this} PRIVATE esmf) +target_link_libraries(${this} PRIVATE ESMF::ESMF) target_include_directories (${this} PUBLIC $) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}}) #target_compile_definitions(${this} PRIVATE SYSTEM_DSO_SUFFIX="${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/field_utils/CMakeLists.txt b/field_utils/CMakeLists.txt index 68381a757c12..136d8cdb2dd0 100644 --- a/field_utils/CMakeLists.txt +++ b/field_utils/CMakeLists.txt @@ -30,8 +30,8 @@ esma_add_library(${this} target_include_directories (${this} PUBLIC $) -#target_link_libraries (${this} PUBLIC esmf NetCDF::NetCDF_Fortran) -target_link_libraries (${this} PUBLIC esmf) +#target_link_libraries (${this} PUBLIC ESMF::ESMF NetCDF::NetCDF_Fortran) +target_link_libraries (${this} PUBLIC ESMF::ESMF) if (PFUNIT_FOUND) # Turning off until test with GNU can be fixed diff --git a/generic/CMakeLists.txt b/generic/CMakeLists.txt index 901ec303d3ff..06b6468771dc 100644 --- a/generic/CMakeLists.txt +++ b/generic/CMakeLists.txt @@ -69,7 +69,7 @@ esma_add_library(${this} ) target_include_directories (${this} PUBLIC $) -target_link_libraries (${this} PUBLIC esmf NetCDF::NetCDF_Fortran) +target_link_libraries (${this} PUBLIC ESMF::ESMF NetCDF::NetCDF_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") diff --git a/gridcomps/Cap/CMakeLists.txt b/gridcomps/Cap/CMakeLists.txt index c6136b4f63e3..20b70e3953fd 100644 --- a/gridcomps/Cap/CMakeLists.txt +++ b/gridcomps/Cap/CMakeLists.txt @@ -16,7 +16,7 @@ endif() esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.base MAPL.profiler MAPL.history MAPL.ExtData ${EXTDATA2G_TARGET} TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran $<$:FLAP::FLAP> $<$:FARGPARSE::fargparse>) diff --git a/gridcomps/ExtData/CMakeLists.txt b/gridcomps/ExtData/CMakeLists.txt index f48868e1fe4f..51ccf7a3a3be 100644 --- a/gridcomps/ExtData/CMakeLists.txt +++ b/gridcomps/ExtData/CMakeLists.txt @@ -8,7 +8,7 @@ set (srcs esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.base MAPL.generic MAPL.pfio MAPL.griddedio MAPL_cfio_r4 TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 diff --git a/gridcomps/ExtData2G/CMakeLists.txt b/gridcomps/ExtData2G/CMakeLists.txt index 97d1e5d41c92..52f6507fe5ae 100644 --- a/gridcomps/ExtData2G/CMakeLists.txt +++ b/gridcomps/ExtData2G/CMakeLists.txt @@ -24,7 +24,7 @@ set (srcs esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.base MAPL.generic MAPL.griddedio TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran) target_include_directories (${this} PUBLIC $) diff --git a/gridcomps/History/CMakeLists.txt b/gridcomps/History/CMakeLists.txt index 25ba48139cfe..269ae7317758 100644 --- a/gridcomps/History/CMakeLists.txt +++ b/gridcomps/History/CMakeLists.txt @@ -11,7 +11,7 @@ set (srcs esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.base MAPL.generic MAPL.profiler MAPL.griddedio TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 diff --git a/gridcomps/Orbit/CMakeLists.txt b/gridcomps/Orbit/CMakeLists.txt index b33c4f37778b..ed51cb1e23cb 100644 --- a/gridcomps/Orbit/CMakeLists.txt +++ b/gridcomps/Orbit/CMakeLists.txt @@ -5,7 +5,7 @@ set (srcs ) esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.base MAPL.generic TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 diff --git a/griddedio/CMakeLists.txt b/griddedio/CMakeLists.txt index 1721226ab822..db7322918aef 100644 --- a/griddedio/CMakeLists.txt +++ b/griddedio/CMakeLists.txt @@ -12,7 +12,7 @@ set (srcs esma_add_library (${this} SRCS ${srcs} DEPENDENCIES MAPL.shared MAPL.constants MAPL.base MAPL.pfio MAPL_cfio_r4 TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared esmf NetCDF::NetCDF_Fortran +target_link_libraries (${this} PUBLIC GFTL::gftl GFTL_SHARED::gftl-shared ESMF::ESMF NetCDF::NetCDF_Fortran PRIVATE MPI::MPI_Fortran) # CMake has an OpenMP issue with NAG Fortran: https://gitlab.kitware.com/cmake/cmake/-/issues/21280 diff --git a/pfunit/CMakeLists.txt b/pfunit/CMakeLists.txt index 2cb3a2a44654..51d6682aa6f5 100644 --- a/pfunit/CMakeLists.txt +++ b/pfunit/CMakeLists.txt @@ -10,5 +10,5 @@ set (srcs esma_add_library (${this} EXCLUDE_FROM_ALL SRCS ${srcs} NOINSTALL TYPE ${MAPL_LIBRARY_TYPE}) -target_link_libraries (${this} MAPL.shared PFUNIT::pfunit esmf NetCDF::NetCDF_Fortran) +target_link_libraries (${this} MAPL.shared PFUNIT::pfunit ESMF::ESMF NetCDF::NetCDF_Fortran) set_target_properties (${this} PROPERTIES Fortran_MODULE_DIRECTORY ${include_${this}})