CMakeLists.txt 4.48 KB
Newer Older
1 2 3 4 5 6 7 8
##============================================================================
##  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.
##
Kenneth Moreland's avatar
Kenneth Moreland committed
9
##  Copyright 2014 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
10
##  Copyright 2014 UT-Battelle, LLC.
11
##  Copyright 2014 Los Alamos National Security.
12
##
Kenneth Moreland's avatar
Kenneth Moreland committed
13
##  Under the terms of Contract DE-NA0003525 with NTESS,
14 15 16 17 18 19 20 21
##  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
22
  Algorithm.h
Kenneth Moreland's avatar
Kenneth Moreland committed
23
  ArrayCopy.h
24
  ArrayHandle.h
Sujin Philip's avatar
Sujin Philip committed
25
  ArrayHandleCast.h
26
  ArrayHandleCartesianProduct.h
27
  ArrayHandleCompositeVector.h
Kenneth Moreland's avatar
Kenneth Moreland committed
28
  ArrayHandleConstant.h
Kenneth Moreland's avatar
Kenneth Moreland committed
29
  ArrayHandleCounting.h
30
  ArrayHandleExtractComponent.h
31
  ArrayHandleDiscard.h
Kenneth Moreland's avatar
Kenneth Moreland committed
32
  ArrayHandleGroupVec.h
33
  ArrayHandleGroupVecVariable.h
Kenneth Moreland's avatar
Kenneth Moreland committed
34
  ArrayHandleImplicit.h
Kenneth Moreland's avatar
Kenneth Moreland committed
35
  ArrayHandleIndex.h
Kenneth Moreland's avatar
Kenneth Moreland committed
36
  ArrayHandlePermutation.h
37
  ArrayHandleReverse.h
38
  ArrayHandleStreaming.h
39
  ArrayHandleSwizzle.h
Kenneth Moreland's avatar
Kenneth Moreland committed
40
  ArrayHandleTransform.h
41
  ArrayHandleUniformPointCoordinates.h
42
  ArrayHandleVirtualCoordinates.h
Robert Maynard's avatar
Robert Maynard committed
43
  ArrayHandleZip.h
44
  ArrayPortal.h
45
  ArrayPortalToIterators.h
46
  ArrayHandleConcatenate.h
47
  ArrayRangeCompute.h
48
  AssignerMultiBlock.h
49 50
  BoundingIntervalHierarchyNode.h
  BoundingIntervalHierarchy.h
51 52
  BoundsCompute.h
  BoundsGlobalCompute.h
53
  CellLocator.h
54
  CellLocatorHelper.h
Sujin Philip's avatar
Sujin Philip committed
55
  CellLocatorTwoLevelUniformGrid.h
56 57
  CellSet.h
  CellSetExplicit.h
Kenneth Moreland's avatar
Kenneth Moreland committed
58
  CellSetListTag.h
59
  CellSetSingleType.h
60
  CellSetStructured.h
61
  CellSetPermutation.h
62 63
  ColorTable.h
  ColorTableSamples.h
64
  CoordinateSystem.h
65
  DataSet.h
66 67
  DataSetBuilderExplicit.h
  DataSetBuilderRectilinear.h
Kenneth Moreland's avatar
Kenneth Moreland committed
68
  DataSetBuilderUniform.h
69
  DataSetFieldAdd.h
70
  DeviceAdapter.h
71
  DeviceAdapterAlgorithm.h
72
  DeviceAdapterListTag.h
Kenneth Moreland's avatar
Kenneth Moreland committed
73
  DynamicArrayHandle.h
Kenneth Moreland's avatar
Kenneth Moreland committed
74
  DynamicCellSet.h
75
  EnvironmentTracker.h
76
  Error.h
David C. Lonie's avatar
David C. Lonie committed
77
  ErrorBadAllocation.h
Sujin Philip's avatar
Sujin Philip committed
78
  ErrorBadDevice.h
