1 |
cmake_minimum_required(VERSION 3.14) |
cmake_minimum_required(VERSION 3.14) |
2 |
project(LMDZE Fortran) |
project(LMDZE Fortran) |
3 |
|
|
|
find_path(netcdf95_INCLUDE_DIR netcdf95.mod) |
|
|
find_library(netcdf95_LIBRARY netcdf95) |
|
|
|
|
4 |
find_path(netcdff_INCLUDE_DIR netcdf.mod) |
find_path(netcdff_INCLUDE_DIR netcdf.mod) |
5 |
find_library(netcdff_LIBRARY netcdff) |
find_library(netcdff_LIBRARY netcdff) |
6 |
|
|
7 |
find_path(numer_rec_95_INCLUDE_DIR numer_rec_95.mod) |
find_package(NR_util REQUIRED CONFIG) |
8 |
find_library(numer_rec_95_LIBRARY numer_rec_95) |
find_package(Jumble REQUIRED CONFIG) |
9 |
|
find_package(Numer_Rec_95 REQUIRED CONFIG) |
10 |
find_path(jumble_INCLUDE_DIR jumble.mod) |
find_package(NetCDF95 REQUIRED CONFIG) |
|
find_library(jumble_LIBRARY jumble) |
|
|
|
|
|
find_path(nr_util_INCLUDE_DIR nr_util.mod) |
|
|
find_library(nr_util_LIBRARY nr_util) |
|
|
|
|
|
set(library_list ${netcdf95_LIBRARY} ${netcdff_LIBRARY} |
|
|
${NetCDF_LIBRARY} ${numer_rec_95_LIBRARY} ${jumble_LIBRARY} |
|
|
${nr_util_LIBRARY}) |
|
11 |
|
|
12 |
add_library(LMDZE_objects OBJECT dimensions.F90) |
add_library(LMDZE_objects OBJECT dimensions.F90) |
13 |
|
|
14 |
set(CPP_IIM 16 CACHE STRING "iim, number of longitudes") |
set(CPP_IIM 16 CACHE STRING "iim, number of longitudes") |
|
target_compile_definitions(LMDZE_objects PRIVATE CPP_IIM=${CPP_IIM}) |
|
|
message(STATUS "Set iim to ${CPP_IIM}") |
|
|
|
|
15 |
set(CPP_JJM 12 CACHE STRING "jjm, number of latitudes") |
set(CPP_JJM 12 CACHE STRING "jjm, number of latitudes") |
|
target_compile_definitions(LMDZE_objects PRIVATE CPP_JJM=${CPP_JJM}) |
|
|
message(STATUS "Set jjm to ${CPP_JJM}") |
|
|
|
|
16 |
set(CPP_LLM 11 CACHE STRING "llm, number of vertical levels") |
set(CPP_LLM 11 CACHE STRING "llm, number of vertical levels") |
|
target_compile_definitions(LMDZE_objects PRIVATE CPP_LLM=${CPP_LLM}) |
|
|
message(STATUS "Set llm to ${CPP_LLM}") |
|
17 |
|
|
18 |
target_include_directories(LMDZE_objects PRIVATE ${netcdff_INCLUDE_DIR} |
message(STATUS "Set iim to ${CPP_IIM}, jjm to ${CPP_JJM}, llm to ${CPP_LLM}") |
19 |
${netcdf95_INCLUDE_DIR}) |
|
20 |
|
target_compile_definitions(LMDZE_objects PRIVATE CPP_IIM=${CPP_IIM} |
21 |
|
CPP_JJM=${CPP_JJM} CPP_LLM=${CPP_LLM}) |
22 |
|
|
23 |
|
target_include_directories(LMDZE_objects PRIVATE ${netcdff_INCLUDE_DIR}) |
24 |
|
target_link_libraries(LMDZE_objects netcdf95 jumble numer_rec_95) |
25 |
|
|
26 |
foreach(my_dir dyn3d filtrez IOIPSL misc phylmd) |
foreach(my_dir dyn3d filtrez IOIPSL misc phylmd) |
27 |
include(${my_dir}/CMakeLists.txt) |
include(${my_dir}/CMakeLists.txt) |
28 |
endforeach(my_dir) |
endforeach(my_dir) |
29 |
|
|
30 |
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) |
31 |
include(ConfigureCompilerFlags) |
include(ConfigureCompilerFlags) |
32 |
include(TAGS) |
include(TAGS) |