[Dune-devel] [Dune] dune & cmake

Steffen Müthing steffen.muething at iwr.uni-heidelberg.de
Wed Apr 20 15:29:32 CEST 2016


> Am 20.04.2016 um 11:27 schrieb Andreas Dedner <a.s.dedner at warwick.ac.uk>:
> 
> 
> 
> On 20/04/16 10:22, Robert Kloefkorn wrote:
>> Then, miraculously, all would use the same
>> config.h and nobody would ever complain about that.
> 
> But only as long as you don't mix installed and non installed modules I
> guess. That is the real issue isn't it?
> Andreas

As far as I understand, you get problems in general if you introduce inconsistencies
into the configuration states of dependent modules, e.g. you compile your module
with MPI enabled, but one of the modules you depend on was configured without MPI.

The only way I see around that problem is to have each module generate its own "dune-xxx-config.h"
that only contains the test results for the tests that were run in this module itself and that
includes the "dune-yyy-config.h" files from all modules that it depends on. That makes it impossible
to create inconsistent state (and also cuts down on configuration times because you don’t have to
re-run tests that were already taken care off by another module somewhere up the stack).

On the other hand, such an approach ties dependencies closer to the module that introduces them,
even if the related code is header-only. A simple example: Right now, dune-istl itself does not have
to depend on SuiteSparse or SuperLU, but if you install them separately, your own module can still
use those libraries, even within code that is shipped as part of dune-istl (because it’s all just a bunch
of headers).

But switching to that approach might be worth it - it would, however, be a *massive* change…

Steffen

> 
> _______________________________________________
> Dune-devel mailing list
> Dune-devel at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20160420/2e8d6270/attachment.sig>


More information about the Dune-devel mailing list