[Dune] A couple of CMake questions

Christoph Grüninger christoph.grueninger at iws.uni-stuttgart.de
Thu Jul 2 12:03:31 CEST 2015


Hi Robert,
I answer on the mailing list, as my answers might be of wider interest.


> 1) config.h.cmake sollte beim generieren anders benannt werden, weil es
> einen Konflikt mit in-source builds gibt. Dabei wird das config.h.cmake
> überschrieben. Das sollte man ändern.

Are there people using in-source builds? Ok, then have a look at
feature/config.h.cmake-insource

> 2) Was ist das Äquivalent zu configure --help, also eine Funktion die
> mir sagt, was es alles für Optionen gibt, nämlich alle parameter die mit
> der cmake Funktion optional eingebaut wurden.

There is nothing comparable to configure --help. The closest you can get is:
- use ccmake, it is a gui and shows you all configure options. You can
edit them there and re-run cmake.
- pass -LH to cmake, then it will print all variables after configuration.


> 3) Wenn ich --disable-documentation angebe wird z.B. trotzdem Latex
> angeworfen und einige Sachen generiert. Ich habe die variable USE_LATEX
> optinal gemacht, damit ich das wenigstens abschalten kann ohne die CMake
> files zu ändern.

I think disabling the documentation was never supported with CMake. I
think it is never build unless you call make doc.
Anyway, since yesterday CMake tells me that my LaTeX is broken. I have
to investigate this.
You should open a flyspray task about disabling the documentation.

> 4) Was ist die vorgesehene Verwendung von dunecontrol? --with-blablabla
> oder CMAKE_FLAGS="-Dblablabla" ? Wie baue ich eine neue Option ein?

That depends on who you ask. I always tell people to change their whole
opts file to the CMAKE_FLAGS=-Dblabla style. The other one is a
compatibily offer that will vanish after Dune 2.4.
Have a look at dune-common/lib/dunecommonam2cmake.lib and similar files
in other modules. This is the place where translation can be added.

> 5) Wenn ich DuneEnableAllPackages verwende, dann sollten alle flags für
> alle targets automatisch gesetzt sein, richtig?

Yes. Quoting the documentation:
  Adds all flags and all libraries to all executables that are
  subsequently added in the directory from where this function
  is called and from all its subdirectories (recursively).
Please have a look into the documentation to see how to use it properly.
Did you have any problems with this macro?

Bye
Christoph

-- 
A mathematician is a scientist who can figure out anything, except
such simple things as squaring the circle and trisecting an angle.
[Evan Esar (1899-1995), Esar's Comic Dictionary]

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20150702/00c81989/attachment.sig>


More information about the Dune mailing list