From 37f398126c8d3c728470f99ff3e645e7ff47e4ab Mon Sep 17 00:00:00 2001 From: kvrigor Date: Mon, 1 Dec 2025 09:18:17 +0100 Subject: [PATCH 1/3] Made LAPACK a required dependency --- src/clm5/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/clm5/CMakeLists.txt b/src/clm5/CMakeLists.txt index 0e32f30af5..a2446ece0b 100644 --- a/src/clm5/CMakeLists.txt +++ b/src/clm5/CMakeLists.txt @@ -319,9 +319,9 @@ target_sources(${PROJECT_NAME} utils/spmdMod.F90 ) -find_package(LAPACK) +find_package(LAPACK REQUIRED) if(LAPACK_FOUND) target_link_libraries(${PROJECT_NAME} PRIVATE LAPACK::LAPACK) endif() target_link_libraries(${PROJECT_NAME} PRIVATE csm_share) -install (TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) \ No newline at end of file +install (TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) From ba99946291d846303414a5b75e0cf0856617ee60 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Mon, 1 Dec 2025 10:02:38 +0100 Subject: [PATCH 2/3] Added support for nvfortran --- cmake/SetBuildOptions.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmake/SetBuildOptions.cmake b/cmake/SetBuildOptions.cmake index c6b932369c..0302c44366 100644 --- a/cmake/SetBuildOptions.cmake +++ b/cmake/SetBuildOptions.cmake @@ -44,6 +44,14 @@ elseif(COMPILER STREQUAL "Intel" OR COMPILER STREQUAL "IntelLLVM") set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -fpe0 -check all") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -debug minimal") +elseif(COMPILER STREQUAL "NVHPC") + add_compile_definitions(CPRNVHPC) + set(CMAKE_C_FLAGS "-fPIC") + set(CMAKE_C_FLAGS_DEBUG "-g -O0") + set(CMAKE_C_FLAGS_RELEASE "-Ofast") + set(CMAKE_Fortran_FLAGS "-fPIC") + set(CMAKE_Fortran_FLAGS_DEBUG "-g -O0") + set(CMAKE_Fortran_FLAGS_RELEASE "-Ofast") else() message(FATAL_ERROR "COMPILER='${COMPILER}' is not supported.") endif() @@ -69,4 +77,4 @@ message(STATUS " ******* ${CMAKE_PROJECT_NAME} build options ******* ") message(STATUS " Build type = '${CMAKE_BUILD_TYPE}'") message(STATUS " Compiler = '${COMPILER}'") message(STATUS " Coupling mode = '${COUPLING_MODE}'") -message(STATUS " ********************************** ") \ No newline at end of file +message(STATUS " ********************************** ") From 78bb7482d8ee6ba0e819ec3f0f0d91886a94caaf Mon Sep 17 00:00:00 2001 From: kvrigor Date: Mon, 1 Dec 2025 10:03:19 +0100 Subject: [PATCH 3/3] Disabled LAPACK requirement Making LAPACK required on NVHPC toolchain throws a cmake error: "missing Threads library" --- src/clm5/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clm5/CMakeLists.txt b/src/clm5/CMakeLists.txt index a2446ece0b..2e7cca16ab 100644 --- a/src/clm5/CMakeLists.txt +++ b/src/clm5/CMakeLists.txt @@ -319,7 +319,7 @@ target_sources(${PROJECT_NAME} utils/spmdMod.F90 ) -find_package(LAPACK REQUIRED) +find_package(LAPACK) if(LAPACK_FOUND) target_link_libraries(${PROJECT_NAME} PRIVATE LAPACK::LAPACK) endif()