CMakeLists.txt 1.11 KB
Newer Older
1
project(dumux-precice CXX)
Kilian Weishaupt's avatar
Kilian Weishaupt committed
2
3
# We require version CMake version 3.1 to prevent issues
# with dune_enable_all_packages and older CMake versions.
4
cmake_minimum_required(VERSION 3.13)
Kilian Weishaupt's avatar
Kilian Weishaupt committed
5

6
7
8
9
10
if(NOT (dune-common_DIR
        OR dune-common_ROOT
        OR "${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*"))
    string(REPLACE  ${CMAKE_PROJECT_NAME}
      dune-common dune-common_DIR
Kilian Weishaupt's avatar
Kilian Weishaupt committed
11
12
13
14
15
      ${PROJECT_BINARY_DIR})
endif()

#find dune-common and set the module path
find_package(dune-common REQUIRED)
16
17
18
# Find preCICE library
find_package(precice 2 REQUIRED CONFIG)

19
20
list(APPEND CMAKE_MODULE_PATH ${dune-common_MODULE_PATH}
  "${PROJECT_SOURCE_DIR}/cmake/modules")
Kilian Weishaupt's avatar
Kilian Weishaupt committed
21
22
23
24
25
26
27
28
#include the dune macros
include(DuneMacros)

# start a dune project with information from dune.module
dune_project()

dune_enable_all_packages()

29
30
31
# enforce C++-17
dune_require_cxx_standard(MODULE "DuMuX-preCICE" VERSION 17)

32
add_subdirectory(cmake/modules)
Kilian Weishaupt's avatar
Kilian Weishaupt committed
33
add_subdirectory(doc)
34
add_subdirectory(dumux-precice)
35
36
add_subdirectory(examples)
add_subdirectory(test EXCLUDE_FROM_ALL)
Kilian Weishaupt's avatar
Kilian Weishaupt committed
37
38
39

# finalize the dune project, e.g. generating config.h etc.
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)