forked from esmf-org/nuopc-app-prototypes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
51 lines (44 loc) · 1.44 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
cmake_minimum_required (VERSION 3.17)
cmake_policy (SET CMP0053 NEW)
cmake_policy (SET CMP0054 NEW)
project (
NUOPC_EXAMPLES
VERSION 1.0.0
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF
# Set the default build type to release
if (NOT CMAKE_BUILD_TYPE)
message (STATUS "Setting build type to 'Release' as none was specified.")
set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "Aggressive")
endif ()
# mepo can now clone subrepos in three styles
set (ESMA_CMAKE_DIRS
ESMA_cmake
@ESMA_cmake
ESMA_cmake@
)
foreach (dir IN LISTS ESMA_CMAKE_DIRS)
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${dir})
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/${dir}")
include (esma)
set(NUOPC_EXAMPLE_STANDALONE TRUE)
endif ()
endforeach ()
# build as standalone project
if (NOT COMMAND esma)
include (esma OPTIONAL)
endif ()
ecbuild_declare_project()
add_subdirectory(HierarchyProto)
add_subdirectory(DeepHierarchyProto)
add_subdirectory(SinglePetHierarchy)
add_subdirectory(error_handling)
add_subdirectory(mapl_reimplementation)
add_subdirectory(DeepHierarchy_SharedPointer_Proto)
add_subdirectory(atmhierarchy)
add_subdirectory(atmhierarchy_flat)
add_subdirectory(atmhierarchy_bypass_driver)
add_subdirectory(atmhierarchy_e2e_i2i)
add_subdirectory(model_components)