4
set(DUNE_GRID_EXTRA_UTILS "" CACHE BOOL
5
"Enable compilation and installation of extra utilities from the \"src\" subdirectory.")
8
include(AddALUGridFlags)
10
include(AddAlbertaFlags)
13
include(AddGrapeFlags)
14
find_package(Psurface)
15
include(AddPsurfaceFlags)
16
find_package(AmiraMesh)
17
include(AddAmiraMeshFlags)
18
include(CheckExperimentalGridExtensions)
20
set(DEFAULT_DGF_GRIDDIM 1)
21
set(DEFAULT_DGF_WORLDDIM 1)
22
set(DEFAULT_DGF_GRIDTYPE ONEDGRID)
23
set(DGF_GRIDTYPES ONEDGRID ALUGRID_CONFORM ALUGRID_SIMPLEX ALBERTAGRID SGRID GEOGRID UGGRID)
25
dune_define_gridtype(GRID_CONFIG_H_BOTTOM GRIDTYPE ONEDGRID
26
ASSERTION "(GRIDDIM == 1) && (WORLDDIM == 1)"
27
DUNETYPE "Dune::OneDGrid"
28
HEADERS "dune/grid/onedgrid.hh" "dune/grid/io/file/dgfparser/dgfoned.hh")
30
dune_define_gridtype(GRID_CONFIG_H_BOTTOM GRIDTYPE SGRID
31
DUNETYPE "Dune::SGrid< dimgrid, dimworld >"
32
HEADERS "dune/grid/sgrid.hh" "dune/grid/io/file/dgfparser/dgfs.hh")
34
dune_define_gridtype(GRID_CONFIG_H_BOTTOM GRIDTYPE YASPGRID
35
ASSERTION "GRIDDIM == WORLDDIM"
36
DUNETYPE "Dune::YaspGrid< dimgrid >"
37
HEADERS "dune/grid/yaspgrid.hh" "dune/grid/io/file/dgfparser/dgfyasp.hh")
39
macro(add_dgf_flags target)
40
cmake_parse_arguments(DGF "" "GRIDDIM;WORLDDIM;GRIDTYPE" "" ${ARGN})
42
set(DGF_GRIDDIM ${DEFAULT_DGF_GRIDDIM})
43
endif(NOT DGF_GRIDDIM)
45
set(DGF_WORLDDIM ${DEFAULT_DGF_WORLDDIM})
46
endif(NOT DGF_WORLDDIM)
48
set(DGF_GRIDTYPE ${DEFAULT_DGF_GRIDTYPE})
49
endif(NOT DGF_GRIDTYPE)
51
set(replace_args "GRIDDIM.*" "GRIDDIM=${DGF_GRIDDIM}"
52
"WORLDDIM.*" "WORLDDIM=${DGF_WORLDDIM}")
53
foreach(grid ${DGF_GRIDTYPES})
54
list(APPEND replace_args ${grid} ${DGF_GRIDTYPE})
55
endforeach(grid ${DGF_GRIDTYPES})
56
replace_properties(TARGET ${target}
57
PROPERTY COMPILE_DEFINITIONS
59
endmacro(add_dgf_flags target)
61
macro(add_dgf_executable target)
62
cmake_parse_arguments(DGF "" "GRIDDIM;WORLDDIM;GRIDTYPE" "" ${ARGN})
63
add_executable(${target} ${DGF_UNPARSED_ARGUMENTS})
64
add_dgf_flags(${target} ${ARGN})
65
endmacro(add_dgf_executable target)