mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
70f6220fa3
`vtkm::List` is meant to replace `vtkm::ListTag`. Rather than subclassing a base class with a variadic template, all lists expose the list of types. `vtkm::ListTag` was originally created before we required C++11 so supporting variadic templates was problematic. To hide the issue we had, we made list tags subclass other lists rather than be the list themselves. It makes for nicer types in the compiler, but hides important details about what is actually in the type. It also creates lots of unnecessary new types. The new `vtkm::List` is in some ways simpler. All lists have to be a `vtkm::List`. Subclasses are not supported (or rather, they will not work as expected). All manipulations (such as `vtkm::ListAppend`) resolve directly back to a `vtkm::List`. Although the types reported by the compiler will be longer, they will be more specific to the types being used. Also, the new implimentation should ultimately use fewer types.
111 lines
2.7 KiB
CMake
111 lines
2.7 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.
|
|
##============================================================================
|
|
|
|
# Configure version file. (Other configuration in internal/Configure.h)
|
|
vtkm_get_kit_name(kit_name kit_dir)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Version.h.in
|
|
${VTKm_BINARY_INCLUDE_DIR}/${kit_dir}/Version.h
|
|
@ONLY)
|
|
vtkm_install_headers(
|
|
vtkm ${VTKm_BINARY_INCLUDE_DIR}/${kit_dir}/Version.h)
|
|
|
|
set(headers
|
|
Assert.h
|
|
BinaryPredicates.h
|
|
BinaryOperators.h
|
|
Bitset.h
|
|
Bounds.h
|
|
CellClassification.h
|
|
CellShape.h
|
|
CellTraits.h
|
|
Deprecated.h
|
|
Flags.h
|
|
Geometry.h
|
|
Hash.h
|
|
ImplicitFunction.h
|
|
List.h
|
|
ListTag.h
|
|
Math.h
|
|
Matrix.h
|
|
NewtonsMethod.h
|
|
Pair.h
|
|
Range.h
|
|
RangeId.h
|
|
RangeId2.h
|
|
RangeId3.h
|
|
StaticAssert.h
|
|
Swap.h
|
|
TopologyElementTag.h
|
|
Transform3D.h
|
|
TypeListTag.h
|
|
Types.h
|
|
TypeTraits.h
|
|
VecAxisAlignedPointCoordinates.h
|
|
VecFromPortal.h
|
|
VecFromPortalPermute.h
|
|
VecFromVirtPortal.h
|
|
VectorAnalysis.h
|
|
VecTraits.h
|
|
VecVariable.h
|
|
VirtualObjectBase.h
|
|
UnaryPredicates.h
|
|
)
|
|
|
|
set(template_sources
|
|
Geometry.hxx
|
|
)
|
|
|
|
vtkm_pyexpander_generated_file(Math.h)
|
|
|
|
vtkm_declare_headers(
|
|
${headers}
|
|
${template_sources}
|
|
)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#first add all the components vtkm that are shared between control and exec
|
|
add_subdirectory(thirdparty/diy)
|
|
add_subdirectory(thirdparty/lodepng)
|
|
if(VTKm_ENABLE_LOGGING)
|
|
add_subdirectory(thirdparty/loguru)
|
|
endif()
|
|
add_subdirectory(thirdparty/optionparser)
|
|
add_subdirectory(thirdparty/taotuple)
|
|
add_subdirectory(thirdparty/lcl)
|
|
|
|
add_subdirectory(testing)
|
|
add_subdirectory(internal)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#add the control and exec folders
|
|
add_subdirectory(cont)
|
|
add_subdirectory(exec)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#add the worklet folder
|
|
add_subdirectory(worklet)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#add the filter folder
|
|
add_subdirectory(filter)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Build rendering
|
|
add_subdirectory(rendering)
|
|
|
|
add_subdirectory(interop)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#add the io folder
|
|
add_subdirectory(io)
|
|
|
|
#add the source folder
|
|
add_subdirectory(source)
|