Commit Graph

3722 Commits

Author SHA1 Message Date
Andreas Lauser
6eb962fa10 FindALUGrid.cmake: incorperate Roland's comments to PR 317 2013-08-15 12:41:50 +02:00
Roland Kaufmann
d15e657cac Search for directory containing build scripts
Currently only the source tree is "searched", but the template could
be expanded to look in another/more locations (or be specified
explicitly on the command-line with a --with-opm-macros= option)
2013-08-15 09:50:26 +02:00
Roland Kaufmann
f3d1f6ab11 Allow source location to be overridden
By default the configure script assumes that the source is located
relative to the script itself. By allowing this to be overridden, the
script can be shared by other projects, each passing their own location
as an extra parameter.
2013-08-15 00:03:21 +02:00
Roland Kaufmann
e14cb185ad Add a small bootstrapper to locate build system
Currently this bootstrapper only finds the macros that are located
in the cmake/ tree in this project. Projects that don't carry their
own build system can specify search locations here.
2013-08-15 00:03:17 +02:00
Roland Kaufmann
3df0f06f45 Use OPM_MACROS_ROOT to locate build scripts
By using a separate variable for this we can easily grep for where
the build system depends on its own location, and also change the
policy regarding this later.

Note that there is no opm-macros module; this is a "psuedo"-module
which links to an additional one (currently, the one we're in)
2013-08-14 21:26:28 +02:00
Roland Kaufmann
1922201a31 Show how to install CMake macros together with code
Currently this is disabled because no other project needs them (they
have their own copy in the source tree)
2013-08-14 21:19:41 +02:00
Roland Kaufmann
1e46bdaaa8 Allow adding project-specific install targets
If a project needs to install something that is very specific and not
in the general build, it can use this hook to setup additional targets.
2013-08-14 21:16:55 +02:00
Andreas Lauser
c928891e8e tweak the configure script
we should recognize the --with-{alugrid,metis} options...
2013-08-14 20:51:36 +02:00
Andreas Lauser
5d1353901e make the FindALUGrid module compatible with the OPM build system 2013-08-14 20:51:22 +02:00
Andreas Lauser
55786cd290 add cmake module to detect ewoms 2013-08-14 20:51:22 +02:00
Andreas Lauser
d57f97b78d Add HAVE_CXA_DEMANGE config.h variable to Finddune-common.cmake
This will make Dune::classname usable on Dune master. (the 2.2 release
should be fine even without it.)
2013-08-14 20:51:22 +02:00
Andreas Lauser
8c2d544581 Finddune-grid.cmake: test for ALUGrid and METIS
ALUGrid is needed to avoid unresolved symbols if dune-grid was
compiled with it. METIS is used by the parallel version of
ALUGrid. (Although it is not open source...)
2013-08-14 20:51:22 +02:00
Andreas Lauser
845bac2c7d add cmake modules to find ALUGrid and METIS 2013-08-14 20:51:22 +02:00
Andreas Lauser
982344c1a2 CMake: add module for dune-localfunctions 2013-08-14 20:51:22 +02:00
Roland Kaufmann
8e4225fbb9 Add defines that are used in compilation modules
This define is used in a opm/*.c* file, but only there, and should
therefore be in config.h, but not added to the list that only clients
must also provide.
2013-08-14 20:49:52 +02:00
Roland Kaufmann
0ace127e8c Trim unnecessarily required config vars
The modules declare which configuration variables they need to have
present in config.h, not only their own but also defined in projects
using them.

However, a lot of these variables are not actually used in the headers!

This changeset removes all HAVE_XXX variables which is not present in
any opm/*.h* file in these projects, and thus there is no need for the
client to specify.

Note that only the variables used by the module *itself* should be
listed; the build system will setup the complete list from the
prerequisites.
2013-08-14 20:40:22 +02:00
Roland Kaufmann
ea1afba738 Put HAVE_DYNAMIC_BOOST_TEST in config.h for tests only
This define is used by the unit tests; there is no reason why it should
be on the list that must be provided by other projects that use our
headers (the other projects don't use our tests).
2013-08-14 20:28:16 +02:00
Bård Skaflestad
d6973afba2 Merge remote-tracking branch 'upstream/master' 2013-08-14 14:32:07 +02:00
Bård Skaflestad
65e0b36724 Merge pull request #318 from rolk/318_gridver
Publicly depend on version of dune-grid
2013-08-14 05:30:45 -07:00
Roland Kaufmann
1e8aecf36c Publicly depend on version of dune-grid
The interface of the class PersistentContainer changed between DUNE
2.2 and DUNE 2.3 in an incompatible way, so we need to present
different versions of the class depending on the version of DUNE linked
with. This changeset adds the version variables for dune-grid to the
list of publicly necessary #defines that must go into using
dune-cornerpoint.

Notice that this will cause the definition of DUNE_GRID_VERSION_XXX
to be added to the flags list of dune-cornerpoint. This can be seen as
either a bug or a feature. If you try to link first dune-cornerpoint to
one version and then to another version of DUNE later, there is a very
good chance that you'll end up with problems anyway.
2013-08-14 13:37:37 +02:00
Bård Skaflestad
db73402a9c Merge remote-tracking branch 'upstream/master' 2013-08-14 10:42:33 +02:00
Bård Skaflestad
9b313c2d2e Merge pull request #314 from rolk/314_agmg
Remove support for AGMG
2013-08-14 01:40:39 -07:00
Roland Kaufmann
e4cc0c7c8e Remove support for AGMG from the build system
AGMG is now under a closed-source license, meaning that results
obtained with this solver is not freely reproducible by others.
Its use is therefore discouraged.

As of version 2.3, the DUNE AMG parts are competitive, so there
is a free and open alternative.
2013-08-14 09:07:01 +02:00
Roland Kaufmann
ada41cc792 Remove bindings to AGMG from library
AGMG is now under a closed-source license, meaning that results
obtained with this solver is not freely reproducible by others.
Its use is therefore discouraged.

As of version 2.3, the DUNE AMG parts are competitive, so there
is a free and open alternative.
2013-08-13 23:25:04 +02:00
Bård Skaflestad
2163461e83 Merge remote-tracking branch 'upstream/master' 2013-08-13 23:19:02 +02:00
Bård Skaflestad
c50b62fe5a Merge pull request #308 from rolk/308_agmg
Resurrect support for AGMG library

This is an interim milestone that may serve as point from which to 
resurrect the AGMG suppert fully if the AGMG author ever decides to 
re-release the software under an open licence.
2013-08-13 14:17:38 -07:00
Bård Skaflestad
52052b172b Merge remote-tracking branch 'upstream/master' 2013-08-13 21:34:13 +02:00
Roland Kaufmann
00f2092df2 Merge pull request #315 from andlaus/checks_for_quadmath_and_valgrind
add and use CMake modules for valgrind client requests and quadruple precision math
2013-08-13 12:23:47 -07:00
Andreas Lauser
ec202f2ba0 make the build system link to the "quadmath" library if it is supported
Thanks a lot to Roland Kaufmann for the support.
2013-08-13 21:02:52 +02:00
Andreas Lauser
3a94812c62 add a cmake check for the abi::__cxa_demangle() function
this was also forgotten. sorry...
2013-08-13 21:02:52 +02:00
Andreas Lauser
054c353606 add test for <type_traits> to FindCXX11Features.cmake
I fogot this one yesterday...
2013-08-13 21:02:52 +02:00
Andreas Lauser
41b7b316f7 add and use CMake modules for valgrind client requests and quadruple precision math 2013-08-13 21:00:18 +02:00
Bård Skaflestad
49c38590da Merge remote-tracking branch 'upstream/master' 2013-08-13 10:23:01 +02:00
Bård Skaflestad
d13054e4e2 Merge pull request #313 from andlaus/use_std_shared_ptr
Use std shared ptr
2013-08-13 01:22:34 -07:00
Bård Skaflestad
a73dd15003 Merge remote-tracking branch 'upstream/master' 2013-08-12 10:55:23 +02:00
Bård Skaflestad
876fa56489 Merge pull request #316 from rolk/316_material
OPM Porsol now depends on OPM Material
2013-08-12 01:54:44 -07:00
Roland Kaufmann
771fdbc3a9 OPM Porsol now depends on OPM Material
In the new build scheme, the prerequisites of each module is declared
in this file as the canonical version, and everything else includes it.
2013-08-09 22:15:19 +02:00
Andreas Lauser
bd094b2e11 replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Andreas Lauser
cab7125da3 also test for std::unique_ptr 2013-08-08 15:21:13 +02:00
Andreas Lauser
6722ca33f5 add a few config.h macros useful for dune-common 2013-08-08 13:40:42 +02:00
Andreas Lauser
70949c6edb use std::shared_ptr instead of boost::shared_ptr
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00
Andreas Lauser
b0349793fa detect the presence of std::shared_ptr
since GCC 4.4 supports it, make it mandatory as well...
2013-08-08 13:25:58 +02:00
Bård Skaflestad
b2704c007c Merge remote-tracking branch 'upstream/master' 2013-08-08 13:11:25 +02:00
Bård Skaflestad
ca44960c5e Merge pull request #298 from rolk/298_dunever
Make version numbers for DUNE prerequisites available
2013-08-08 04:10:25 -07:00
Bård Skaflestad
bbfa910773 Merge remote-tracking branch 'upstream/master' 2013-08-08 10:23:04 +02:00
Bård Skaflestad
65dc3224b0 Merge pull request #312 from rolk/312_nolib
Allow several options to be used even if we don't have a library
2013-08-08 01:22:16 -07:00
Roland Kaufmann
262b0f7619 Only configure libtool for libraries that exist 2013-08-08 10:09:08 +02:00
Roland Kaufmann
6149756f3c Only build before library target if there is any 2013-08-08 10:09:08 +02:00
Roland Kaufmann
83becba87b Allow PCH option to be on even if there is no library 2013-08-08 10:08:50 +02:00
Bård Skaflestad
7e5b4a27e3 Merge remote-tracking branch 'upstream/master' 2013-08-08 09:41:11 +02:00