David C. Lonie's avatar
David C. Lonie committed
79 80
  ErrorBadType.h
  ErrorBadValue.h
81
  ErrorFilterExecution.h
82
  ErrorExecution.h
David C. Lonie's avatar
David C. Lonie committed
83
  ErrorInternal.h
84
  ExecutionObjectBase.h
85
  Field.h
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
86 87
  FieldRangeCompute.h
  FieldRangeGlobalCompute.h
88
  ImplicitFunctionHandle.h
dongliangchu's avatar
dongliangchu committed
89
  MultiBlock.h
90
  PointLocator.h
Li-Ta Lo's avatar
Li-Ta Lo committed
91
  PointLocatorUniformGrid.h
92
  RuntimeDeviceInformation.h
93
  RuntimeDeviceTracker.h
94 95 96 97
  Storage.h
  StorageBasic.h
  StorageImplicit.h
  StorageListTag.h
Kenneth Moreland's avatar
Kenneth Moreland committed
98
  Timer.h
99
  TryExecute.h
100
  VirtualObjectHandle.h
101 102
  )

103
set(template_sources
104
  ArrayHandle.hxx
105
  ArrayRangeCompute.hxx
106
  BoundingIntervalHierarchy.hxx
Sujin Philip's avatar
Sujin Philip committed
107
  CellSetExplicit.hxx
108
  CellSetStructured.hxx
109
  CoordinateSystem.hxx
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
110 111
  FieldRangeCompute.hxx
  FieldRangeGlobalCompute.hxx
112
  StorageBasic.hxx
113 114 115 116
  )

set(sources
  ArrayHandle.cxx
117
  AssignerMultiBlock.cxx
118 119
  BoundsCompute.cxx
  BoundsGlobalCompute.cxx
120 121 122
  CellSet.cxx
  CellSetStructured.cxx
  DynamicArrayHandle.cxx
123
  EnvironmentTracker.cxx
124
  Field.cxx
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
125 126
  FieldRangeCompute.cxx
  FieldRangeGlobalCompute.cxx
127
  internal/SimplePolymorphicContainer.cxx
128
  internal/ArrayManagerExecutionShareWithControl.cxx
129
  internal/ArrayHandleBasicImpl.cxx
130
  PresetColorTables.cxx
131
  StorageBasic.cxx
132 133
  )

134 135 136
# 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
137
  ArrayRangeCompute.cxx
138
  CellSetExplicit.cxx
139
  ColorTable.cxx
140 141 142
  CoordinateSystem.cxx
  DataSet.cxx
  MultiBlock.cxx
143
  RuntimeDeviceTracker.cxx
144
  TryExecute.cxx
145 146
  )

147
#-----------------------------------------------------------------------------
148 149 150 151 152 153
vtkm_library( NAME vtkm_cont
              SOURCES ${sources}
              TEMPLATE_SOURCES ${template_sources}
              HEADERS ${headers}
              WRAP_FOR_CUDA ${device_sources}
            )
154
add_subdirectory(internal)
Kenneth Moreland's avatar
Kenneth Moreland committed
155
add_subdirectory(arg)
156
add_subdirectory(diy)
157
add_subdirectory(serial)
158
add_subdirectory(tbb)
159 160 161
add_subdirectory(cuda)

set(backends )
162
if(TARGET vtkm::tbb)
163
  list(APPEND backends vtkm::tbb)
164
endif()
165
if(TARGET vtkm::cuda)
166
  list(APPEND backends vtkm::cuda)
167
endif()
168
target_link_libraries(vtkm_cont PUBLIC vtkm_compiler_flags ${backends})
169
if(TARGET vtkm_diy)
170
  # This will become a required dependency eventually.
171
  target_link_libraries(vtkm_cont PUBLIC vtkm_diy vtkm_taotuple)
172 173
endif()

174
#-----------------------------------------------------------------------------
175
add_subdirectory(testing)