Cleanup the cmake structure
Summary
Replace individual object libraries by common dimension-dependent library duneuggrid_xd
and one exported target duneuggrid
Details
all source files are either added to duneuggrid_xd
or to duneuggrid
using target_sources
command from cmake. This allows to just define one exported target that can be imported by other dune modules.
Merge request reports
Activity
added 1 commit
- 16dd431f - wrap target_sources in MPI_C_FOUND for parallel sources
The pipeline error in the sequential-mode pipeline seems to be a bug in the uggrid part of dune-grid, as far as I can tell:
The function
DDD_InfoProcList
should only be defined ifModelP
is set and thus, the functionstd::vector<std::pair<int,PartitionType> > partitionTypes () const
should also be only define withModelP
orHAVE_MPI
or something similar.- Resolved by Simon Praetorius
- Resolved by Simon Praetorius
- Resolved by Oliver Sander
Looking good, as far as I can tell. I'd say (the CI failure pending) give the CMake gurus a few day's chance to comment on this, and then merge.
BTW, you could simplify further by removing the options to build only 2d or 3d. I don't think anybody used them ever.
added 1 commit
- bab874ee - cleanup order of sources in target_sources and remove enabled_dimension variable
- Resolved by Oliver Sander
@simon.praetorius , can you check whether core/dune-grid!440 (merged) fixes the CI failure?
- Resolved by Oliver Sander
Look good to me. Two wishes:
- I would remove the underscore in the library, I prefer duneuggrid2d over duneuggrid_2d.
- Both commits should be squashed. If you want, I can do that, but I won't force push your branch without your permission.
added 1 commit
- 53e98110 - replace individual object libraries by common dimension-dependent library...
assigned to @oliver.sander
mentioned in commit 5d72ade7
- Resolved by Simon Praetorius
This seems to have introduced linking errors for me:
build directory: build/clang-sanitizer cmake --build . -- [1/3] Linking CXX shared library lib/libduneuggrid.so FAILED: lib/libduneuggrid.so : && /usr/bin/clang++ -fPIC -std=c++17 -g3 -ggdb -O0 -fno-strict-aliasing -fsanitize=address -fsanitize=undefined -fno-optimize-sibling-calls -fno-omit-frame-pointer -DDEBUG -DDUNE_FMatrix_WITH_CHECKING=1 -Wunused-variable -Winline -Wall -Wextra -Wparentheses -pedantic -Wredundant-decls -Wshadow -Wundef -Wnon-virtual-dtor -Wnon-literal-null-conversion -Wused-but-marked-unused -Wfloat-equal -Wdisabled-macro-expansion -Wcovered-switch-default -Wswitch-enum -Wunreachable-code -Wshorten-64-to-32 -Wno-delete-non-virtual-dtor -Wno-gnu-zero-variadic-macro-arguments -Wno-c++17-extensions -std=c++17 -fPIC -fno-strict-aliasing -ftemplate-backtrace-limit=0 -g -pthread -shared -Wl,-soname,libduneuggrid.so -o lib/libduneuggrid.so dune/uggrid/CMakeFiles/duneuggrid2d.dir/initug.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/domain/std_domain.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/domain/std_parallel.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/algebra.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/cw.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/dlmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/elements.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/enrol.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/er.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/evm.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/gmcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/initgm.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/mgheapmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/mgio.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/refine.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/rm-write2file.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/rm.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/shapes.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/ugio.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/gm/ugm.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/analyser/inv.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/ctrl/cons.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/ctrl/debug.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/ctrl/stat.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/ident/ident.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/if/ifcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/if/ifcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/if/ifcreate.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/if/ifobjsc.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/if/ifuse.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/join/jcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/join/join.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/mgr/attr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/mgr/cplmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/mgr/objmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/mgr/prio.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/mgr/typemgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/prio/pcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/cmdmsg.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/cmds.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/cplmsg.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/ctrl.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/pack.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/supp.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/unpack.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/xfer/xfer.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/ddd/ddd.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/compat.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/debugger.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/gridcons.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/handler.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/identify.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/initddd.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/lb.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/lbrcb.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/memmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/overlap.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/partition.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/pgmcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/priority.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/support.cc.o dune/uggrid/CMakeFiles/duneuggrid2d.dir/parallel/dddif/trans.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/initug.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/domain/std_domain.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/domain/std_parallel.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/algebra.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/cw.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/dlmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/elements.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/enrol.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/er.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/evm.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/gmcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/initgm.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/mgheapmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/mgio.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/refine.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/rm-write2file.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/rm.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/shapes.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/ugio.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/gm/ugm.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/analyser/inv.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/ctrl/cons.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/ctrl/debug.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/ctrl/stat.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/ident/ident.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/if/ifcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/if/ifcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/if/ifcreate.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/if/ifobjsc.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/if/ifuse.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/join/jcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/join/join.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/mgr/attr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/mgr/cplmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/mgr/objmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/mgr/prio.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/mgr/typemgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/prio/pcmds.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/cmdmsg.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/cmds.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/cplmsg.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/ctrl.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/pack.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/supp.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/unpack.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/xfer/xfer.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/ddd/ddd.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/compat.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/debugger.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/gridcons.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/handler.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/identify.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/initddd.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/lb.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/lbrcb.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/memmgr.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/overlap.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/partition.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/pgmcheck.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/priority.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/support.cc.o dune/uggrid/CMakeFiles/duneuggrid3d.dir/parallel/dddif/trans.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/bio.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/debug.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/fifo.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/fileopen.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/heaps.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/initlow.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/misc.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/scan.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/ugenv.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/ugstruct.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/low/ugtimer.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/basic/io.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/basic/lowcomm.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/basic/notify.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/basic/reduct.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/basic/topo.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ddd/dddcontext.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ppif/ppif.cc.o CMakeFiles/duneuggrid.dir/dune/uggrid/parallel/ppif/ppifcontext.cc.o -Wl,-rpath,/usr/lib/x86_64-linux-gnu/openmpi/lib: -pthread /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so && : /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::SetLogFile(_IO_FILE*)': dune-uggrid/dune/uggrid/ugdevices.cc:157: multiple definition of `UG::SetLogFile(_IO_FILE*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:157: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::UserWriteF(char const*, ...)': dune-uggrid/dune/uggrid/ugdevices.cc:264: multiple definition of `UG::UserWriteF(char const*, ...)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:264: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::ExitDevices()': dune-uggrid/dune/uggrid/ugdevices.cc:408: multiple definition of `UG::ExitDevices()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:408: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::InitDevices()': dune-uggrid/dune/uggrid/ugdevices.cc:401: multiple definition of `UG::InitDevices()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:401: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::OpenLogFile(char const*, int)': dune-uggrid/dune/uggrid/ugdevices.cc:94: multiple definition of `UG::OpenLogFile(char const*, int)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:94: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::CloseLogFile()': dune-uggrid/dune/uggrid/ugdevices.cc:128: multiple definition of `UG::CloseLogFile()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:128: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::WriteLogFile(char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:183: multiple definition of `UG::WriteLogFile(char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:183: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::PrintErrorMessage(char, char const*, char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:313: multiple definition of `UG::PrintErrorMessage(char, char const*, char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:313: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::PrintErrorMessageF(char, char const*, char const*, ...)': dune-uggrid/dune/uggrid/ugdevices.cc:366: multiple definition of `UG::PrintErrorMessageF(char, char const*, char const*, ...)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:366: first defined here /usr/bin/ld: dune/uggrid/CMakeFiles/duneuggrid3d.dir/ugdevices.cc.o: in function `UG::UserWrite(char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:221: multiple definition of `UG::UserWrite(char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:221: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::SetLogFile(_IO_FILE*)': dune-uggrid/dune/uggrid/ugdevices.cc:157: multiple definition of `UG::SetLogFile(_IO_FILE*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:157: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::UserWriteF(char const*, ...)': dune-uggrid/dune/uggrid/ugdevices.cc:264: multiple definition of `UG::UserWriteF(char const*, ...)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:264: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::ExitDevices()': dune-uggrid/dune/uggrid/ugdevices.cc:408: multiple definition of `UG::ExitDevices()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:408: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::InitDevices()': dune-uggrid/dune/uggrid/ugdevices.cc:401: multiple definition of `UG::InitDevices()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:401: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::OpenLogFile(char const*, int)': dune-uggrid/dune/uggrid/ugdevices.cc:94: multiple definition of `UG::OpenLogFile(char const*, int)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:94: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::CloseLogFile()': dune-uggrid/dune/uggrid/ugdevices.cc:128: multiple definition of `UG::CloseLogFile()'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:128: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::WriteLogFile(char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:183: multiple definition of `UG::WriteLogFile(char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:183: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::PrintErrorMessage(char, char const*, char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:313: multiple definition of `UG::PrintErrorMessage(char, char const*, char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:313: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::PrintErrorMessageF(char, char const*, char const*, ...)': dune-uggrid/dune/uggrid/ugdevices.cc:366: multiple definition of `UG::PrintErrorMessageF(char, char const*, char const*, ...)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:366: first defined here /usr/bin/ld: CMakeFiles/duneuggrid.dir/dune/uggrid/ugdevices.cc.o: in function `UG::UserWrite(char const*)': dune-uggrid/dune/uggrid/ugdevices.cc:221: multiple definition of `UG::UserWrite(char const*)'; dune/uggrid/CMakeFiles/duneuggrid2d.dir/ugdevices.cc.o:dune-uggrid/dune/uggrid/ugdevices.cc:221: first defined here clang: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. --- Failed to build dune-uggrid --- Terminating dunecontrol due to previous errors!
When reverting this commit, the linking errors go away.
mentioned in merge request !168 (merged)