From f1061f20717bd1c67ce72c4e297a5c6992d179b1 Mon Sep 17 00:00:00 2001 From: Gerhard Theurich Date: Wed, 15 May 2024 10:49:00 -0700 Subject: [PATCH] Update to the latest version of FindESMF.cmake as per ESMF repo. --- ESMF_HelloWorld_CMake/CMakeLists.txt | 2 +- ESMF_HelloWorld_CMake/cmake/FindESMF.cmake | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ESMF_HelloWorld_CMake/CMakeLists.txt b/ESMF_HelloWorld_CMake/CMakeLists.txt index 0a831e2..0c2b39d 100644 --- a/ESMF_HelloWorld_CMake/CMakeLists.txt +++ b/ESMF_HelloWorld_CMake/CMakeLists.txt @@ -33,4 +33,4 @@ project(ESMF_HelloWorld_CMake add_executable(ESMF_HelloWorld ESMF_HelloWorld.F90) # Executable depends on ESMF -target_link_libraries(ESMF_HelloWorld ESMF) +target_link_libraries(ESMF_HelloWorld ESMF::ESMF) diff --git a/ESMF_HelloWorld_CMake/cmake/FindESMF.cmake b/ESMF_HelloWorld_CMake/cmake/FindESMF.cmake index 1616544..4eb0f6a 100644 --- a/ESMF_HelloWorld_CMake/cmake/FindESMF.cmake +++ b/ESMF_HelloWorld_CMake/cmake/FindESMF.cmake @@ -96,13 +96,22 @@ if(EXISTS ${ESMFMKFILE}) message(WARNING "Static ESMF library (libesmf.a) not found in \ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF") endif() - add_library(ESMF STATIC IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF STATIC IMPORTED) + endif() else() find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH) if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND") message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.") endif() - add_library(ESMF UNKNOWN IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF UNKNOWN IMPORTED) + endif() + endif() + + # Add ESMF as an alias to ESMF::ESMF for backward compatibility + if(NOT TARGET ESMF) + add_library(ESMF ALIAS ESMF::ESMF) endif() # Add ESMF include directories @@ -126,7 +135,7 @@ if(EXISTS ${ESMFMKFILE}) ESMF_F90COMPILEPATHS VERSION_VAR ESMF_VERSION) - set_target_properties(ESMF PROPERTIES + set_target_properties(ESMF::ESMF PROPERTIES IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}" INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}" INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}")