vtk-m/vtkm/CMakeLists.txt
Kenneth Moreland ad1e7b5bdb Add module mechanism
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.

The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.

This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
2022-10-26 12:51:05 -06:00

90 lines
2.0 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
Algorithms.h # Deprecated, split into LowerBound.h, UpperBound.h
Assert.h
Atomic.h
BinaryPredicates.h
BinaryOperators.h
Bitset.h
Bounds.h
CellClassification.h
CellShape.h
CellTraits.h
Deprecated.h
ErrorCode.h
Flags.h
Geometry.h
Hash.h
ImplicitFunction.h
List.h
ListTag.h # Deprecated, replaced by List.h
LowerBound.h
Math.h
Matrix.h
NewtonsMethod.h
Pair.h
Particle.h
Range.h
RangeId.h
RangeId2.h
RangeId3.h
StaticAssert.h
Swap.h
TopologyElementTag.h
Transform3D.h
Tuple.h
TypeList.h
TypeListTag.h # Deprecated, replaced by TypeList.h
Types.h
TypeTraits.h
VecAxisAlignedPointCoordinates.h
VecFromPortal.h
VecFromPortalPermute.h
VecFromVirtPortal.h
VectorAnalysis.h
VecFlat.h
VecTraits.h
VecVariable.h
VirtualObjectBase.h
UnaryPredicates.h
UpperBound.h
)
set(template_sources
Geometry.hxx
)
vtkm_pyexpander_generated_file(Math.h)
vtkm_pyexpander_generated_file(Tuple.h)
vtkm_declare_headers(
${headers}
${template_sources}
)
# Declare testing headers to install. (Needs to be special because they are in a different dir.)
set(testing_headers
testing/Testing.h
testing/VecTraitsTests.h
)
vtkm_install_headers(${kit_dir}/testing ${testing_headers})
add_subdirectory(internal)