message: build: messy workaround to resolve device symbols in libaxom
diff: @@ -45,7 +45,19 @@ blt_add_library(NAME axom
  if(ENABLE_CUDA)
  # Force "early" device linking to avoid propagating an NVCC link dependency
  - set_property(TARGET axom PROPERTY CUDA_RESOLVE_DEVICE_SYMBOLS ON)
  + # CUDA_RESOLVE_DEVICE_SYMBOLS can't be used with object libraries, even indirectly
  + set(_arch_flag "-arch=${AXOM_CUDA_ARCH}")
  + foreach(comp core ${AXOM_COMPONENTS_ENABLED})
  + set(_comp_dlink "${comp}_device_link${CMAKE_CUDA_OUTPUT_EXTENSION}")
  + add_custom_command(
  + OUTPUT ${_comp_dlink}
  + BYPRODUCTS ${_comp_dlink}
  + COMMAND ${CMAKE_CUDA_COMPILER} --device-link ${_arch_flag} $<TARGET_OBJECTS:${comp}> -o ${_comp_dlink}
  + DEPENDS $<TARGET_OBJECTS:${comp}>
  + COMMAND_EXPAND_LISTS
  + )
  + target_sources(axom PRIVATE ${_comp_dlink})
  + endforeach()
  endif()
  install(TARGETS axom
  