vtk-m/vtkm/worklet/CMakeLists.txt
Kenneth Moreland 4bf8bfb1fa Deprecate KdTree3D worklets
The implementation of the search in the k-d tree is problematic because
it uses unbounded recursion. This is a problem for GPU devices, which
have very short stacks set by how many calls the compiler determines.
This is fixable, but the fix is not trivial.

This class is not used anywhere in VTK-m other than a trivial test.
Thus, I am just deprecating the class. I am also deleting the test, so
the code is not run anymore.
2021-08-02 09:50:41 -06:00

164 lines
3.8 KiB
CMake

##============================================================================
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
##
## This software is distributed WITHOUT ANY WARRANTY; without even
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE. See the above copyright notice for more information.
##============================================================================
set(headers
AverageByKey.h
BoundaryTypes.h
AveragePointNeighborhood.h
CellAverage.h
CellDeepCopy.h
CellMeasure.h
Clip.h
ContourTreeUniform.h
ContourTreeUniformAugmented.h
CoordinateSystemTransform.h
CosmoTools.h
CrossProduct.h
DispatcherMapField.h
DispatcherMapTopology.h
DispatcherCellNeighborhood.h
DispatcherPointNeighborhood.h
DispatcherReduceByKey.h
DotProduct.h
ExternalFaces.h
ExtractGeometry.h
ExtractPoints.h
ExtractStructured.h
FieldEntropy.h
FieldHistogram.h
FieldStatistics.h
Gradient.h
ImageDifference.h
KdTree3D.h # Deprecated
KernelSplatter.h
Keys.h
LagrangianStructures.h
Magnitude.h
Contour.h
Mask.h
MaskIndices.h
MaskNone.h
MaskPoints.h
MaskSelect.h
MeshQuality.h
NDimsEntropy.h
NDimsHistMarginalization.h
NDimsHistogram.h
Normalize.h
OrientCellNormals.h
OrientNormals.h
OrientPointNormals.h
OrientPointAndCellNormals.h
OscillatorSource.h
ParticleAdvection.h
PointAverage.h
PointElevation.h
PointMerge.h
PointTransform.h
Probe.h
RemoveDegenerateCells.h
RemoveUnusedPoints.h
ScalarsToColors.h
ScatterCounting.h
ScatterIdentity.h
ScatterPermutation.h
ScatterUniform.h
SplitSharpEdges.h
StableSortIndices.h
DescriptiveStatistics.h
StreamLineUniformGrid.h
StreamSurface.h
SurfaceNormals.h
Tetrahedralize.h
Threshold.h
ThresholdPoints.h
TriangleWinding.h
Triangulate.h
Tube.h
VertexClustering.h
WarpScalar.h
WarpVector.h
WaveletCompressor.h
WorkletMapField.h
WorkletMapTopology.h
WorkletNeighborhood.h
WorkletCellNeighborhood.h
WorkletPointNeighborhood.h
WorkletReduceByKey.h
ZFPCompressor.h
ZFPDecompress.h
ZFP1DCompressor.h
ZFP1DDecompress.h
ZFP2DCompressor.h
ZFP2DDecompress.h
)
set(header_impls
ScalarsToColors.hxx
Keys.hxx
)
# This is a list of sources that does not have code that runs on devices. It only
# needs a standard system C++ compiler.
set(sources_no_device
)
# This is a list of sources that has code that runs on devices and might need to
# be compiled with a device-specific compiler (like CUDA).
set(sources_device
KeysUnsignedTypes.cxx
KeysSignedTypes.cxx
MaskSelect.cxx
ScatterCounting.cxx
)
#-----------------------------------------------------------------------------
add_subdirectory(internal)
add_subdirectory(cellmetrics)
add_subdirectory(clip)
add_subdirectory(colorconversion)
add_subdirectory(connectivities)
add_subdirectory(contour)
add_subdirectory(contourtree)
add_subdirectory(contourtree_augmented)
add_subdirectory(contourtree_distributed)
add_subdirectory(cosmotools)
add_subdirectory(gradient)
add_subdirectory(histogram)
add_subdirectory(lcs)
add_subdirectory(moments)
add_subdirectory(splatkernels)
add_subdirectory(spatialstructure)
add_subdirectory(tetrahedralize)
add_subdirectory(triangulate)
add_subdirectory(wavelets)
add_subdirectory(particleadvection)
add_subdirectory(zfp)
vtkm_library(
NAME vtkm_worklet
SOURCES ${sources_no_device}
TEMPLATE_SOURCES ${header_impls}
HEADERS ${headers}
DEVICE_SOURCES ${sources_device}
USE_VTKM_JOB_POOL
)
target_link_libraries(vtkm_worklet PUBLIC vtkm_cont)
set_source_files_properties(${sources_device} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
#-----------------------------------------------------------------------------
if (VTKm_ENABLE_TESTING)
add_subdirectory(testing)
endif ()