-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
101 lines (91 loc) · 2.77 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
cmake_minimum_required(VERSION 3.9)
set(CLM_LIB clm)
project(${CLM_LIB} LANGUAGES Fortran)
option(UNSTRUCTURED_HOST "ON/OFF builds CLM library for unstructured/structured host driver [ON]" ON)
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
message(STATUS "Setting CLM installation prefix as: ${CMAKE_SOURCE_DIR}" )
set (CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}" CACHE PATH "default install path" FORCE )
else()
message(STATUS "Installing CLM in provided installation prefix: ${CMAKE_INSTALL_PREFIX}" )
endif()
if (UNSTRUCTURED_HOST)
message(STATUS "Configuring CLM library for use with unstructured host driver")
set(HOST_SOURCE clm_host_unstructured)
else()
message(STATUS "Configuring CLM library for use with unstructured host driver")
set(HOST_SOURCE clm_host_structured)
endif()
if (BUILD_SHARED_LIBS)
message(STATUS "Building CLM as a shared library" )
else()
message(STATUS "Building CLM as a static library" )
endif()
set( CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/include )
set (SRC_FILES
src/utils/clm_precision.F90
src/utils/clm_infnan.F90
src/utils/clm_abort.F90
src/utils/clm_io_config.F90
src/clm1d/clm1d_varpar.F90
src/clm1d/clm1d_varcon.F90
src/clm1d/clm1d_type.F90
src/clm1d/clm1d_typini.F90
src/clm1d/clm1d_balchk.F90
src/clm1d/clm1d_lake.F90
src/clm1d/clm1d_subdiv.F90
src/clm1d/clm1d_combin.F90
src/clm1d/clm1d_leaftem.F90
src/clm1d/clm1d_surfalb.F90
src/clm1d/clm1d_combo.F90
src/clm1d/clm1d_main.F90
src/clm1d/clm1d_surfrad.F90
src/clm1d/clm1d_compact.F90
src/clm1d/clm1d_meltfreeze.F90
src/clm1d/clm1d_thermal.F90
src/clm1d/clm1d_condch.F90
src/clm1d/clm1d_obuini.F90
src/clm1d/clm1d_thermalk.F90
src/clm1d/clm1d_condcq.F90
src/clm1d/clm1d_obult.F90
src/clm1d/clm1d_coszen.F90
src/clm1d/clm1d_psi.F90
src/clm1d/clm1d_tridia.F90
src/clm1d/clm1d_dynvegpar.F90
src/clm1d/clm1d_qsadv.F90
src/clm1d/clm1d_twostream.F90
src/clm1d/clm1d_hydro_canopy.F90
src/clm1d/clm1d_snowage.F90
src/clm1d/clm1d_hydro_irrig.F90
src/clm1d/clm1d_snowalb.F90
src/clm1d/clm1d_hydro_snow.F90
src/clm1d/clm1d_soilalb.F90
src/clm1d/clm1d_hydro_soil.F90
src/clm1d/clm1d_hydro_wetice.F90
src/clm1d/clm1d_stomata.F90
src/drv/grid_type.F90
src/drv/tile_type.F90
src/drv/io_type.F90
src/drv/drv_type.F90
src/drv/drv_almaout.F90
src/drv/drv_g2clm.F90
src/drv/drv_readclmin.F90
src/drv/drv_t2g.F90
src/drv/drv_astp.F90
src/drv/drv_getforce.F90
src/drv/drv_readvegpf.F90
src/drv/drv_tick.F90
src/drv/drv_1dout.F90
src/drv/drv_clm2g.F90
src/drv/drv_gridave.F90
src/drv/drv_g2tile.F90
src/drv/drv_2dout.F90
src/drv/drv_clmini.F90
src/drv/drv_pout.F90
src/drv/drv_restart.F90
src/${HOST_SOURCE}.F90
src/clm_type.F90
src/clm_host_transfer.F90
)
include_directories(${CMAKE_Fortran_MODULE_DIRECTORY})
add_library(${CLM_LIB} ${SRC_FILES})
install (TARGETS ${CLM_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )