diff --git a/cmake/AspectConfig.cmake.in b/cmake/AspectConfig.cmake.in index 9100a18f8db..ec75b72a832 100644 --- a/cmake/AspectConfig.cmake.in +++ b/cmake/AspectConfig.cmake.in @@ -54,11 +54,23 @@ macro(ASPECT_SETUP_PLUGIN _target) if(${ASPECT_BUILD_RELEASE} MATCHES "ON") message(STATUS " setting up RELEASE variant") - add_library(${_target}.release SHARED $) - deal_ii_setup_target(${_target}.release RELEASE) - set_target_properties(${_target}.release PROPERTIES SUFFIX ".so") - list(APPEND _target_libs ${_target}.release) + # If we also build a debug build we need to set up a + # new target. If we do not also build in debug mode + # reuse the target name the user already set. In + # both cases make sure the library ends in .release.so + if(${ASPECT_BUILD_DEBUG} MATCHES "ON") + set(_release_target_name ${_target}.release) + add_library(${_release_target_name} SHARED $) + deal_ii_setup_target(${_release_target_name} RELEASE) + set_target_properties(${_release_target_name} PROPERTIES SUFFIX ".so") + else() + set(_release_target_name ${_target}) + deal_ii_setup_target(${_release_target_name} RELEASE) + set_target_properties(${_release_target_name} PROPERTIES SUFFIX ".release.so") + endif() + + list(APPEND _target_libs ${_release_target_name}) endif() foreach(_T ${_target_libs}) @@ -84,4 +96,16 @@ macro(ASPECT_SETUP_PLUGIN _target) TARGET ${_target} POST_BUILD COMMAND ln -sf ${Aspect_DIR}/aspect .) + if(${ASPECT_BUILD_DEBUG} MATCHES "ON") + add_custom_command( + TARGET ${_target} POST_BUILD + COMMAND ln -sf ${Aspect_DIR}/aspect-debug .) + endif() + + if(${ASPECT_BUILD_RELEASE} MATCHES "ON") + add_custom_command( + TARGET ${_target} POST_BUILD + COMMAND ln -sf ${Aspect_DIR}/aspect-release .) + endif() + endmacro()