1 |
cmake_minimum_required(VERSION 3.14) |
2 |
project(LMDZE Fortran) |
3 |
|
4 |
find_path(netcdff_INCLUDE_DIR netcdf.mod) |
5 |
find_library(netcdff_LIBRARY netcdff) |
6 |
|
7 |
find_package(NR_util REQUIRED CONFIG) |
8 |
find_package(Jumble REQUIRED CONFIG) |
9 |
find_package(Numer_Rec_95 REQUIRED CONFIG) |
10 |
find_package(NetCDF95 REQUIRED CONFIG) |
11 |
|
12 |
add_library(LMDZE_objects OBJECT dimensions.F90) |
13 |
|
14 |
set(CPP_IIM 16 CACHE STRING "iim, number of longitudes") |
15 |
set(CPP_JJM 12 CACHE STRING "jjm, number of latitudes") |
16 |
set(CPP_LLM 11 CACHE STRING "llm, number of vertical levels") |
17 |
|
18 |
message(STATUS "Set iim to ${CPP_IIM}, jjm to ${CPP_JJM}, llm to ${CPP_LLM}") |
19 |
|
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) |
27 |
include(${my_dir}/CMakeLists.txt) |
28 |
endforeach(my_dir) |
29 |
|
30 |
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) |
31 |
include(ConfigureCompilerFlags) |
32 |
include(TAGS) |