/[lmdze]/trunk/CMakeLists.txt
ViewVC logotype

Diff of /trunk/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 330 by guez, Wed Jul 31 14:55:23 2019 UTC revision 351 by guez, Tue Jan 7 11:59:00 2020 UTC
# Line 1  Line 1 
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)

Legend:
Removed from v.330  
changed lines
  Added in v.351

  ViewVC Help
Powered by ViewVC 1.1.21