Skip to content

Commit 4eadbc0

Browse files
committed
first upload
0 parents  commit 4eadbc0

660 files changed

Lines changed: 67606 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
cmake_minimum_required(VERSION 2.8.12)
2+
project(dune-PFASST CXX)
3+
4+
if(NOT (dune-common_DIR OR dune-common_ROOT OR
5+
"${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*"))
6+
string(REPLACE ${CMAKE_PROJECT_NAME} dune-common dune-common_DIR
7+
${PROJECT_BINARY_DIR})
8+
endif()
9+
10+
#find dune-common and set the module path
11+
find_package(dune-common REQUIRED)
12+
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules"
13+
${dune-common_MODULE_PATH})
14+
15+
#include the dune macros
16+
include(DuneMacros)
17+
18+
#dune-PFASST needs an installation of PFASST++
19+
#set installation path with cmake -Dpfasst_include=...
20+
SET(pfasst_include="/home/zam/ruth/software_engineering/PFASST/include" CACHE STRING "PFASST_DIR")#change default directory to /usr/include before push
21+
include_directories(${pfasst_include})
22+
MESSAGE( STATUS "include directory of PFASST++ library is set to " ${pfasst_include} )
23+
24+
SET(eigen_include="/home/zam/ruth/software_engineering/eigen-eigen-69d418c06999" CACHE STRING "PFASST_DIR") #change default directory to /usr/include before push
25+
include_directories(${eigen_include})
26+
MESSAGE( STATUS "include directory of eigen3 library is set to " ${eigen_include} )
27+
28+
# start a dune project with information from dune.module
29+
dune_project()
30+
dune_enable_all_packages()
31+
add_subdirectory("src")
32+
add_subdirectory("dune")
33+
add_subdirectory("doc")
34+
add_subdirectory("cmake/modules")
35+
36+
# finalize the dune project, e.g. generating config.h etc.
37+
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)

README

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
Preparing the Sources
2+
=========================
3+
4+
Additional to the software mentioned in README you'll need the
5+
following programs installed on your system:
6+
7+
cmake >= 2.8.12
8+
9+
Getting started
10+
---------------
11+
12+
If these preliminaries are met, you should run
13+
14+
dunecontrol all
15+
16+
which will find all installed dune modules as well as all dune modules
17+
(not installed) which sources reside in a subdirectory of the current
18+
directory. Note that if dune is not installed properly you will either
19+
have to add the directory where the dunecontrol script resides (probably
20+
./dune-common/bin) to your path or specify the relative path of the script.
21+
22+
Most probably you'll have to provide additional information to dunecontrol
23+
(e. g. compilers, configure options) and/or make options.
24+
25+
The most convenient way is to use options files in this case. The files
26+
define four variables:
27+
28+
CMAKE_FLAGS flags passed to cmake (during configure)
29+
MAKE_FLAGS flags passed to make
30+
31+
An example options file might look like this:
32+
33+
#use this options to autogen, configure and make if no other options are given
34+
CMAKE_FLAGS=" \
35+
-DCMAKE_CXX_COMPILER=g++-4.9 \
36+
-DCMAKE_CXX_FLAGS='-Wall -pedantic' \
37+
-DCMAKE_INSTALL_PREFIX=/install/path" #Force g++-4.9 and set compiler flags
38+
MAKE_FLAGS=install #Per default run make install instead of simply make
39+
40+
If you save this information into example.opts you can pass the opts file to
41+
dunecontrol via the --opts option, e. g.
42+
43+
dunecontrol --opts=example.opts all
44+
45+
More info
46+
---------
47+
48+
See
49+
50+
dunecontrol --help
51+
52+
for further options.
53+
54+
55+
The full build-system is described in the dune-common/doc/buildsystem (Git version) or under share/doc/dune-common/buildsystem if you installed DUNE!

0 commit comments

Comments
 (0)