From 579abd47bbdff6d33befae5e473d309a764b0da3 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 16 Mar 2021 07:01:50 -0600 Subject: [PATCH] Add missing OpenMP dependency to ccpp/data/CMakeLists.txt and ccpp/driver/CMakeLists.txt (#258) --- ccpp/data/CMakeLists.txt | 8 ++++++-- ccpp/driver/CMakeLists.txt | 12 ++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ccpp/data/CMakeLists.txt b/ccpp/data/CMakeLists.txt index 71ba6311d..b99455eaf 100644 --- a/ccpp/data/CMakeLists.txt +++ b/ccpp/data/CMakeLists.txt @@ -32,8 +32,12 @@ add_library( CCPP_data.F90 ) -target_link_libraries(ccppdata ccpp) -target_link_libraries(ccppdata ccppphys) +target_link_libraries(ccppdata PUBLIC ccpp) +target_link_libraries(ccppdata PUBLIC ccppphys) + +if(OpenMP_Fortran_FOUND) + target_link_libraries(ccppdata PUBLIC OpenMP::OpenMP_Fortran) +endif() target_include_directories(ccppdata PRIVATE ${CMAKE_BINARY_DIR}/FV3/ccpp/framework/src ${CMAKE_BINARY_DIR}/FV3/ccpp/physics) diff --git a/ccpp/driver/CMakeLists.txt b/ccpp/driver/CMakeLists.txt index 923ef27c6..5fff5a97d 100644 --- a/ccpp/driver/CMakeLists.txt +++ b/ccpp/driver/CMakeLists.txt @@ -38,13 +38,17 @@ add_library( # Compile GFS_diagnostics.F90 without optimization, this leads to out of memory errors on wcoss_dell_p3 set_property(SOURCE GFS_diagnostics.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "-O0") -target_link_libraries(ccppdriver ccpp) -target_link_libraries(ccppdriver ccppphys) -target_link_libraries(ccppdriver ccppdata) +target_link_libraries(ccppdriver PUBLIC ccpp) +target_link_libraries(ccppdriver PUBLIC ccppphys) +target_link_libraries(ccppdriver PUBLIC ccppdata) + +if(OpenMP_Fortran_FOUND) + target_link_libraries(ccppdriver PUBLIC OpenMP::OpenMP_Fortran) +endif() target_include_directories(ccppdriver PRIVATE ${CMAKE_BINARY_DIR}/FV3/ccpp/framework/src ${CMAKE_BINARY_DIR}/FV3/ccpp/physics) set_target_properties(ccppdriver PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_compile_definitions(ccppdata PRIVATE "${_ccppdata_defs_private}") +target_compile_definitions(ccppdriver PRIVATE "${_ccppdriver_defs_private}") target_include_directories(ccppdriver PUBLIC $)