How are flags generated and passed to compile scripts in dune-py?
Summary
I am investigate a pipeline failure
https://gitlab.dune-project.org/core/dune-common/-/jobs/531775
that shows a strange preprocessor error:
/builds/core/dune-common/build-cmake/dune-env/.cache/dune-py/config.h:44:34: error: expected value in expression
#if defined(HAVE_MPI) && HAVE_MPI
Actually, this would be valid code and it compiles on all compilers I have found. So, why does this happen? The reason seems to be that during the generation of the compile command/flags in dune-py the flag HAVE_MPI=
is set without a value. I am trying the MR !1310 (merged) where mpi flags are not set via ENABLE_MPI=1
but directly as HAVE_MPI=1
. Thus, if no mpi is enabled, no variable is defined. This is not a problem anywhere else. So, the question is where and how this HAVE_MPI
flag is collected and put into a list of compile-flags? And why is it set to an empty value?
Edited by Simon Praetorius