Skip to content

Commit

Permalink
Use the CESMCOUPLE compiler definition throughout the entire code bas…
Browse files Browse the repository at this point in the history
…e. This requires MOM and CICE to use the shared library. CICE now also depends on the CMEPS library.
  • Loading branch information
micaeljtoliveira committed May 16, 2023
1 parent 6046f8a commit ce1c9f5
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 7 deletions.
2 changes: 0 additions & 2 deletions CDEPS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ list(APPEND cdeps_src_files

add_library(cdeps STATIC ${cdeps_src_files})

add_compile_definitions(CESMCOUPLED)

set_target_properties(cdeps PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod)
target_compile_definitions(cdeps PRIVATE "DISABLE_FoX")
target_include_directories(cdeps PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
Expand Down
2 changes: 1 addition & 1 deletion CICE/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ target_compile_options(cice PRIVATE "$<$<AND:$<CONFIG:Debug>,$<COMPILE_LANGUAGE:
target_compile_options(cice PRIVATE "$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:Fortran>>:${fortran_compile_flags_release}>")
target_compile_options(cice PRIVATE "$<$<COMPILE_LANGUAGE:C>:${c_compile_flags}>")
target_compile_options(cice PRIVATE "$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:C>>:${c_compile_flags_release}>")
target_link_libraries(cice PUBLIC esmf)
target_link_libraries(cice PUBLIC share cdeps esmf)

if(CICE_IO MATCHES "^(NetCDF|PIO)$")
target_link_libraries(cice PUBLIC NetCDF::NetCDF_Fortran)
Expand Down
2 changes: 0 additions & 2 deletions CMEPS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ list(APPEND _nuopc_cap_share_files
### Create target library
add_library(cmeps STATIC ${_mediator_files} ${_nuopc_cap_share_files})

add_compile_definitions(CESMCOUPLED)

### Set PUBLIC interfaces on the library
set_target_properties(cmeps PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod)
target_include_directories(cmeps PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
Expand Down
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ message(STATUS "Build options")
message(STATUS " - OPENMP ${OPENMP}")

# Common compiler flags and definitions
add_compile_definitions($<$<CONFIG:Debug>:DEBUG>)
add_compile_definitions(
$<$<CONFIG:Debug>:DEBUG>
CESMCOUPLED
)

if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbacktrace")
Expand Down
3 changes: 2 additions & 1 deletion MOM6/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ target_include_directories(mom6 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_
target_compile_options(mom6 PUBLIC "$<$<COMPILE_LANGUAGE:Fortran>:${fortran_compile_flags}>")
target_compile_options(mom6 PUBLIC "$<$<AND:$<CONFIG:Debug>,$<COMPILE_LANGUAGE:Fortran>>:${fortran_compile_flags_debug}>")
target_compile_options(mom6 PUBLIC "$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:Fortran>>:${fortran_compile_flags_release}>")
target_link_libraries(mom6 PUBLIC FMS::fms_r8
target_link_libraries(mom6 PUBLIC share
FMS::fms_r8
esmf
NetCDF::NetCDF_Fortran)

Expand Down

0 comments on commit ce1c9f5

Please sign in to comment.