From d401ae9aaf766a1850ed35c5a26b586cb6290a19 Mon Sep 17 00:00:00 2001 From: Harshula Jayasuriya Date: Fri, 2 Aug 2024 19:45:26 +1000 Subject: [PATCH 1/3] FMS.pc.in: fix syntax --- FMS.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FMS.pc.in b/FMS.pc.in index bc993b574..c9f2a96e5 100644 --- a/FMS.pc.in +++ b/FMS.pc.in @@ -35,7 +35,7 @@ Name: FMS Description: The Flexible Modeling System Infrastructure Library URL: https://www.gfdl.noaa.gov/fms Version: @VERSION@ -Libs: -L$(libdir) -lFMS +Libs: -L${libdir} -lFMS Libs.private: @LIBS@ Cflags: -I${includedir} Fflags: -I${includedir} From 9580f63809a2c3acf8e5d095f87190ce07169425 Mon Sep 17 00:00:00 2001 From: Harshula Jayasuriya Date: Fri, 2 Aug 2024 19:46:33 +1000 Subject: [PATCH 2/3] CMakeLists.txt: generate a pkgconf pc file --- CMakeLists.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 676116f93..4c8357b64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -460,3 +460,26 @@ install(EXPORT FMSExports NAMESPACE FMS:: FILE fms-targets.cmake DESTINATION ${CONFIG_INSTALL_DESTINATION}) + +# pkgconf +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${CMAKE_INSTALL_PREFIX}) +set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) +set(includedir ${CMAKE_INSTALL_PREFIX}/${includeDir}) + +set(CC ${CMAKE_C_COMPILER}) +set(FC ${CMAKE_Fortran_COMPILER}) +set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}") +set(CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${CMAKE_BUILD_TYPE}}") +set(FCFLAGS "${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}") +set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE}}") + +set(VERSION ${PROJECT_VERSION}) +#set(LIBS ?) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FMS.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/FMS.pc @ONLY) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FMS.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + COMPONENT utilities) From a3fdc7fdf7bf1454badf94f3b393eefb8339f359 Mon Sep 17 00:00:00 2001 From: Harshula Jayasuriya Date: Wed, 18 Sep 2024 23:40:25 +1000 Subject: [PATCH 3/3] CMakeLists.txt: Set LIBS when NetCDF is a static library --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c8357b64..aed1a0af8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -475,7 +475,15 @@ set(FCFLAGS "${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}") set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE}}") set(VERSION ${PROJECT_VERSION}) -#set(LIBS ?) + +# TODO: If FMS depends on a library that is built as a static library, it +# should be listed here as an ldflag. +set(LIBS "") + +if(NOT ${NetCDF_Fortran_LIBRARY_SHARED}) + # autotools: Libs.private: -lnetcdff -lnetcdf + string(APPEND LIBS ${NetCDF_Fortran_LIBRARIES}) +endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FMS.pc.in ${CMAKE_CURRENT_BINARY_DIR}/FMS.pc @ONLY)