Closed tpadioleau closed 1 week ago
Looks great
thanks!
Should we internally use ddc_
or DDC::
targets ?
The NAMESPACE DDC::
option is almost then unused, only DDC::PDI_Wrapper
and DDC::DDC
take advantage of it. An alternative could be to use it for an impl namespace and keep an explicit management of the public namespace. For example:
CMakeLists.txt
: install(EXPORT DDCTargets NAMESPACE DDC::Impl:: DESTINATION lib/cmake/DDC)
DDCConfig.cmake
: add_library(DDC::core ALIAS DDC::Impl::ddc_core)
Should we internally use
ddc_
orDDC::
targets ?
The
NAMESPACE DDC::
option is almost then unused, onlyDDC::PDI_Wrapper
andDDC::DDC
take advantage of it. An alternative could be to use it for an impl namespace and keep an explicit management of the public namespace. For example:
- in the
CMakeLists.txt
:install(EXPORT DDCTargets NAMESPACE DDC::Impl:: DESTINATION lib/cmake/DDC)
- in the
DDCConfig.cmake
:add_library(DDC::core ALIAS DDC::Impl::ddc_core)
1. On my side, I use the following policy:
ddc_*
) when creating themDDC::*
) when using themso you'd have for example:
target_link_libraries(ddc_fft INTERFACE DDC::core Kokkos::kokkos KokkosFFT::fft)
ddc_fft
, but DDC::core
DDC::Impl::ddc_*
instead of DDC::ddc_*
sounds like a good idea indeed, maybe makes it clearer that this is a private identifier.
Current public targets:
DDC::core
contains the core part of DDCDDC::pdi
andDDC::PDI_Wrapper
(deprecated) contain the PDI extensionDDC::fft
contains the FFT extensionDDC::splines
contains the Splines extensionDDC::DDC
contains all