Skip to content

Commit 1affbf1

Browse files
committed
Reduce hardcoded cmake logic linking ATS
Many of the cmake steps to link ATS were hardcoded in cime_config. Much of this has been removed now that these have been moved to find_package(*) in components/cime/build_model.cmake.
1 parent 05e5684 commit 1affbf1

File tree

3 files changed

+11
-52
lines changed

3 files changed

+11
-52
lines changed

cime_config/machines/cmake_macros/universal.cmake

+6-26
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,13 @@ set(CMAKE_CXX_FLAGS_RELEASE "")
2727
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "")
2828
set(CMAKE_Fortran_FORMAT_FREE_FLAG "")
2929

30-
# ATS libraries, previously in userdefined.cmake, but which excluded in cime now.
30+
# RPF/WIP - much of the hardcoded cmake for linking ATS libraries
31+
# has been moved to components/cmake/build_model.cmake, but a few things remain.
3132
set(AMANZI_TPLS_DIR "$ENV{AMANZI_TPLS_DIR}")
3233
set(ATS_DIR "$ENV{ATS_DIR}")
3334
if (COMP_NAME STREQUAL elm)
34-
if (NOT ${AMANZI_TPLS_DIR} STREQUAL "")
35-
36-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/trilinos-15-1-0/include")
37-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/SEACAS/include ")
38-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/petsc-3.20/include -I${AMANZI_TPLS_DIR}/pflotran/src ")
39-
if (NOT ${ATS_DIR} STREQUAL "")
40-
string(APPEND CPPDEFS " -DUSE_ATS_LIB ")
41-
string(APPEND CMAKE_Fortran_FLAGS " -I${ATS_DIR}/include ")
42-
endif()
43-
endif()
44-
endif()
45-
if (COMP_NAME STREQUAL cpl)
46-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -lstdc++")
47-
if (NOT ${AMANZI_TPLS_DIR} STREQUAL "")
48-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/lib")
49-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/trilinos-15-1-0/lib")
50-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/SEACAS/lib ")
51-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/petsc-3.20/lib -L${AMANZI_TPLS_DIR}/pflotran/src ")
52-
if (NOT ${ATS_DIR} STREQUAL "")
53-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${ATS_DIR}/lib -lerror_handling -latk -lfunctions -lgeometry -lgeochemutil -lgeochemsolvers -lgeochembase -lgeochemrxns -lgeochemistry -lmesh -lmesh_simple -lmesh_mstk -lmesh_extracted -lmesh_logical -lmesh_factory -ldbg -lwhetstone -ldata_structures -lmesh_functions -loutput -lstate -lsolvers -ltime_integration -loperators -lpks -lchemistry_pk -ltransport -lshallow_water -lats_operators -lats_eos -lats_surf_subsurf -lats_generic_evals -lats_column_integrator -lats_pks -lats_energy_relations -lats_energy -lats_flow_relations -lats_flow -lats_transport -lats_deform -lats_surface_balance -lats_bgc -lats_mpc_relations -lats_mpc -lats_executable -lelm_ats")
54-
endif()
35+
if (NOT ${ATS_DIR} STREQUAL "")
36+
string(APPEND CPPDEFS " -DUSE_ATS_LIB ")
37+
string(APPEND CMAKE_Fortran_FLAGS " -I${ATS_DIR}/include ")
5538
endif()
56-
endif()
57-
58-
59-
string(APPEND CPPDEFS " -DCPL_BYPASS")
39+
endif()
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,11 @@
11
string(APPEND CONFIG_ARGS " ")
22
string(APPEND CPPDEFS " ")
33

4-
# cime/CIME/case_setup.py Now doesn't include userdefined.cmake anymore
5-
# so the following won't work. Move it to universal.cmake temporarily.
6-
74
set(AMANZI_TPLS_DIR "$ENV{AMANZI_TPLS_DIR}")
85
set(ATS_DIR "$ENV{ATS_DIR}")
96
if (COMP_NAME STREQUAL elm)
10-
if (NOT ${AMANZI_TPLS_DIR} STREQUAL "")
11-
12-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/trilinos-15-1-0/include")
13-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/SEACAS/include ")
14-
string(APPEND CMAKE_Fortran_FLAGS " -I${AMANZI_TPLS_DIR}/petsc-3.20/include -I${AMANZI_TPLS_DIR}/pflotran/src ")
15-
if (NOT ${ATS_DIR} STREQUAL "")
16-
string(APPEND CPPDEFS " -DUSE_ATS_LIB ")
17-
string(APPEND CMAKE_Fortran_FLAGS " -I${ATS_DIR}/include ")
18-
endif()
19-
endif()
20-
endif()
21-
if (COMP_NAME STREQUAL cpl)
22-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -lstdc++")
23-
if (NOT ${AMANZI_TPLS_DIR} STREQUAL "")
24-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/lib")
25-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/trilinos-15-1-0/lib")
26-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/SEACAS/lib ")
27-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${AMANZI_TPLS_DIR}/petsc-3.20/lib -L${AMANZI_TPLS_DIR}/pflotran/src ")
28-
if (NOT ${ATS_DIR} STREQUAL "")
29-
string(APPEND CMAKE_EXE_LINKER_FLAGS " -L${ATS_DIR}/lib -lerror_handling -latk -lfunctions -lgeometry -lgeochemutil -lgeochemsolvers -lgeochembase -lgeochemrxns -lgeochemistry -lmesh -lmesh_simple -lmesh_mstk -lmesh_extracted -lmesh_logical -lmesh_factory -ldbg -lwhetstone -ldata_structures -lmesh_functions -loutput -lstate -lsolvers -ltime_integration -loperators -lpks -lchemistry_pk -ltransport -lshallow_water -lats_operators -lats_eos -lats_surf_subsurf -lats_generic_evals -lats_column_integrator -lats_pks -lats_energy_relations -lats_energy -lats_flow_relations -lats_flow -lats_transport -lats_deform -lats_surface_balance -lats_bgc -lats_mpc_relations -lats_mpc -lats_executable -lelm_ats")
30-
endif()
7+
if (NOT ${ATS_DIR} STREQUAL "")
8+
string(APPEND CPPDEFS " -DUSE_ATS_LIB ")
9+
string(APPEND CMAKE_Fortran_FLAGS " -I${ATS_DIR}/include ")
3110
endif()
3211
endif()

components/cmake/build_model.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,8 @@ macro(build_model COMP_CLASS COMP_NAME)
264264
set(ATS_DIR "$ENV{ATS_DIR}")
265265
if (NOT ATS_DIR STREQUAL "")
266266
set(Amanzi_DIR "${ATS_DIR}/lib")
267-
#find_package(HDF5 REQUIRED)
268-
#find_package(NETCDF REQUIRED)
267+
find_package(HDF5 REQUIRED)
268+
find_package(NETCDF REQUIRED)
269269
find_package(Amanzi REQUIRED)
270270
target_link_libraries(${TARGET_NAME} amanzi_elm_ats)
271271
endif()

0 commit comments

Comments
 (0)