vtk-m/vtkm/cont/CMakeLists.txt

202 lines
5.1 KiB
CMake
Raw Normal View History

##============================================================================
## 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.
##
## Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
## Copyright 2014 UT-Battelle, LLC.
## Copyright 2014 Los Alamos National Security.
##
## Under the terms of Contract DE-NA0003525 with NTESS,
## the U.S. Government retains certain rights in this software.
##
## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
## Laboratory (LANL), the U.S. Government retains certain rights in
## this software.
##============================================================================
set(headers
Algorithm.h
ArrayCopy.h
ArrayHandle.h
2015-09-01 21:42:45 +00:00
ArrayHandleCast.h
ArrayHandleCartesianProduct.h
ArrayHandleCompositeVector.h
2015-05-13 20:24:51 +00:00
ArrayHandleConstant.h
ArrayHandleCounting.h
ArrayHandleExtractComponent.h
ArrayHandleDiscard.h
ArrayHandleGroupVec.h
ArrayHandleGroupVecVariable.h
2015-02-13 06:24:43 +00:00
ArrayHandleImplicit.h
ArrayHandleIndex.h
ArrayHandlePermutation.h
ArrayHandleReverse.h
ArrayHandleStreaming.h
ArrayHandleSwizzle.h
2015-04-13 20:43:18 +00:00
ArrayHandleTransform.h
ArrayHandleUniformPointCoordinates.h
ArrayHandleView.h
2017-12-12 15:15:20 +00:00
ArrayHandleVirtualCoordinates.h
ArrayHandleZip.h
ArrayPortal.h
ArrayPortalToIterators.h
ArrayHandleConcatenate.h
ArrayRangeCompute.h
AssignerMultiBlock.h
AtomicArray.h
BoundingIntervalHierarchyNode.h
BoundingIntervalHierarchy.h
BoundsCompute.h
BoundsGlobalCompute.h
CellLocator.h
CellLocatorHelper.h
CellLocatorTwoLevelUniformGrid.h
CellSet.h
CellSetExplicit.h
CellSetListTag.h
CellSetSingleType.h
CellSetStructured.h
CellSetPermutation.h
ColorTable.h
ColorTableSamples.h
CoordinateSystem.h
DataSet.h
DataSetBuilderExplicit.h
DataSetBuilderRectilinear.h
DataSetBuilderUniform.h
DataSetFieldAdd.h
DeviceAdapter.h
DeviceAdapterAlgorithm.h
DeviceAdapterListTag.h
DynamicArrayHandle.h
DynamicCellSet.h
EnvironmentTracker.h
Error.h
ErrorBadAllocation.h
2017-12-22 15:01:09 +00:00
ErrorBadDevice.h
ErrorBadType.h
ErrorBadValue.h
ErrorFilterExecution.h
ErrorExecution.h
ErrorInternal.h
ExecutionAndControlObjectBase.h
ExecutionObjectBase.h
Field.h
2018-04-05 01:13:44 +00:00
FieldRangeCompute.h
FieldRangeGlobalCompute.h
2017-10-23 13:38:33 +00:00
ImplicitFunctionHandle.h
Initialize.h
Logging.h
2017-05-11 19:20:01 +00:00
MultiBlock.h
PointLocator.h
PointLocatorUniformGrid.h
2015-12-23 19:54:41 +00:00
RuntimeDeviceInformation.h
RuntimeDeviceTracker.h
2018-06-08 15:56:40 +00:00
Serialization.h
Storage.h
StorageBasic.h
StorageImplicit.h
StorageListTag.h
Timer.h
TryExecute.h
2018-06-08 15:56:40 +00:00
TypeString.h
2017-10-23 13:38:33 +00:00
VirtualObjectHandle.h
)
set(template_sources
ArrayHandle.hxx
ArrayRangeCompute.hxx
BoundingIntervalHierarchy.hxx
CellSetExplicit.hxx
CellSetStructured.hxx
ColorTable.hxx
2018-03-09 19:01:22 +00:00
CoordinateSystem.hxx
2018-04-05 01:13:44 +00:00
FieldRangeCompute.hxx
FieldRangeGlobalCompute.hxx
StorageBasic.hxx
)
set(sources
ArrayHandle.cxx
AssignerMultiBlock.cxx
BoundsCompute.cxx
BoundsGlobalCompute.cxx
CellSet.cxx
CellSetStructured.cxx
ColorTable.cxx
ColorTablePresets.cxx
DataSet.cxx
DataSetBuilderExplicit.cxx
DataSetBuilderRectilinear.cxx
DataSetBuilderUniform.cxx
DynamicArrayHandle.cxx
EnvironmentTracker.cxx
ErrorBadDevice.cxx
Field.cxx
2018-04-05 01:13:44 +00:00
FieldRangeCompute.cxx
FieldRangeGlobalCompute.cxx
internal/ArrayHandleBasicImpl.cxx
internal/ArrayManagerExecutionShareWithControl.cxx
2018-08-28 21:14:49 +00:00
internal/DeviceAdapterTag.cxx
internal/SimplePolymorphicContainer.cxx
internal/SimplePolymorphicContainer.cxx
internal/VirtualObjectTransfer.cxx
Initialize.cxx
Logging.cxx
MultiBlock.cxx
RuntimeDeviceInformation.cxx
RuntimeDeviceTracker.cxx
StorageBasic.cxx
TryExecute.cxx
)
# This list of sources has code that uses devices and so might need to be
# compiled with a device-specific compiler (like CUDA).
set(device_sources
ArrayRangeCompute.cxx
2017-08-14 14:19:34 +00:00
CellSetExplicit.cxx
CoordinateSystem.cxx
)
#-----------------------------------------------------------------------------
vtkm_library( NAME vtkm_cont
SOURCES ${sources}
TEMPLATE_SOURCES ${template_sources}
HEADERS ${headers}
WRAP_FOR_CUDA ${device_sources}
)
2018-08-16 20:34:44 +00:00
add_subdirectory(internal)
add_subdirectory(arg)
add_subdirectory(serial)
add_subdirectory(tbb)
add_subdirectory(openmp)
add_subdirectory(cuda)
set(backends )
set (DL_LIBS )
if(TARGET vtkm::tbb)
list(APPEND backends vtkm::tbb)
endif()
if(TARGET vtkm::cuda)
list(APPEND backends vtkm::cuda)
endif()
if(TARGET vtkm::openmp)
list(APPEND backends vtkm::openmp)
endif()
if (VTKm_ENABLE_LOGGING)
list(APPEND DL_LIBS ${CMAKE_DL_LIBS}) # dladdr function
endif()
target_link_libraries(vtkm_cont PUBLIC vtkm_compiler_flags ${backends} ${DL_LIBS})
if(TARGET vtkm_diy)
2017-11-28 21:04:15 +00:00
# This will become a required dependency eventually.
2018-05-10 16:24:02 +00:00
target_link_libraries(vtkm_cont PUBLIC vtkm_diy vtkm_taotuple)
2017-11-28 21:04:15 +00:00
endif()
#-----------------------------------------------------------------------------
add_subdirectory(testing)