Compile IO library with device compilers

Because the IO classes use ArrayHandle, they have to be compiled with
device compilers (even though they do not directly produce any device
code). This is a dumb requirement, but it is a requirement nonetheless.
This commit is contained in:
Kenneth Moreland 2020-05-19 15:04:08 -06:00
parent dce576bd11
commit 05fcda6c76

@ -33,9 +33,16 @@ set(template_sources
) )
set(sources set(sources
BOVDataSetReader.cxx
DecodePNG.cxx DecodePNG.cxx
EncodePNG.cxx EncodePNG.cxx
)
# TODO: None of these codes actually use a device. Rather, they access ArrayHandle, and we
# currently need to ensure that ArrayHandle is correctly compiled for all devices. This is
# kind of silly, so hopefully sometime in the future you will no longer need to compile for
# devices for ArrayHandle, and this requirement will go away.
set(device_sources
BOVDataSetReader.cxx
VTKDataSetReader.cxx VTKDataSetReader.cxx
VTKDataSetReaderBase.cxx VTKDataSetReaderBase.cxx
VTKDataSetWriter.cxx VTKDataSetWriter.cxx
@ -44,7 +51,7 @@ set(sources
VTKStructuredGridReader.cxx VTKStructuredGridReader.cxx
VTKStructuredPointsReader.cxx VTKStructuredPointsReader.cxx
VTKUnstructuredGridReader.cxx VTKUnstructuredGridReader.cxx
) )
vtkm_declare_headers( vtkm_declare_headers(
${headers} ${headers}
@ -54,6 +61,7 @@ vtkm_declare_headers(
vtkm_library( vtkm_library(
NAME vtkm_io NAME vtkm_io
SOURCES ${sources} SOURCES ${sources}
DEVICE_SOURCES ${device_sources}
HEADERS ${headers} HEADERS ${headers}
TEMPLATE_SOURCES ${template_sources} TEMPLATE_SOURCES ${template_sources}
) )