Closed bangerth closed 2 weeks ago
Oh dear, it's cmake/AspectConfig.cmake.in
again...
not quite. :smile:
It seems to work in its last iteration.
I am not convinced that installation and plugins still work the same way. Give us some time to test this branch locally.
OK. Feedback welcome!
I have tried this a bit locally, here are some observations:
aspect
is not installed during make install
(the binaries are). this leads to broken symlinks if plugins are linked against the installed version of ASPECTbin
directory during make install
, even though they are statically linked into the binaries, is this what we want? (this may be behavior controlled by the world builder cmakelists)*.debug.so
and *.release.release.so
. somewhere it is pickung up the release
twice.OK, I think I've got this fixed:
add_library
in contrib/world_builder
, which creates a library and all libraries are automatically installed. I do not know if that can be suppressed. (I am surprised that they are installed in .../bin
, rather than .../lib
, but that happens in contrib/world_builder/CMakeLists.txt
, a file I am not proposing to touch here :-) ).release
part. This results in libXXX.debug.so
and libXXX.release.so
. This seems to all work for me now. Can you give it another try?
This continues my quest to unclutter the cmake scripts. In particular, I'm getting rid of the TARGETS and TARGET variables, which are particularly cumbersome because plenty of cmake commands have TARGET keywords (e.g.,
set_property(TARGET ${TARGET_EXE_DEBUG} PROPERTY OUTPUT_NAME aspect.debug)
).The end result is that we build executables
aspect.debug
and/oraspect.release
(depending onCMAKE_BUILD_TYPE
) and in the end create a symlink from one or the other toaspect
.